在Python中创建三维变换矩阵



我必须构造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(的转置乘以向量时会发生什么。。。

最新更新