【发布时间】:2011-03-31 03:48:35
【问题描述】:
给定 CGAL 中的 3D 线,我如何计算该线上距端点已知距离的点?
【问题讨论】:
标签: c++ computational-geometry cgal
给定 CGAL 中的 3D 线,我如何计算该线上距端点已知距离的点?
【问题讨论】:
标签: c++ computational-geometry cgal
如果你有两个点P0和P1,你可以做一个向量V = P1 - P0 .
给定 D 到 P0 的距离,你可以得到结果点 R = P0 + (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部分是编的。)
【讨论】: