We built a 3D visualization engine to represent linear transformations in ℝ³ as compositions of simpler transformations.
In this example, A = QR
Image shows deformation followed by rigid motion.
Can generate additional decompositions for specific numerical examples if useful.
9 Likes
Hi and welcome!
This looks very nice.
Could you share the code?
Best
2 Likes
Dear Olivier,
Thanks for noticing our work!
The code that generates these visuals is written entirely in Swift. It is also not well polished, as it was created for a personal project a few years ago by one of us (Eteri) as she was learning programming and 3D graphics.
The engine “lives” in our old iOS app, Matrix Solver Step-by-step, and will be incorporated into our newer iOS and macOS app, Linear Algebra World. We also use this engine, together with others, to illustrate Wikipedia articles.
We are happy to share the code and can gladly explain verbally how the drawing logic is written. If you do end up adapting it or using the visuals in your own projects, we just ask for a simple attribution to our names or our app.
We’d also be interested to hear about your work and interests, if you are open to sharing!
One thought: what do you think about making a joint GitHub project out of this?
We could set it up with a simple open-source license to handle basic attribution, making it easy to collaborate and use.
Best, Eteri Byazrova and Yuri Morozov
Nice, but why is this posted in the Julia Discourse if it is implemented in Swift? Should this thead be moved to off-topic?
Notice that similiar visualization should be easy to build with less than 20 lines of Meshes.jl code. Create a Box and apply the Affine transform with diffferent matrices before calling viz in various Makie.jl subplots.
4 Likes
Note taken
Apologies for not knowing platform scope
Tried to move to off topic
AI says I do not have the privileges
Thanks for the friendly welcome and for clarifying the forum scope.
I work in Swift, and my intent here was to share the mathematical side of the work.
I’ll be fully aware of the forum guidelines from now on and will post as off topic