首页 > 其他 > 详细

Arcball轨迹球

时间:2017-06-21 00:13:34      阅读:422      评论:0      收藏:0      [点我收藏+]

技术分享

Arcball屏幕后面的虚拟轨迹球。Arcball的作用是输入屏幕上的点击或拖动,输出轨迹球的旋转量(旋转矩阵或四元数),用来控制摄像机等物体的旋转。

 https://en.wikibooks.org/wiki/OpenGL_Programming/Modern_OpenGL_Tutorial_Arcball

  1. Convert the screen coordinates (in pixels) to camera coordinates (in [-1, 1])
  2. 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
  3. We have {\displaystyle \scriptstyle \mathbf技术分享, and the ball‘s size is 1 (技术分享), so we get the angle using 技术分享.
  4. Get the rotation axis in 3D, we compute 技术分享, which will give a unit perpendicular vector

Arcball轨迹球

原文:http://www.cnblogs.com/codingdiary/p/7056929.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!