首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测到有耗矩阵分解?

检测到有耗矩阵分解?
EN

Computer Graphics用户
提问于 2017-01-07 21:35:26
回答 1查看 305关注 0票数 3

我正在编写一个插件来导出3DS Max的数据。3 is的几何流水线是..。有意思的。

作为插件的一部分,我使用内置的函数将转换矩阵分解为平移、(四元数)旋转和缩放。当然,这并不总是有效的,例如当剪切存在的时候。

Max确实有仿射分解函数,但我不想使用它,因为结果组件在目标应用程序中并不都有类似的功能。

我想要做的是,检测分解是有损耗的,这样我就可以在传输之前为使用它的对象烤好几何图形。

如何确定矩阵TRS分解是否精确?

EN

回答 1

Computer Graphics用户

回答已采纳

发布于 2017-01-08 19:36:44

您可以通过将其3×3左上角子矩阵,将其列解释为向量,并将它们以所有组合(1与2,2与3,1与3)的形式,检测出不能以TRS形式分解的矩阵。对于TRS矩阵,三点乘积均为零,即列向量应该是正交的。如果任何一个点积都是非零的(除了一些epsilon来解释舍入误差),那么矩阵就不能像TRS那样分解。

这是由于旋转矩阵是一个正交矩阵的性质,即它的列向量构成一个正交基。当你把旋转乘以一个缩放矩阵,列向量可能不再是单位向量,但它们仍然是正交的。平移部分不影响旋转缩放部分。

票数 3
EN
页面原文内容由Computer Graphics提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://computergraphics.stackexchange.com/questions/4491

复制
相关文章

相似问题

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