ねえ、私は以前の回答で、複数の凸型から凹型を作るために次のことをするように言われました:
凸包がない場合は、パッケージラッピングアルゴリズムを実行して、すべてのポイントを含む凸包を取得します(これも非常に高速です)。en.wikipedia.org/wiki/Gift_wrapping_algorithm
アルゴリズムの開始点として、境界上にある点を選択します。
次に、シェイプ上にあるが、凸状の境界上にはない次のポイントを繰り返します。見つかったら、開始点から見つかった非境界点までの頂点を使用して新しい形状を作成します。最後に、開始点を検出された境界外の点に設定します
再帰があなたの友達になりました。作成する新しいサブシェイプごとにまったく同じプロセスを実行します。
しかし、私は1つのことに混乱しています。連続する2つの頂点が境界外にある場合はどうしますか?最初の頂点に到達した後、スターターポイントをそれに接続しますが、もう一度イタリングを開始するとすぐに別のオフボーダーポイントに遭遇し、使用できる頂点はスターターポイントと新しいオフボーダーポイントの2つだけになります。私は何が欠けていますか?
私の問題を説明するために、この問題に関連する形を次に示します。誰かがその全体を描き、これを使用してアルゴリズムのステップをウォークスルーできれば素晴らしいと思います。そして、開始点としてポイント1を使用します。
ありがとう!