我尝试对C#项目做一些数学运算。我创建了一个3x3矩阵,如下所示:
double[,] matrix = new double[3, 3];
matrix[0, 0] = R11;
matrix[0, 1] = R12;
matrix[0, 2] = R13;
matrix[1, 0] = R21;
matrix[1, 1] = R22;
matrix[1, 2] = R23;
matrix[2, 0] = R31;
matrix[2, 1] = R32;
matrix[2, 2] = R33;
之后,我想将此3x3矩阵与我创建的矢量相乘,如下所示:
Vector3D PoiROT = Vector3D.Multiply(POI , RotMatrix);
POI是Vector3D。但是在这个乘法函数中,我遇到了编译错误。 参数“ 2”:不可能从“ double [,]”转换为“ double”。我还尝试了另一种实现方式。
Matrix3D matrix1 = new Matrix3D(R11, R12, R13, 0, R21, R22, R23, 0, R31, R32, R33, 0, 0, 0, 0, 0);
乘法与此矩阵一起工作。但是我不确定实现是否正确,以表示一个3x3矩阵。我问是因为我的解决方案应该有所不同。