【发布时间】:2009-10-05 18:52:23
【问题描述】:
我有一个 2D 数组,它只包含布尔值,显示数组中该点是否有图块。它的工作原理如下,假设如果 array[5,6] 为真,那么在坐标 (5,6) 处有一个图块。数组描述的形状是一个连接的多边形,里面可能有孔。
基本上我只需要一个顶点和面的列表来描述数组中的形状。
我已经找了一段时间,找不到解决这个问题的方法,任何帮助将不胜感激。
编辑:这一切都已完成,以便我可以获取形状并将它们碰撞在一起。
这个项目只是我正在做的事情,以帮助提高我的编程技能/物理等。
Edit2:感谢所有帮助。基本上我的问题与将位图图像转换为矢量图像非常相似。 http://cardhouse.com/computer/vector.htm 很有用,如果将来其他人遇到与我相同的问题。
【问题讨论】:
-
这听起来像是家庭作业。是吗,你试过什么?我建议先发现相反的算法。给自己一个简单的形状,然后决定哪些坐标会用瓷砖覆盖形状。
-
不是作业,基本上它是一种使用数组创建形状然后将它们碰撞在一起的方法,如果我理解正确,我需要创建的形状多边形来使用分离轴定理。我尝试了各种方法来循环数组的边缘,但是它错过了边缘并且非常混乱。
标签: algorithm arrays 2d polygon