平移和齐次坐标
Translation:
平移矩阵
平移矩阵中不包含 X y z 所以是一个很有挑战的问题
图形学中用齐次坐标来表达,加入多一个轴
最后一行都是0001
w=0 表示一个向量, 无穷远点
齐次坐标的有点是,只需要在渲染管线 最后一步 做一次除法 就可以将齐次坐标转化为非齐次坐标。中间没有人恶化除法
组合 RT TR 不同, 平移旋转 不可以交换顺序
先平移 后旋转
import numpy as np
def rotation_matrix_2d(deg):
cosi = np.cos(deg*np.pi/180)
sini = np.sin(deg*np.pi/180)
rotation = np.matrix([[cosi,-sini],[sini, cosi]])
return rotation
i = np.matrix([0,0]).T
translation_matrix = np.matrix([1.0,1.0]).T
rotation_matrix = rotation_matrix_2d(215.0)
print(rotation_matrix*i + translation_matrix)
print(rotation_matrixi + rotation_matrixtranslation_matrix)