通过旋转父矩阵

时间:2018-10-17 15:01:21

标签: matrix vector 3d

我一直想解决几天的怪异问题,我想知道是否有人可以帮助我。

我有以下几条信息:

  1. 标准PSR(位置,比例和旋转)矩阵
  2. 3D空间中定义射线起点的原点
  3. 相对于#2的3D空间中的法线矢量,它定义了射线方向
  4. 3D空间中的目标点

射线原点和法线可以位于3D空间中的任何位置,但是它们必须以#1中描述的矩阵作为父项(矩阵本身可以在3D空间中具有任何初始旋转和/或位置)。

我需要做的是计算父矩阵的旋转,以确保射线原点和射线方向对齐,以确保射线与目标点相交,最好使用向上矢量如果有不止一种可能的解决方案,则对齐。

有什么简单的方法可以计算出来吗?

编辑:

有些图片正好显示了我正在尝试做的事情。抱歉造成混乱!

在此图片中,橙色立方体表示父矩阵(不旋转),黄色球体表示射线源,蓝色箭头表示射线方向。还有一个向上矢量和目标点。

example_1

我需要旋转将射线源和方向作为父对象的矩阵,以便使射线直接指向目标对象,并使射线源落在由父矩阵位置,目标点和上矢量定义的2D平面上

example_2

这是第三个示例,显示射线方向现在如何直接指向目标点。

example_3

最后,这是另一张图片,粗略显示了整个对象如何与上矢量对齐。

example_4

这里的主要问题是没有什么是常数-父矩阵偏移(读取:位置)可能会更改,或者射线的原点和方向可能会更改。目标点也将移动,向上向量也将移动。这意味着我需要弄清楚当对象在3D空间中移动时如何重新对齐所有内容。

0 个答案:

没有答案