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

3D animation examples which lead up to a user-controlled airplane "game".
Updated 23 Jun 2016

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 (2024). User-controlled 3D Airplane Animation -- Set of examples (, GitHub. Retrieved .

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

Inspired by: STL File Reader

Community Treasure Hunt

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

Start Hunting!

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

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes

edits to description

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.