既存のポリラインに平行なポリラインを作成する単純なアルゴリズムは単純です。各頂点の法線を (セグメントの法線の平均として) 計算し、法線を使用して任意の量で頂点を変位させることができます。
ただし、曲線のポリラインでこのアルゴリズムを使用しようとすると、グラフィカルな問題が発生します。これは、円弧を形成する一連の点です。円弧ポリラインに平行な線を作成すると、法線を介して投影された頂点が、ある頂点から別の頂点に進むと実際に逆方向に移動して自己交差を作成するポリラインを作成するのに十分な距離を増やすまで、すべて問題ありません。
このような頂点を平行ポリラインから効率的に削除するにはどうすればよいですか? セグメントの方向を比較しましたが、生成されたセグメントが平行でない場合は、平行なポリラインが交差するポイントに到達したことを意味します。ただし、これは小さなセグメント (曲線のポリラインはさらに小さなセグメントを生成します) や、元々縮退した頂点 (1 つの頂点が次の頂点と等しい) を持つポリラインではうまく機能しません。