Arcball轨迹球
Posted Reise
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arcball轨迹球相关的知识,希望对你有一定的参考价值。
Arcball屏幕后面的虚拟轨迹球。Arcball的作用是输入屏幕上的点击或拖动,输出轨迹球的旋转量(旋转矩阵或四元数),用来控制摄像机等物体的旋转。
https://en.wikibooks.org/wiki/OpenGL_Programming/Modern_OpenGL_Tutorial_Arcball
- Convert the screen coordinates (in pixels) to camera coordinates (in [-1, 1])
- Compute the vectors OP1 and OP2, the points at the surface of the ball that match our mouse click
- x and y coordinates are directly taken from the click in camera coordinates
- z coordinate is computed using the classical Pythagorean theorem
- If P1 or P2 is too far away from the sphere (
), we normalize it to get the nearest point on the surface of the ball
- We have {\\displaystyle \\scriptstyle \\mathbf
, and the ball\'s size is 1 (
), so we get the angle using
.
- Get the rotation axis in 3D, we compute
, which will give a unit perpendicular vector
以上是关于Arcball轨迹球的主要内容,如果未能解决你的问题,请参考以下文章