我必须构造3个变换矩阵(3x3(,它们执行以下操作:
-绕y轴旋转135度的旋转矩阵Ry
-绕z轴旋转60度的旋转矩阵Rz
-剪切矩阵SH,参数SH=1.0(将y分量添加到x分量(
我得到了以下代码来完成:
度数=135
Ry=0
degreez=60
Rz=0
sh=1.0
SH=0
感谢您的帮助,谢谢您抽出时间!
我会使用numpy
数组。你可以创建这样的3x3矩阵:
import numpy as np
my_matrix = np.array([[ ..., ..., ...], [..., ..., ...], [..., ..., ...]])
点代表你想放在相应位置的任何数字(或变量(。对于基本旋转(https://en.wikipedia.org/wiki/Rotation_matrix#Basic_rotations),然后你可以设置旋转矩阵,你可能需要正弦和余弦函数;这些也在CCD_ 2中实现。例如,你可以像一样计算10°的正弦
np.sin( 10./360 * 2*np.pi )
所以不要忘记转换为弧度!
至少对我来说,数组中的行和列总是有点混淆。在这方面,我建议反复尝试:你可以简单地将你设置的矩阵乘以你选择的向量(矩阵乘法:https://numpy.org/doc/stable/reference/generated/numpy.matmul.html)并检查结果是否有意义,以及当你将矩阵(my_matrix.T
(的转置乘以向量时会发生什么。。。