【问题标题】:Finding the reflection region in polar coordinates在极坐标中找到反射区域
【发布时间】:2014-12-04 04:54:14
【问题描述】:

假设我们正在为宜家目录渲染图像,其中包含一个光滑、镜面般表面的杯子。

杯子将被带有窗户的房间内部环境图照亮, 定向光和环境组件。

环境贴图使用 φ 和 θ 在球坐标中表示 (例如,点 (1, 0, 0) 是 (φ = 90◦, θ = 90◦);点 (-1, 0, 0) 是 (φ = 90◦, θ = -90◦))。 相机位于 (0, 0, 20),在方向 (0, 0, -1) 和向上方向 (0, 1, 0) 上观看。杯子以坐标原点为中心,高度为 10,半径为 5。杯子的轴对齐 与 y 轴。并且整个杯子都可以在图像中捕捉到。

对于一张漂亮的产品照片,我们希望看到杯子侧面的窗户倒影。在哪里 窗口可以放在环境贴图中会在侧面反映吗 圆柱形杯子?计算区域角的 (φ, θ) 坐标以及将反映在杯子中的最高和最低 phi 和 theta。

我该如何解决这个问题?我应该使用一个特定的方程式吗?提前致谢。

【问题讨论】:

    标签: graphics geometry rendering raytracing


    【解决方案1】:

    您可以通过将光线从查看器投射到杯子并将它们反射到地图上来解决这个问题。假设杯子上所需反射四边形的每个角有一条光线。

    反射由反射定律简单计算:表面的法线是入射光线和反射光线的平分线。

    首先计算从观察者到选定角之一的入射光线。然后计算该点的法线(它垂直于杯子的旋转轴,在该点的半径方向上)。从入射向量和法线,你会发现反射向量的方向。

    将此向量转换为球坐标将为您提供环境贴图中四边形的一个角。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-21
      • 2015-06-17
      • 1970-01-01
      • 2012-10-19
      • 1970-01-01
      • 1970-01-01
      • 2018-06-21
      相关资源
      最近更新 更多