Rpr*_*eda 6 math raytracing lighting vector-graphics
我正在研究光线追踪器,并开始向场景中添加圆柱体。我遇到的问题是找到光线击中点的表面法向量。我需要这个才能进行漫射照明。此时我所拥有的是相机光线撞击圆柱体的 3d 点,以及由中心轴上的点定义的实际圆柱体,向量代表轴的方向和半径。所以总结一下我的问题,如何找到具有圆柱体撞击点、半径、其轴上的点和轴的方向向量的点的法线向量?
圆柱体法线向量从圆柱体的中心线开始,位于射线与圆柱体相交点的相同 z 高度处,终止于径向相交点。将其归一化,你就得到了单位法线向量。
如果圆柱体中心线不是沿着场景的全局 z 方向,则必须转换为圆柱体坐标,计算法线向量,然后将其转换回全局坐标。