Origami theory seems far beyond its application. Is there any efficient way to construct these intricate patterns? Maybe something like a 3d printer for origami?
The 3d free-rotation for this view camera is a traditionally awkward way (in my opinion) for rotating. I've used different 3d modeling applications, few that do it this way, but I never liked it. I think the early Photoshop 3d viewport used this, but now does something else. Lightwave modeler always had one of the best free-rotation cameras.
Off-hand, I don't remember what that rotation equation is to be most effective.
For viewing objects I find a turntable style view best in most circumstances. For landscape or architecture (where you're in the scene), mouselook with WASD + vertical up/down.
Neither of these control styles are 6dof; they don't provide a roll control, only elevation, azimuth and position. Roll is rarely useful IMHO and including it in the normal control scheme makes things hard to use. Put roll behind an explicit modifier key, and have a reset-roll action somewhere.
Yes, the problem with this method is that the final orientation depends on the path you cursor takes, i.e. dragging up 100px and left 100px is different than dragging left 100px and up 100px...
Of course, that's just the way 3D rotations work: SO(3) [1] is non-Abelian. However, doing this with an input device that has one too few degrees of freedom makes it very awkward to use.
When you have a well-defined "ground" plane in your scene, then turntable-style rotation is the most intuitive, where horizontal dragging rotates around the ground plane's normal, while vertical dragging changes the azimuth angle. This makes the final orientation independent of the cursor's path, on the other hand, orientations where the ground plane would be skewed are unreachable.
Some people swear on Ken Shoemake's ARCBALL [2] technique, but I personally found it less intuitive than the turntable method (although I might have implemented it incorrectly ¯\_(ツ)_/¯).
25 comments
[ 4.0 ms ] story [ 62.9 ms ] threadhttps://www.eecs.mit.edu/news-events/announcements/computati...
Off-hand, I don't remember what that rotation equation is to be most effective.
A mouse is in general a horrible input device for inputting arbitrary 3d rotations, because it doesn’t have enough degrees of freedom.
By far the best tool is a 3-DOF trackball set up so that arbitrary rotations of the ball are directly converted into rotations in the computer.
Next best is some other physical device with gyro/accelerometer so that (slightly less accurate but still) direct manipulation can be input.
Next best after that is something with multitouch or perhaps one of those 6 DOF “space mouse” devices.
Neither of these control styles are 6dof; they don't provide a roll control, only elevation, azimuth and position. Roll is rarely useful IMHO and including it in the normal control scheme makes things hard to use. Put roll behind an explicit modifier key, and have a reset-roll action somewhere.
Of course, that's just the way 3D rotations work: SO(3) [1] is non-Abelian. However, doing this with an input device that has one too few degrees of freedom makes it very awkward to use.
When you have a well-defined "ground" plane in your scene, then turntable-style rotation is the most intuitive, where horizontal dragging rotates around the ground plane's normal, while vertical dragging changes the azimuth angle. This makes the final orientation independent of the cursor's path, on the other hand, orientations where the ground plane would be skewed are unreachable.
Some people swear on Ken Shoemake's ARCBALL [2] technique, but I personally found it less intuitive than the turntable method (although I might have implemented it incorrectly ¯\_(ツ)_/¯).
[1] https://en.wikipedia.org/wiki/3D_rotation_group
[2] https://tommyhinks.files.wordpress.com/2012/02/shoemake92_ar...
With non-turntable rotation you always end up having to make little circles with your mouse to rotate the view horizontal again.
[0] https://sourceforge.net/projects/origamieditor3d/
[1] https://github.com/bagyoni/origamieditor3d
- the code became unmaintainable
- apparently no one was using it for making origami (unintuitive UI?)
- I found more interesting things to do (including my day job)
It was a fun project but I don't want to return to it.
I use it since 2015 & its UI is intuitive for me![0]
Here is paper plane I built in Origami Editor 3D on March 4th 2017, just next day after v1.3.4 was released![1]
Here is Twitter-thread covering Origami Editor 3D usage, posted by 'Piku' on May-June 2020.[2]
[0] https://github.com/bagyoni/origamieditor3d/issues/1
[1] https://twitter.com/app4soft/status/1320626850629095424
[2] https://twitter.com/pikuotaku/status/1264568087048679424
had to go old skool physical media to understand what's going on
https://youtu.be/nz1TMFyhqMs
http://icfpc2016.blogspot.com/
https://www.slideshare.net/nya3jp/icfp-programming-contest-2...
[1] https://news.ycombinator.com/item?id=16374575