6

CGALの3D線が与えられた場合、端点からの既知の距離であるその線上の点を計算するにはどうすればよいですか?

4

1 に答える 1

3

2 つの点 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 に答える