プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になってます。

2つ以上の線分が2次元上にあって、線分が交差した場合それぞれの交点を保ちながらも移動し、交点で回転しながら他の線分とも衝突判定を行う、というアルゴリズムを考えているのですがなかなかうまくいかず悩んでいます。

最終的にはたくさんの線分がくっついて、くねくねしながら移動するようなイメージです。

速度を同じにして、交点を軸に回転させてみたのですが、3本目の線分が交差したときうまくいかなくなってしまいました・・。

ぜひ皆さんの力を貸してください。よろしくお願いします。

A 回答 (1件)

まずは、幾何学的に考えてみると、線が2本なら交点一個だから、そこを中心に回転もできるけど、3本あると、各2本取り出す組み合わせが3つで、つまり、交点数は3つで、三角形を形成するので、交点が移動しないことには、線分は移動できないでしょう。


ってことで、回転中心をどの交点にするか、もうちょっと考察が必要。
方法1:交差判定で、交差したら、その交点へ回転中心を移して、その線分上の他の交点は、その交点周りを回転させるとか、
方法2:全交点の中心を求めて、そこに回転中心を移すとか、
方法3:それとも、AとB2つで回転していて、Bが別のCにぶつかったら、ぶつかったBとC2つで回転させて、Aは、離れるとか。
他にもいろいろやりかたはあるでしょう。
    • good
    • 0
この回答へのお礼

お礼が遅くなってしまいすみません。
何とか解決する事ができました。ありがとうございました!

お礼日時:2009/07/10 00:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!