主题:[讨论]如何使随机生成的多边形不重叠
zhangqun0949
[专家分:50] 发布于 2010-03-23 20:51:00
[size=3]小弟现在在编写一个程序,在一个给定的区域里面,随机生成N多个任意多边形,但是小弟不知道,怎样才能保证这些随机生成的多边形不互相重叠呢?
要是有哪位大侠知道思路的,麻烦告诉小弟下![/size]
回复列表 (共8个回复)
板凳
owenjoe [专家分:0] 发布于 2010-03-24 14:33:00
我现在在编的和你有相似之处,在给定区域内随机填充圆球,我是通过相邻圆球半径之和与圆心位置比较的。至于你的我现在还没想到好的办法。有兴趣可以交流下~~
3 楼
zhangqun0949 [专家分:50] 发布于 2010-03-24 18:02:00
你的那个我在文献之中看到过方法的,就是圆心之间的距离只要大于俩圆的半径就能保证不重叠,但是任意多边形的有点麻烦!我的QQ是148305732,不知道阁下能否留个联系方式,大家平时交流交流!
4 楼
lxde0866 [专家分:480] 发布于 2010-03-25 05:44:00
将已经生成任意多边形进行标记(记成三角形组合),
对后续生成的多边形的每个点都与先前的所有三角形组合进行
判别,若点在那个三角形内,则不成。
同时,将新的三边形用三角形组合标记。
当然,我说的是对凸多边形,
对于凹多边形,要分成凸多边形,在判别。
程序应当不难的。
5 楼
zhangqun0949 [专家分:50] 发布于 2010-03-25 12:45:00
麻烦能不能说的再具体点,小弟听的不是很懂!
6 楼
laoyin [专家分:110] 发布于 2010-03-25 16:59:00
PFC?
8 楼
齐东野人 [专家分:1920] 发布于 2010-03-28 09:49:00
与有限元三角网格的生成类似
方法一,类比Delaunay方法
1 多边形内部生成一些点
2 把这些点连成三角形
3 把某些相邻的三角形组成多边形
我来回复