具有平行投影的光线的方程

时间:2013-12-12 04:56:31

标签: graphics 3d raytracing

当我们使用平行投影以及如何推导出它时,射线和射线原点的等式是什么?

2 个答案:

答案 0 :(得分:0)

对于透视投影,您有一个眼睛原点,方向,向右和向上矢量。然后,通过缩放向右和向上矢量,运行从眼睛原点到虚拟屏幕中每个像素的矢量。

在平行投影中,您对屏幕上的点进行相同的计算,但是您的原点变为该点,并且您对每条光线使用相同的方向。

答案 1 :(得分:0)

在传统的光线追踪中,您使用从眼点开始的光线。对于每个像素,您可以计算它在相机前面的虚拟屏幕上的位置,并通过该像素拍摄光线。

让pO成为眼点,d是摄像机的方向,r是指向右边的矢量,u是指向上的矢量。设w为水平屏幕中的像素数,h为垂直像素数。

通过任何像素x,y的光线的参数方程式为:

ray = pO + t * normalize(d +(x - 0.5w)/0.5w * r +(y - 0.5h)/0.5h * u)

其中t是参数。

Perspective projection

对于平行投影,将虚拟屏幕移动到原点并计算x,y作为光线的原点,然后对每条光线使用相同的方向d:

ray =(pO +(x - 0.5w)/0.5w * r +(y - 0.5h)/0.5h * u)+ t * d