For quite a while, I’ve had this GIF displayed in various locations, such as my GitHub account, the gallery on this site, and elsewhere.

The origin of that graphic is actually sort of interesting. At my last job, we were putting together some slides to teach a “Dynamics 101” lecture as part of a strategic learning course. We had identified that 3D kinematics and Euler angle sequences were an important subject for this course, but for our audience, we didn’t think the message would quite land when trying to convey them using a diagram that looked like this:

Now, in my opinion, that is a very good diagram, but it is just that, a diagram. Its flat, and it doesn’t move; good for a textbook, but not ideal for a conversation about motion in 3D. So, I made the initial version of ER3D specifically to create the moving GIF above, specifically to add to our slide deck, but also to learn a bit about SceneKit and practice writing code in SwiftUI. This actually slightly precedes my creation of the native iOS version of Mobile Multibody Dynamics, which uses the same.
Interestingly, that one GIF has actually drawn quite a bit of interest amongst prospective clients and visitors to my GitHub profile, and I kind of like it as a highlight of my combined mechanical and software engineering skillset. As I recently completed the CS193p series of video lectures, and improved on my abilities in SwiftUI, I thought it was a good time to revisit and improve on the ER3D app. On the code side, I cleaned up quite a bit and implemented an MVVM architecture pattern. Graphically, I added the space scene, with the planet Earth, starry background, and custom camera and lighting. Finally, I’ve started adding more text content to describe whats in the scene, aiming to eventually mirror a lot of the content on rotational formalisms from Wikipedia (one of my go-to references). This all comes together to look like the video below.
I haven’t yet uploaded an ER3D build that you can download and run yourself, however, if you are interested, you can visit the ER3D GitHub page, download, and build yourself. And contribute! Also, I’ve started a product page here on dc-engineer.com. I’ve got a bit of work to do polishing it up before release, and hope to also develop it so ER3D can run on VisionOS for the few brave early adopters of the Apple Vision Pro. Keep your eyes on this page as I plan to put a release together soon, and let me know if there are any features you would like to see!

Pingback: Finally on the App Store | ER3D! – DC Engineer