首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用方向矢量的三维旋转

利用方向矢量的三维旋转
EN

Stack Overflow用户
提问于 2014-12-08 05:17:21
回答 1查看 1.9K关注 0票数 1

我有一个物体在3D空间中运动(原点在中心)。我正在计算方向向量,因为它移动,并使用它应用旋转之前,任何转换对象在原点。

代码语言:javascript
复制
      direction vector (position, previousPos): positionX-previousPosX/mag etc

      transformation

      rX = acos(direction_vector_x); etc
      rY = acos(direction_vector_y);
      rZ = acos(direction_vector_z);

      rotate(rZ, rX,rY) // axis rotation 

      draw object

物体最初处于位置,但随后随机出现对角线和错误的方向。在那之后,旋转是平滑的,但有时倒或倒?有人能告诉我怎么算这个吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-08 07:44:05

你用单个矢量创建三维坐标系是不够的.

  • 您至少需要一个与方向不平行的向量,如Up或North
  • 然后利用交叉乘积生成两个相互垂直的向量和方向向量。
  • 从那你有三个轴,起源也应该知道.
  • 所以构造变换矩阵,用它代替欧拉角。
  • 请参阅transform matrix anatomy
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27351824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档