Crimson is a 3D object viewer program I created for the Grade 12 final project.
This program was written in Processing, a JVM programming environment that makes GUI programming easy.
This was a part of a larger project that I undertook with my friend. While I developed the software side of displaying 3D objects, my friend Ryan created a hardware side of scanning real-life objects with a scanner he created in his engineering class. This is why there is a scan button. When connected to the Arduino scanner through a USB, this program sends instructions to the scanner to start scanning and receives information about the scanned object through it.
The objects are displayed simply by drawing the individual faces of the object.
The viewer is lightweight enough to handle complex shapes with great detail, containing tens of thousands of faces.
The user can rotate the object by adjusting its yaw, pitch, and roll, as demonstrated below. The 3D compass allows the user to know the orientation of the 3D object.
The full source code is available on GitHub.