我在空间中有n
个点:
points.shape == (n,3)
我有一个新的坐标系,由一个点O = [ox, oy, oz]
和3个不同长度的正交向量Ox = [oxx, oxy, oxz], Oy = [oyx, oyy, oyz], Oz = [ozx, ozy, ozz]
定义。在
我怎么能写出这样的函数呢?在
def change_coord_system(points, O, Ox, Oy, Oz)
return # points in new coordinate system
Tags:
假设我们有两个点,}。首先,你必须找到旋转变换矩阵A和传输矩阵B,并应用下面的方程
P=[2, 4, 5]
和{使用numpy的代码是
我认为上述函数给出了新的观点。你可以查一下。当然,您可以使用numpy执行矩阵乘法,但是您需要重塑np.数组. 在
原始系统中有4个非共面点(whele
lx
是第一个向量的长度,依此类推):以及他们在新系统中的双胞胎
^{pr2}$仿射变换矩阵A应将初始点转换成它们的对点
用点列向量生成矩阵:
要计算A,需要将两个sudes乘以p矩阵的逆
所以计算p的逆矩阵,并将其与右侧矩阵相乘。在
编辑:Maple计算的逆矩阵是
得到的仿射变换矩阵是
Maple sheet view for reference
编辑:
只是注意到:Maple没有删除过多的总和,所以结果应该更简单:
相关问题 更多 >
编程相关推荐