0

我需要创建一个像这样的随机曲线:

随机曲线

在这张图中有3个例子,标记如下:

  1. 红色椭圆是曲线的起点,
  2. 蓝色椭圆表示结束。
  3. 它们之间是用绿色椭圆标记的点。

我只能使用 Point,因为在制作完其中一个之后,我需要为前一条曲线中的每个 Point 创建另一条小曲线。我尝试使用 sin 函数或 cos 函数,但只有当起点和终点的 x 或 y 点相同时才有效。

有谁知道如何使用 Graphics2D 和 Point 来实现这一点?

4

1 回答 1

3

您应该使用Bezier Curves

如果您对曲线上的每个 x 值都有一个 y 值,那么您可以查看apache commons implementation。您在这里得到的是一个PolynomialSplineFunction,您可以使用它来计算曲线上的任何点。

SplineInterpolator interpolator = new SplineInterpolator();
PolynomialSplineFunction f 
         = interpolator.interpolate(xValues, yValues); //red and blue dots
f.value(4.0); //gets y-value for  x = 4.0
于 2012-12-18T18:13:47.477 回答