我想通过到第一个点的距离计算线上的一个点。因为我没有任何新点的坐标,我不能使用线性插值... 我以为是这样的: Example Drawing (对不起,我是新用户,我不允许发布图像)按距离到第一个点的线上点
但实际上它不工作,所以我请你帮忙。
这里是在java中的实际代码:
public static PointDouble interpolationByDistance(Line l, double d) {
double x1 = l.p1.x, x2 = l.p2.x;
double y1 = l.p1.y, y2 = l.p2.y;
double ratioP = ratioLine_x_To_y(l);
double disP = l.p1.distance(l.p2);
double ratioDis = d/disP;
PointDouble pn = l.p2.getLocation();
pn.multi(ratioDis);
System.out.println("dis: " + d);
System.out.println("new point dis: " + l.p1.distance(pn));
return pn;
}
谢谢。
您可以使用更具描述性的变量名中受益。我愿意打赌它会让你的生活更轻松。 – jonmorgan 2012-02-18 16:56:03