python函数输出三维坐标_函数用numpy将三维点转换为新的坐标系

原始系统中有4个非共面点(whelelx是第一个向量的长度,依此类推):(0,0,0), (lx,0,0), (0,ly,0), (0,0,lz)

以及他们在新系统中的双胞胎

^{pr2}$

仿射变换矩阵A应将初始点转换成它们的对点A * P = P'

用点列向量生成矩阵:|x1 x2 x3 x4| |x1' x2' x3' x4'|

A *|y1 y2 y3 y4| = |y1' y2' y3' y4'|

|z1 z2 z3 z4| |z1' z2' z3' z4'|

|1 1 1 1| |1 1 1 1|

|0 lx 0 0| |ox oxx + ox . .|

A *|0 0 ly 0| = |oy oxy + oy . .| // lazy to make last columns

|0 0 0 lz| |oz oxz + oz . .|

|1 1 1 1| |1 1 1 1|

要计算A,需要将两个sudes乘以p矩阵的逆A * P * P-1 = P' * Pinverse

A * E = P' * Pinverse

A = P' * Pinverse

所以计算p的逆矩阵,并将其与右侧矩阵相乘。在

编辑:Maple计算的逆矩阵是[[-1/lx, -1/ly, -1/lz, 1],

[1/lx, 0, 0, 0],

[0, 1/ly, 0, 0],

[0, 0, 1/lz, 0]]

得到的仿射变换矩阵是[[-ox/lx+(oxx+ox)/lx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值