6

给定 CGAL 中的 3D 线,我如何计算该线上距端点已知距离的点?

4

1 回答 1

3

如果你有两个点 P 0和 P 1,你可以制作一个向量 V = P 1 - P 0

给定到 P 0的距离 D ,您可以得到结果点 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部分已编好。)

于 2010-08-17T19:02:51.530 回答