您好,
請問 DMatrix3d 中的 ColumnX ColumnY ColumnZ 是表示何意義?
例如: 將一個0度的Cell, 水平方向轉15度, 再垂直向上轉30度
是否可以DMatrix3d 的ColumnX ColumnY ColumnZ取得該Cell 目前的角度?
謝謝
DMatrix3d就是一个标准的3X3旋转矩阵,其中有9个double型实数用来表达空间中的任意旋转和缩放,其理论应该在大学的线性代数中都学习过了,可以把自己大学的书再翻出来温习一下。
一般来说,我们不需要自己通过高深的数学知识来计算这些角度和缩放比例,而是找DMatrix3d对象下的函数(或叫方法)或是多个函数的组合就能达到我们的目的。
针对你的这个问题,可以直接调用DMatrix3d下的方法IsXRotationYRotationZRotationScale就能返回绕着X、Y和Z轴旋转的角度。
Answer Verified By: Afa Lin
謝謝,
但是以這個例子: 將一個0度方向的Cell, 水平方向轉15度, 再垂直向上轉30度
使用DMatrix3d下的方法IsXRotationYRotationZRotationScale, 所取出之角度為繞著X,Y,Z軸的旋轉角度(8.4987,-28.879,17.1921),
user比較無法直接由此三個角度, 理解其旋轉之後的方向 .
该方法获得的参数值和Properties对话框中Rotation的值是一致的。如下图1所示是属性对话框中的值,图2是代码获得的值:
您说的这个不太容易获得,因为达到这种旋转位置有多个方式达到(即不一定非要先绕水平转15度,再绕垂直转30度),而元素中记录的仅仅是最终的状态。