回 帖 发 新 帖 刷新版面

主题:[讨论]如何使随机生成的多边形不重叠

[size=3]小弟现在在编写一个程序,在一个给定的区域里面,随机生成N多个任意多边形,但是小弟不知道,怎样才能保证这些随机生成的多边形不互相重叠呢?

要是有哪位大侠知道思路的,麻烦告诉小弟下![/size]

回复列表 (共8个回复)

沙发


你给我滚!

板凳

我现在在编的和你有相似之处,在给定区域内随机填充圆球,我是通过相邻圆球半径之和与圆心位置比较的。至于你的我现在还没想到好的办法。有兴趣可以交流下~~

3 楼


你的那个我在文献之中看到过方法的,就是圆心之间的距离只要大于俩圆的半径就能保证不重叠,但是任意多边形的有点麻烦!我的QQ是148305732,不知道阁下能否留个联系方式,大家平时交流交流!

4 楼

将已经生成任意多边形进行标记(记成三角形组合),
对后续生成的多边形的每个点都与先前的所有三角形组合进行
判别,若点在那个三角形内,则不成。
同时,将新的三边形用三角形组合标记。
当然,我说的是对凸多边形,
对于凹多边形,要分成凸多边形,在判别。
程序应当不难的。

5 楼


麻烦能不能说的再具体点,小弟听的不是很懂!

6 楼

PFC?

7 楼


用fortran编

8 楼

与有限元三角网格的生成类似

方法一,类比Delaunay方法

1 多边形内部生成一些点

2 把这些点连成三角形

3 把某些相邻的三角形组成多边形

我来回复

您尚未登录,请登录后再回复。点此登录或注册