2D 線分があります。私の目標は、さまざまな閉じたポリゴンを作成することです。しかし、ここでは、互いに閉じている平行な線分がほとんどない場合に、最も外側の線分を選択したいと考えています。さまざまな線の組み合わせで、さまざまな閉じたポリゴンを作成できます。最も外側の線で作成するポリゴンが必要なため、最も外側の線を取得する方法を考え、苦労していました。(多角形は、隣接する線分が交差することによって構築されます。) すべての線分を含む大きな境界ボックスを取得し、重心を取得してから、各線分への垂直距離を見つけることを考えていました。このプロセスで、互いに近い (つまり、平行線に近い) 向きの近くの線分を見つけました。したがって、これらの近くの平行線から、最も外側の平行線が必要です。(それは赤いものです)。しかし、重心を使って距離を比較すると、より多くの凹面と凸面のターンが存在する場合、最長距離 (近くの平行線の中で) の最長距離は、最も外側の線 (赤) が最長距離で得られない場合があるため、正確な最も外側の線を与えません。私が持っているのは; 各線分の終点座標。(つまりベクターデータ)
そのため、近くの平行線から最も外側の線分を取得する良い方法を探しています。あなたが理解するために、私が持っているサンプルデータを添付しました。最も外側の線分は赤色で表示されます。最後に、この赤い線がポリゴンの境界を示しています。したがって、対応する近くの平行な黒い線から赤い線を取り出したいと思います。
注: 線分が異なる方向を向いています。X & Y 軸だけではありません。また、近くの線は、隣接する線と常に 90 度または 180 度の角度を成すとは限りません。
私に方法を提案してください。前もって感謝します
たとえば、A、B と C、D が近くの平行線分である場合。最も外側の線は B と C のはずですが、重心 (O) からの距離を比較すると、C を最も外側として取得できますが、O から B までの距離は O から A までの距離よりも小さいため、B を取得できません。このタイプのスポットでは、この方法は失敗します。だから、代替案を見て..