代码之家  ›  专栏  ›  技术社区  ›  Jay Bazuzi Buck Hodges

CGAL中直线上点的计算

  •  5
  • Jay Bazuzi Buck Hodges  · 技术社区  · 5 年前

    给定CGAL中的一条3D线,如何计算该线上的一个点,该点与端点之间的某个已知距离?

    1 回复  |  直到 14 年前
        1
  •  3
  •   GManNickG    14 年前

    如果你有两点P 0 和P 1 1 -第

    给定距离D到P 0 0

    (在两条线之间进行线性插值,通过除以线的全长将D改为一个百分比。)


    Line_3<K> l = /* ... */;
    Vector_3<K> v = l.to_vector();
    Point_3<K> r = l.p + (d * d / v.squared_length()) * v;
    

    注意,我甚至找不到一个方法来得到一条线的起点,所以这个由你决定(这个 l.p 零件已组装。)