【发布时间】:2009-01-18 17:34:20
【问题描述】:
我正在尝试通过编写一个简单的光线追踪器来了解更多关于vectormath的知识,并且我一直在阅读它,但我无法找到如何确定主要方向射线。这听起来像一个简单的问题,可能是,但以我目前的知识,我无法弄清楚。
我认为我需要一个摄像头(只不过是一个位置和一个方向作为矢量),然后我从摄像头将主光线发射到摄像头前面的屏幕上,该屏幕代表最终图像。我无法弄清楚的是屏幕的角坐标。如果我知道屏幕,就很容易找到主光线的方向。
我希望只使用不需要任何旋转矩阵的简单数学就可以计算出屏幕。我的最佳猜测是:
我将相机的方向作为一个向量,这个方向等于投影屏幕平面的法线。所以我有了屏幕的法线,从那里我可以很容易地计算出屏幕的中心:
camera_location + (normal * distance)
其中距离是屏幕和相机之间的距离。但是,这就是我迷路的地方,我无法找到一种方法来计算相机任意方向的平面角坐标。
你们中的任何人都可以帮我吗?如果我的方法不可能奏效,那该怎么办?
【问题讨论】:
-
欢迎来到 StackOverflow。很好,经过深思熟虑的问题..干得好。希望你也留下来回答一些问题! +1
标签: math graphics 3d vector raytracing