我正试图从一个坐标空间转换到另一个坐标空间。我有两组对象表示空间中的点。另外,我总共有6个对象,我正在寻找它们之间的转换矩阵,并使用以下代码将此转换应用于第7个对象:
TestObject.transform.position = TransformationMatrix.MultiplyPoint(InitPosition);
TestObject.transform.rotation = Quaternion.LookRotation(TransformationMatrix.GetColumn(1),
TransformationMatrix.GetColumn(2))* InitQT;
Debug.Log("Test object is at" + TestObject.transform.position+"
local position"+TestObject.transform.localPosition+" Calculation is "
+ TransformationMatrix.MultiplyPoint(InitPosition));
Test object is at(12.5, 2.5, 0.0) local position(12.5, 2.5, 0.0) Calculation is (12.5, 2.5, 0.0)
但是在督察室我得到了结果
(12.5,2.5,-4.47034)
-4.47034
.
我用这个场景来测试我的转变。通常情况下,我必须将此转换应用于激光扫描仪到单位坐标系,即使这不会影响任何东西,并且对象处于正确的位置,但当我要将此转换应用于单位和激光扫描仪坐标系转换时,恐怕这可能会导致问题。因为它不像在测试场景中那样工作。是不是我在使用
MultiplyPoint
? 这是我的检查器视图:我正在从蓝色坐标空间转换为红色。提前感谢您的帮助!