我们经常使用三维空间内的模型进行交互操作,那么三维空间内的旋转矩阵到底是谁呢?一般来说,咱们调用Matrix3D即可实现三维空间内的旋转相关的功能。
Matrix3D到底是什么?
我们可以点击转到其相关部分定义如下:
namespace System.Windows.Media.Media3D
{
//摘要:
//表示用于三维空间转换的4x4矩阵。
[TypeConverter(typeof(Matrix3DConverter))]
[ValueSerializer(typeof(Matrix3DValueSerializer))]
public struct Matrix3D : IFormattable
{
//offsetX:
//新矩阵的 X 偏移量字段的值。
//offsetY:
//新矩阵的 Y 偏移量字段的值。
//offsetZ:
//新矩阵的 Z 偏移量字段的值。
//m44:
//新矩阵的(4,4)字段的值。
public Matrix3D(double m11, double m12, double m13, double m14, double m21, double m22, double m23, double m24, double m31, double m32, double m33, double m34, double offsetX, double offsetY, double offsetZ, double m44);
// 将 System.Windows.Media.Media3D.Matrix3D 结构更改为单位 System.Windows.Media.Media3D.Matrix3D。
//返回结果:
//单位 Matrix3D。
public static Matrix3D Identity { get;}
//确定此 System.Windows.Media.Media3D.Matrix3D 结构是否为单位 Matrix3D。
//如果 Matrix3D 结构为单位 Matrix3D,则为 true;否则为 false。默认值为 true。
public bool IsIdentity { get;}
//获取指示此 System.Windows.Media.Media3D.Matrix3D 结构是否为仿射结构的值。
//如果 Matrix3D 结构是仿射的,则为 true;否则为 false。
public bool IsAffine { get;}
//检索此 System.Windows.Media.Media3D.Matrix3D 结构的行列式。
// 此 System.Windows.Media.Media3D.Matrix3D 结构的行列式。
public double Determinant { get;}
//获取指示是否可反转此 System.Windows.Media.Media3D.Matrix3D 的值。
//如果 Matrix3D 结构存在逆矩阵,则为 true;否则为 false。默认值为 true。
public bool HasInverse { get;}
//获取或设置此 System.Windows.Media.Media3D.Matrix3D 结构中第一行与第一列相交处的值。
// 此 System.Windows.Media.Media3D.Matrix3D 结构的第一行、第一列中的值。
public double M11{get; set;}
}
}
也就是说旋转矩阵相关的功能实现,只要调用这个即可,具体如何建模,我也正在研究学习,欢迎加入,跟我一起学。
4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有