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