GEAR3D

Version 1.0.0.1 (3.97 KB) by Jiro Doke
GUI example of 3D gear. Use mouse to roll the gear.
5.4K Downloads
Updated 1 Sep 2016

View License

***This has no practical use. I made it as my own exercise for 3d animation. You have been warned.***
GEAR3D GUI example of 3D gear.

GEAR3D will pop up a GUI example of 3D gear. The gear rolls on a geared ground based on the mouse location. It uses the x-location of the mouse pointer for the gear location. Use the arrow keys to change the view. Press SPACEBAR to reset the view. This was inspired by Mike Agostini's 3D Clock submission in FEX:

https://www.mathworks.com/matlabcentral/fileexchange/9671

The gear is made of 2 surface objects, and the ground is a single surface object. Since the moving part (gear) only contains 2 objects, the animation update is quite smooth. It uses OpenGL rendering.

GEAR3D accepts 3 optional arguments that specify the number of teeth on the gear, number of spokes, and the gear ratio between the ground and the gear.

Example:
GEAR3D('teeth', 30) - default is 50.
GEAR3D('spokes', 4) - default is 8.
GEAR3D('ratio', 2) - default is 3. This also determines how big the ground radius is.

Only positive integers are allowed.

This was created in R13SP1, so nested function is not utilized. Nested function will improve how surface data are passed between functions.

Cite As

Jiro Doke (2024). GEAR3D (https://www.mathworks.com/matlabcentral/fileexchange/9890-gear3d), MATLAB Central File Exchange. Retrieved .

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

Inspired by: 3d Clock with geartrain

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.0.1

Updated license

1.0.0.0

Changed code to pass parameters instead of using handles structure (for speed). Also inlined the stripped down version of the ROTATE function to speed up animation.