您的位置:首页 > 其它

3d场景中的平面转2维平面

2018-03-09 15:45 92 查看
比如在3d模型的投影中,投影面虽然是一个平面,但是是3维坐标表示的,我们会需要将3维的平面转换成2维的平面:

首先将3d平面的坐标轴与2d平面的坐标轴对应起来

具体解释可以看这篇博客:

http://blog.csdn.net/jc_laoshu/article/details/69657579

def get_transform(x, y, z, a, b, c, m, n, p, core):    #转置矩阵

x0 = -(core[0] * x + core[1] * y + core[2] * z)
y0 = -(core[0] * a + core[1] * b + core[2] * c)
z0 = -(core[0] * m + core[1] * n + core[2] * p)
T = np.mat([[x, y, z, x0],
[a, b, c, y0],
[m, n, p, z0],
[0, 0, 0, 1]])
return T


然后将3维平面上点的坐标 对应到2维平面上:

def fun(core, prosurface, vx, vy, vz, T):
old = np.mat([vx, vy, vz, 1])
new = old * T
res = new.getA()
return [res[0][0], res[0][2]]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: