给定CGAL中的3D线,如何计算该线上与端点有一定距离的点?
答案 0 :(得分:3)
如果你有两个点P 0 和P 1 ,你可以做一个向量V = P 1 - P 0 子>
给定距离D从P 0 ,你可以得到结果点R = P 0 +(D÷|| V ||)⋅V。
(在线之间进行线性插值,通过除以线的全长将D变为百分比。)
我不知道CGAL(和文档类型很糟糕),但我认为它是这样的:
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
部分组成。)