3 次ベジエ曲線をつなぎ合わせて「ブロブ」形状を作成しました (下のスクリーンショット)。曲線がそれ自体または別の曲線を越えた状況を検出できるようにしたいのですが、これを行うための推奨されるアプローチまたは既知のアルゴリズムがあるかどうか疑問に思っていましたか?
私が持っていたアイデアの 1 つは、 a を使用しFlatteningPathIterator
て形状を直線セグメントに分解し、特定のセグメントが別のセグメントと交差するかどうかを検出することでしたが、より良いアプローチがあるかどうかに興味があります (これは 2 次パフォーマンスになるため)。この方法を追求する場合、2 つの線分が重なっているかどうかを検出する Java のライブラリ関数はありますか?
ありがとう。
クロスオーバーなし
クロスオーバーなし http://www.freeimagehosting.net/uploads/7ad585414d.png
クロスオーバー
クロスオーバー http://www.freeimagehosting.net/uploads/823748f8bb.png