在three.js中从坐标空间转换到另一个坐标空间

问题描述

我有 3d 对象并使用 Z+ 向上渲染。我想为这些对象(我在 json 文件中有)绘制边界框,但它们来自空间,Y+ 向上。

当我从 json 绘制带有质心、轴长度和旋转的框时,旋转似乎与建议的值不一致。对于来自 json 的边界框,旋转在 Y 轴上,矩阵如下所示:

"normalizedAxes": [-0.8571976356579359,-0.5149875856974073,1,0.5149875856974073,-0.8571976356579359]

但在我的场景中,我希望旋转在 Z 轴上。

我可以按如下方式交换旋转值吗:

[x,y,z] ----> [-x,z,y] 
# where x is [-0.8571976356579359,-0.5149875856974073]
# y is [0 1 0]
# z is [0.5149875856974073,-0.8571976356579359]

所以旋转矩阵变为:

rotation = [0.8571976356579359,-0.8571976356579359,1]

我是否还必须交换质心和轴长度?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)