java如何在2D中的2个点之间创建一条曲线,并获得使该曲线每隔d距离的返回点?
我的数学不好
我有两个点,A(x1, y1)
和B(x2, y2)
在2D中
我需要创建一个从点A
到在R(半径)处弯曲的B
的虚拟路径,然后返回一个描述这个弯曲路径的点数组,可能不是每个点之间都有D(距离)
在Java中,我需要这样一种方法:
private ArrayList<PointF> generateCurve(PointF pFrom,PointF pTo,float pRadius,float pMinDistance){
ArrayList<PointF> pOutPut = new ArrayList<PointF>();
// ...generate result to pOutPut
return pOutPut;
}
如何做到这一点
# 1 楼答案
这项工作:
下面是我这样称呼它时得到的:
generateCurve(new Point2D.Double(10,10), new Point2D.Double(400, 400), 300, 15)
# 2 楼答案
我没有放弃,我已经为此工作了几个小时。结果如下:
我创建了一个方法,您可以指定是否需要点之间最长弧中的最短弧
下面是对它的一些调用,以及生成的输出:
正如你所看到的,它就像一个魅力。代码如下:
享受吧
PS:我创建了两个数学问题来解决您的问题: