我有一个算法可以跟踪光源中的凸多边形,它们都包含在4个墙之间。这是算法:
准备 - 将所有顶点添加到数组中,按照它们与光源的角度排序,然后添加所有顶点在另一个数组中生成的所有线。
循环所有顶点并将光线旋转到它们的角度 将每个顶点设置为最近的点。 对于每个顶点循环所有线并使光线与它们相交,如果线/光线交点比前一个最近点更近,则将其设置为最近点。
除了这种情况之外,这完全有效: 算法没有考虑绿线。如何让它继续超出多边形的末端?
答案 0 :(得分:2)
我认为没有理由考虑绿线!光线落在顶点上,顶点仍然是实心多边形的一部分。因此,光线不会继续(沿着绿线)是合乎逻辑的。您的算法正确且一致!