【发布时间】:2014-01-20 15:01:46
【问题描述】:
我有一个算法,我从光源追踪凸多边形,所有多边形都包含在 4 个墙壁之间。这是算法:
准备 - 将所有顶点添加到一个数组中,按它们与光源的角度排序,然后添加由另一个数组中的所有顶点构成的所有线。
循环所有顶点并将射线旋转到它们的角度 将每个顶点设置为最近的点。 对于每个顶点循环所有线并将射线与它们相交,如果线/射线交点比前一个最近点更近,则将此设置为最近点。
除了这种情况外,这一切都很好: 算法没有考虑绿线。如何让它继续超出多边形的末端?
【问题讨论】:
-
为什么不检查你计算的交点是否也是一个顶点(在一些小的误差半径内)?
-
我不太清楚你的意思,请你解释一下
-
您能解释一下为什么算法没有考虑绿线吗?在我看来,考虑它们是因为多边形在某种程度上是透明的。
-
我希望了解一些上下文。你到底想完成什么?
-
算法的预期结果应该是什么?最近的顶点/最近点?
标签: algorithm geometry raytracing