File Exchange

image thumbnail

User-controlled 3D Airplane Animation -- Set of examples

version (3.06 MB) by Matthew Sheen
3D animation examples which lead up to a user-controlled airplane "game".


Updated 23 Jun 2016

GitHub view license on GitHub

DEMO Video:

This series of examples walks you through the steps to create a 3D plane animation controlled with the keyboard.
For the final result, see: "4 Getting fancy> 3 All together > FinalEx.m"

Folders with various examples. Skip right to 4 if you just want the final code!

1. Figure, axis, and plot objects & changing their properties

2. 3D patch objects - single patches, compound patches, rotating patches, translating patches, adding keyboard controls to patches

3. Camera control - changing camera position, target, orientation, and view angle. Following an airplane 1st person, 3rd person?

4. Stuff to improve viewing:
- Importing 3d models as patch objects - cessna, A10
- Adding ground with texture and lighting
- Adding the horizon
- Final example incorporating 1,2,3,4

*** Credit to Eric Johnson for his great STLREAD function on the file exchange:

Originally created for use in Andy Ruina's flight dynamics course @ Cornell University.

**** NOTE: I use the "fig.Properties = 'something'" way of changing things. This works on MATLAB 2014b+. If you are using an older version, you will need to use something like set(fig,'Properties','something') To my knowledge, all other parts are compatible with previous versions.

Cite As

Matthew Sheen (2020). User-controlled 3D Airplane Animation -- Set of examples (, GitHub. Retrieved .

Comments and Ratings (11)

ahmed masry

J Chen

The examples require the angle2dcm function in the aerospace toolbox to calculate the rotation matrix. The angle2dcm function is for frame transformation, not for rotation transformation. Therefore, the object rotates in the opposite direction to the specified direction. I put the correct rotation function at (you can rename the function to angle2dcm and run the examples if you don't have the aerospace toolbox)

hawbir qadr


Kelvin Ma

Using this for visualization of vehicle dynamics simulations. Works great, many thanks!


edits to description

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

Inspired by: STL File Reader

1 figure objects

2 Patches in 3d

3 Cameras

4 Getting fancy/1 Fancy planes

4 Getting fancy/2 Fancy environment

4 Getting fancy/3 All together