我正在编写一个处理二维图形形状的库。
我想知道为什么我的坐标系范围应该是x和y轴都在[-1, 1]而不是x轴[0, 宽度]和y轴[0, 高度]。
我选择了后者的系统,因为我觉得这个实现起来比较直接。
我想知道为什么我的坐标系范围应该是x和y轴都在[-1, 1]而不是x轴[0, 宽度]和y轴[0, 高度]。
我选择了后者的系统,因为我觉得这个实现起来比较直接。
来自Jim Blinn的《图形管道之旅》第138页。
让我们从最简单的转换开始:将归一化设备坐标转换为像素空间。 转换如下:
s_x * X_NDC + d_x = X_pixel
s_y * Y_NDC + d_y = Y_pixel
s_x = ( N_x - epsilon ) / 2
d_x = ( N_x - epsilon ) / 2
s_y = ( N_y - epsilon ) / (-2*a)
d_y = ( N_y - epsilon ) / 2
epsilon = .001
a = N_y/N_x (physical screen aspect ratio)