TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

3D Rotation Design

147 pointsby fisian7 months ago

12 comments

esperent7 months ago
Interesting but lacking some information. First up, of course, most people are familiar with rotating the <i>camera</i> rather than a single object. This is how most 3d viewers work, even if the orbit point is locked to the center of an object (e.g. in a 3d product display). So it&#x27;s important to specific which we&#x27;re talking about in an introductory article on 3d rotation methods.<p>But, ok. We&#x27;re talking about schemes to rotate a single object rather than the camera.<p>The turntable controls they talk about are a special case of gimbal controls where we lock rotation to one or two axes. But in my personal experience, when it&#x27;s two or three axes people still call it gimbal controls whereas turntable controls is rotation in a single axis (as if on a turntable, hence the name). But then again, 3d terminology is so mixed up across different fields that maybe some people have only heard the two axes version called a turntable. Not a big deal, but why no mention at all of gimbal controls?<p>Then, trackballs. In my experience, when it&#x27;s limited to a single hemisphere of rotation, these are called arcball controls. Trackballs are supposed to emulate a trackball mouse which don&#x27;t have this limitation.<p>And finally, no mention at all of the dreaded gimbal lock (where two of axes end up overlaid on each other and the controls loses a degree of freedom), which is a major reason for choosing one type over another.<p>Overall, not an amazing article. I checked it again to see if I missed anything and realized it&#x27;s a blog post for some app - so, basically an ad - which probably explains the lack of effort.
评论 #42063058 未加载
评论 #42068888 未加载
评论 #42072610 未加载
评论 #42064493 未加载
dllu7 months ago
&gt; There&#x27;s another, more subtle critique of this system: it lacks path independence. This means that if you start and end a drag with your mouse at a particular location, the rotation will depend on the path that your mouse took.<p>Actually, when I accidentally tumble models with that kind of UI, I just drag it in a circle until it&#x27;s right side up.
评论 #42066810 未加载
评论 #42073957 未加载
评论 #42069957 未加载
moffkalast7 months ago
I never understood why most CAD software prefers the tumbler style rotation, it&#x27;s so completely horrid to use.<p>I guess lots of people (somehow) got used to it without knowing there&#x27;s an alternative?
评论 #42063324 未加载
评论 #42069036 未加载
评论 #42073038 未加载
评论 #42069974 未加载
评论 #42073945 未加载
评论 #42062348 未加载
评论 #42073665 未加载
sgnelson7 months ago
FYI, from 2017.<p>Also, Matt Keeter has some serious skills.<p>I always thought his Antimony CAD program[1] was neat, and sad that it seems to have died. I&#x27;ve yet to figure out how to get it to run on newer versions of linux (The last time I tried was about 3 years ago, and I was just using a raspberry pi.)<p>[1] <a href="https:&#x2F;&#x2F;www.mattkeeter.com&#x2F;projects&#x2F;antimony&#x2F;3&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.mattkeeter.com&#x2F;projects&#x2F;antimony&#x2F;3&#x2F;</a>
评论 #42073573 未加载
bvrmn7 months ago
&gt; it&#x27;s impossible to see the model from arbitrary angles<p>I don&#x27;t understand this part. I could easily see all 6 faces with turntable. Does it really matters to be able to make arbitrary rotations?
gwking7 months ago
The trackball implementation appears to have a numerical bug in it. Occasionally (on mac safari at least) the rendering will be blank white. If you happen to let go of the mouse during that frame, then it gets permanently stuck and requires a page refresh. Seems like it might be a divide by zero due to a small cursor delta or something along those lines.
xg157 months ago
I wonder if better rotation modes would be possible with multitouch inputs, I.e. using two &quot;touch points&quot; instead of one. Then you could span a plane between the two points and the origin and use this to better derive the user&#x27;s intention which axes should be rotated.
评论 #42067190 未加载
scotty796 months ago
Turntable does pitch on x and yaw on y.<p>I wonder if you could achieve something like the last &quot;spherical&quot; solution if you did on y a combination of yaw and roll dependant on how far is your cursor from the x-center of the rotation.
xeonmc7 months ago
For freely rotated objects, trackball rotation is only ever appropriate for touch screens, mice should use tumbler instead so that you don&#x27;t have to pay attention to the absolute position of the cursor.
评论 #42068975 未加载
stogot7 months ago
I used to spend hours reading source code for 3D designs such as this. And sometimes having to reverse it. I like these systems a lot
W0lf7 months ago
Isn’t arcball rotation the gold standard for rotating 3d objects?
评论 #42071075 未加载
phkahler7 months ago
I once implemented tumbler, but always used the starting position and current position to determine the rotation. This make it behave the same way when the mouse follows a straight path, but also makes it path independent.