Megan Simulator (XKCD)
Updated 16 Jun 2015
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).
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.
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 (http://www.mathworks.com/matlabcentral/trendy/plots/1547) for a one-painting-a-day display of Megan's artwork
Stay tuned for Cody challenges associated with this model, and have fun!
Alfonso Nieto-Castanon (2023). Megan Simulator (XKCD) (https://www.mathworks.com/matlabcentral/fileexchange/51139-megan-simulator-xkcd), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
- MATLAB > Graphics > 2-D and 3-D Plots > Animation >
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!
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
. speed-up the display (~30fps real-time display on my laptop)
added wind effects
physics model: added hair movement and angular momentum conservation (e.g. extend your arms to reduce spin velocity)
fixed camera-tracking issue
simplified drawMegan calling syntax
added angular control and angular momentum rules (spinning!)
no changes: just updating the file description info
added click-and-drag functionality on pose trajectory display