一般图形学书中讲绘制流程不是清楚,谁可以为我写出从空间一点变换到图像坐标的完整过程,即从视变换,模型变换到投影变换的全过程,最后映射到图像上的一点,分不是问题。
模型上一点(x,y,z)->模型变换(包括缩放平移旋转等)->世界坐标上一点(wx,wy,wz)->视变换(根据观察点的位置和观察方向,也就是设相机)->视坐标上一点(vx,vy,vz)->投影变换(透视或平行)->屏幕上一点(sx,sy)
要了解过程,zhhuang2002的回复已够清楚,简单点,就是:
-------- ------ ---------
Pm->|模型变换|->Pw->|视变换|->Pv->|投影变换|->Ps
-------- ------ ---------
其中Pm、Pw、Pv、Ps分别为:
模型上的点(x,y,z)、世界坐标点(wx,wy,wz)、视坐标上点(vx,vy,vz)、屏幕点(sx,sy)
zzwu(未名)的回答很清楚了,只是在作->|投影变换|->时可以将图像空间的图像归一化,记变换到[-1,1]之间,然后做视口变换,比如你要的图像是大小,则视口变换矩阵为
|128 0 0 0| |xs| |x0|
|0 128 0 0| |ys| |y0|
V= |0 0 0 0|, 则屏幕上的每一点的坐标为 |0 |= |0 | + (xi,yi,0,1)*V.(xi,yi)在
|128 128 0 1| |0 | |0 |
[-1,1]区间上。