0

我在这里指的是图形中使用的画家算法。我有一些代码,在其中我使用它们的中点从前到后绘制多边形来判断它们离视点有多远。我知道这不适用于重叠的多边形或相互交叉的多边形,但是这适用于所有其他情况吗?这在多边形彼此相交但仅在一个边缘(例如立方体的面)的情况下是否有效?

4

1 回答 1

1

这通常不起作用,即使您限制自己绘制凸多面体。例如,在 2D 中,看一下这张图:

二维画家的反例

从眼睛的位置(在图的底部),应该先绘制面部 A,因为 A 在 B 的前面。但是如果根据面部中心的 y 坐标对面部进行排序,那么B 在 A 之前。

这是一个 2D 反例,但反例自然延伸到 3D。

于 2013-10-13T09:53:38.927 回答