File Exchange

image thumbnail

Megan Simulator (XKCD)

version (4.95 MB) by Alfonso Nieto-Castanon
Stick-figure model


Updated 16 Jun 2015

View Version History

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

This is a simple/fun stick-figure model of Megan (XKCD character).

A user-friendly GUI allows users to generate model movements, visualize the results in real-time, as well as create snapshots and videos. A variety of predefined (and somewhat silly) environments will have Megan dancing, jumping, painting, skating, and more (see accompanying video for an example).

Model highligts:
Pose can be controlled using PCA-based "natural" pose/articulatory dimensions
Model includes automatically-maintained state parameters and dynamic physics-based rules
Simple physics-based rules allow walking/jumping: while on the floor changes in pose will make Megan pivot over her standing foot -or other extremity- with perfect equilibrium; inertia/gravity modeling allows jumps, hair movement, wind effects, etc.

GUI highlights:
Define random trajectories in pose space and load/save trajectories from a mat file
Change movement speed/extent or manually browse through the pose trajectories at the desired pace
Choose among 5 pre-defined environments (none / little planet / pool skating / painting / wave riding) with more to come.
Fine-tune physics rules and environment look with a great variety of user-definable settings
Create snapshots or videos of your results

Visit this Trendy plot ( for a one-painting-a-day display of Megan's artwork
Stay tuned for Cody challenges associated with this model, and have fun!

Cite As

Alfonso Nieto-Castanon (2021). Megan Simulator (XKCD) (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (12)

Tom Bryan

Very cool!

Ankeet Patel

Joel Berg


Yu Ang Tan

Stefan Karlsson

Well done! Really well done!!

Ander Biguri

This exists. And its amazing. AMAZING

Stephen Cobeldick


Claudio Gelmi

Really impressive, Alfonso!

LY Cao

Luke Gahan


MATLAB Release Compatibility
Created with R2008b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired: Intuitive RGB color values from XKCD

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!