java - 线上的点到第一个点的距离

标签 java math geometry

我想通过到第一个点的距离来计算一条线上的点。 因为我没有新点的任何坐标,所以我无法使用线性插值...... 我是这样想的: 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;
}

谢谢。

最佳答案

作为一名程序员,您应该喜欢将问题更改为您已经解决的问题。找到比率,然后使用线性插值:

public static PointDouble interpolationByDistance(Line l, double d) {
  double len = l.p1.distance(l.p2);
  double ratio = d/len;
  double x = ratio*l.p2.x + (1.0 - ratio)*l.p1.x;
  double y = ratio*l.p2.y + (1.0 - ratio)*l.p1.y;
  System.out.println(x + ", " + y);
  ...
}

关于java - 线上的点到第一个点的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9343105/

相关文章:

java - 将 JComboBox 设置为表列不起作用

java - 运行 ant run 命令时获取 "Process fork failed"

javascript - QML 中的基本 Javascript/数学……为什么不起作用?

java - 检测图中的所有圆圈

python - 从节点云中查找几何(形状)

algorithm - 分离轴测试,检测旋转矩形是否与另一个平面矩形重叠

java - Selenium WebDriver(Java) : JavascriptExecutor fails to click element, 而 WebElement.click() 效果很好

java - WeakReference 没有收集在大括号中?

algorithm - 如何用 "int"、模数和除法简化表达式?

c++ - 因数分解