マッププログラムを作成していますが、等高線追跡を使用して大まかな等高線を作成しました。次に、これらの等高線をベジェで滑らかにします。終点をスムーズにする方法がわかりません。あなたが知っている、私は同じ接線を持つために開始と終了をブレンドする必要があります。私はいくつかのアルゴリズムを見つけましたが、どれもこの問題に対処していませんでした。私はこれがディファレンシャルで解決できることを知っていますが、私はそのことに興味がありません。ですから、誰かが私に重要な部分を明らかにコードのデモンストレーションとしてくれることを願っています。
質問する
690 次
1 に答える
0
私はあなたのアプリケーションを理解していませんが、2 つのベジェ曲線を一致させる方法についてお答えします。制御点 (A1、A2、..、AN-1、AN) と (B1、B2、..) を持つ 2 つのベジェ曲線がある場合。 .,BN-1,BN) で、A の末尾を B の先頭と一致させたい場合は、最初に AN=B1 であることを確認する必要があります (たとえば、両方を (AN+B1)/2 に設定することにより)。
接線連続にするには、AN-1,(AN/B1),B2 が直線上になければなりません。ラインの方向は、A の最後のセグメントと B の最初のセグメントの方向を平均することによって見つけることができます: d = ((AN - AN-1) + (B2 - AN))/2。
2D の場合: 線分 (AN,d) と線分 (AN-2,AN-1) および (B2,B3) の交点を見つけて、AN-1 と B2 の位置を変更します。3D の場合、(B2,B3) から作成された平面と、(B2-B3) と d の外積を計算することによって見つかった 3 番目の点と線を交差させる必要がある場合があります。
于 2012-11-10T10:53:44.650 に答える