Java 设计随机生成的简单(非相交)曲线

Java 设计随机生成的简单(非相交)曲线,java,recursion,path,Java,Recursion,Path,我在尝试随机生成简单曲线时遇到了一些困难,即它们不相交 基本上,问题在于给定在X,Y平面上生成的点的随机组合,如何以这种方式连接它们以创建非相交曲线。(我正在用JAVA做这件事) 现在,我唯一的想法是递归地从头开始,检查与Line2D类的交点,然后在尝试下一个点之前终止路径(如果路径相交)。有人能帮忙吗 谢谢你的帮助 -编辑- 抱歉,我忘了提到我仍然希望能够生成可以采用任何形状的曲线。例如,如果有一条形状像+/-sqrt函数的曲线,而该曲线是一条“曲线”,则可以将其自身“弯曲”回原位找到最右下角

我在尝试随机生成简单曲线时遇到了一些困难,即它们不相交

基本上,问题在于给定在X,Y平面上生成的点的随机组合,如何以这种方式连接它们以创建非相交曲线。(我正在用JAVA做这件事)

现在,我唯一的想法是递归地从头开始,检查与Line2D类的交点,然后在尝试下一个点之前终止路径(如果路径相交)。有人能帮忙吗

谢谢你的帮助

-编辑-


抱歉,我忘了提到我仍然希望能够生成可以采用任何形状的曲线。例如,如果有一条形状像+/-sqrt函数的曲线,而该曲线是一条“曲线”,则可以将其自身“弯曲”回原位

找到最右下角的点。这就是开始。然后找到第一个点和该点之间的直线是最小坡度(最接近0度)的点。选择这一点作为下一点。继续这样做,以最小的坡度拾取新点。按顺序画一条穿过这些点的曲线。

找到最右下角的点。这就是开始。然后找到第一个点和该点之间的直线是最小坡度(最接近0度)的点。选择这一点作为下一点。继续这样做,以最小的坡度拾取新点。按顺序画一条穿过这些点的曲线。

找到这些点是一种方法。有几种方法可供选择。

找到解决方案是一种方法。有几种可用。

您目前在做什么?你的曲线应该是什么样子?一条或多条曲线?非常直或任何特殊属性?你现在做什么?你的曲线应该是什么样子?一条或多条曲线?非常直或任何特殊属性?这基本上会生成一个形状/曲线,通常采用凸形状的形式吗?或者它也可能是一个非常杂乱的形状,比如三角波之类的东西?有一张图片。有一个格雷厄姆扫描的交互式演示。这基本上会生成一个形状/曲线,通常采取凸形的形式吗?或者它也可能是一个非常杂乱的形状,比如说一个三角波之类的东西?有一张图片。有一个格雷厄姆扫描的互动演示。