【发布时间】:2009-10-20 09:49:56
【问题描述】:
在我的 C#-Silverlight 3 程序中,我有一组点。这些点可以是不同的颜色,绿色、红色或蓝色。然后我为不同的点创建一个凸包:一个绿色的包,一个红色的包和一个蓝色的包。现在可能会发生,每种颜色的外壳内都有来自另一种颜色的点,就像绿色外壳内的红色点一样。
是否有任何算法可以修改外壳,以便将那些其他颜色的点从外壳中排除(此时不再是凸点)?
提前致谢, 弗兰克
【问题讨论】:
-
排除是什么意思?你的意思是去掉这些点?但是在删除一些点时,您可能会“破坏”现有的凸包。当绿色凸包的所有点都在红色凸包内时会发生什么?需要更多细节来回答这个问题。一个具体的例子也会有所帮助。
-
通过“破坏”凸包,我的意思是移除凸包的 5 个点中的 3 个,因为这 3 个点在另一个包内。然后你会得到 2 个不能是凸包的剩余点。