File Exchange

image thumbnail

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

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

19 Downloads

Updated 23 Jun 2016

From GitHub

View license on GitHub

DEMO Video: https://www.youtube.com/watch?v=xHjyinJnIF8


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: https://www.mathworks.com/matlabcentral/fileexchange/22409-stl-file-reader

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 (2021). User-controlled 3D Airplane Animation -- Set of examples (https://github.com/mws262/MatlabPlaneGraphics), GitHub. Retrieved .

Comments and Ratings (12)

Javier Sainz

Thanks for the code it's great. But i have a question ¿how can i change the center of rotation of a 3d object imported by stl?. Thanks.

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 https://github.com/fuxicon/Animate-Graphics-Object-in-Matlab (you can rename the function to angle2dcm and run the examples if you don't have the aerospace toolbox)

N/A

Shayan Moradkhani

D

Tuong Minh Quoc

Kelvin Ma

Miguel Gilabert

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

Miguel Gilabert

Helmi Ab Majid

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

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