Megan Simulator (XKCD)

Stick-figure model
1.5K Downloads
Updated 16 Jun 2015

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 (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!

Cite As

Alfonso Nieto-Castanon (2024). Megan Simulator (XKCD) (https://www.mathworks.com/matlabcentral/fileexchange/51139-megan-simulator-xkcd), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2008b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Animation in Help Center and MATLAB Answers
Acknowledgements

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!
Version Published Release Notes
1.8.0.0

. speed-up the display (~30fps real-time display on my laptop)
. improved hair physics

1.7.0.0

added wind effects

1.6.0.0

physics model: added hair movement and angular momentum conservation (e.g. extend your arms to reduce spin velocity)
GUI: added explanations of all user-definable parameters in Settings

1.5.0.0

fixed camera-tracking issue

1.4.0.0

simplified drawMegan calling syntax
.

1.3.0.0

added angular control and angular momentum rules (spinning!)

1.2.0.0

no changes: just updating the file description info

1.1.0.0

added click-and-drag functionality on pose trajectory display

1.0.0.0