已知模型坐标系下的一个点的坐标P0,.
已知该模型的三个基向量在世界坐标系下的坐标dir_x, dir_y, dir_z以及中心原点在世界坐标系下的坐标P1.
已知摄像机的center_position, eye_position, up_direction.
已知摄像机的near, far, fx, fy, cx, cy, img_width, img_height.
求, P0在像平面坐标系下的坐标P2.
注:以下代码只是为了表达, 没有通过编译.
1. 模型坐标系到世界坐标系.
R_lw = np.zeros((3,3),'f')
R_lw[:3, 0] = dir_x
R_lw[:3, 1] = dir_y
R_lw[:3, 2] = dir_z
t_lw = P1
R_wl = R_lw.T
t_wl = -np.dot(R_lw.T,t_lw).
T_lw = np.zeros((4,4),'f')
T_lw[:3,:3] = R_lw
T_lw[:3, 3] = t_lw[:,:]
2. 世界坐标系到相机坐标系
forward = norm(center_position - eye_position)
side = norm(cross(up_direction, forward))
up = norm(cross(forwora, side))
R_cw = np.zeros((3,3), 'f')
R_cw[:3, 0] = side
R_cw[:3, 1] = up
R_cw[:3, 2] = -forward
t_cw = eye_position
R_wc = R_cw.T
t_wc = -np.dot(R_cw.T, t_cw)
T_wc =