2011-07-09 56 views
1

我有一些困难,努力随机生成简单的,即它们不相交,曲线设计一个随机生成的简单(非交叉)曲线

基本上,问题是,鉴于对产生的点的随机分类X,Y平面,您如何以这种方式连接它们以创建非相交曲线。 (我正在用JAVA做这个)

现在,我唯一的想法是从头开始递归地检查并检查与Line2D类的交集,然后在尝试下一个点之前先终止路径。谁能帮忙?

感谢您的帮助!

CNC中

对不起,我忘了提,我还是希望能够产生可以采取任何多种外形的曲线。例如,具有曲线形如+/- sqrt函数其中,该曲线是本身可以“曲线”早在

+0

你现在做什么?你的曲线应该如何?单曲线还是多曲线?非常直的或任何特殊的属性? – Howard

回答

0

查找右下角最点。那是开始。然后找到第一点与该点之间的线是最小斜率(最接近0度)的点。选择一个作为下一点。继续这样做,选择一个斜率最小的新点。按顺序绘制曲线。

1

寻找convex hull是一种方法。有几个algorithms可用。

+0

这是否基本上生成一个形状/曲线,通常采用凸形的形式?或者它也可能是一个非常混乱的形状,即三角波类型的东西? – randomafk

+0

有一张照片[这里](http://en.wikipedia.org/wiki/Convex_hull#Intuitive_picture)。 – trashgod

+0

Graham's Scan [这里]有一个交互式演示(http://yoshihitoyagi.com/projects/mesh/convexhull/grahamsscan/index.html)。 – trashgod