首页 > 解决方案 > matrix3 的 scalerotationpart 到底是什么?[标语]

问题描述

maxscript 中的 Matrix3 实现了一个 4x4 的变换矩阵。

http://help.autodesk.com/view/3DSMAX/2015/ENU/?guid=__files_GUID_D77C780A_4E8A_4528_949F_CC09AAE048DA_htm

它允许直接通过子属性访问旋转、缩放和平移。但是,还有一个“scalerotationpart”,它是一个四元数:

<matrix3>.rotationpart: Quat, read-only
<matrix3>.translationpart: Point3, read-only
<matrix3>.scalerotationpart: Quat, read-only
<matrix3>.scalepart: Point3, read-only

作为四元数的旋转部分是有意义的。作为 Point3 的翻译部分是有道理的。scalepart 作为 Point3 是有道理的。但是什么是scalerotationpart?直观地说,我希望这是编码旋转和缩放的 3x3 子矩阵 - 但是,它作为四元数返回,据我所知,四元数不能同时编码旋转和缩放。

这究竟是什么?

标签: maxscript

解决方案


我猜,因为 matrix3 是齐次矩阵,这个四元数是用来存储对象的坐标系的?它是“网格” - 描述法线向量 + 值来描述对象的“网格比例”将是 point3


推荐阅读