0

私は2つのダイナミックな円をとり、接触点を返すアルゴリズムを探しています。何らかの理由でこれを検索しようとすると、結果の速度を返すアルゴリズムを記述するhttp://ericleong.me/research/circle-circle/のようなリソースしか見つけることができません。タッチポイントを返すサークルとサークルスイープテスト

+0

これは非常に基本的なもののようですので、私はおそらく何かを見逃しているか、間違った名前で探しています。これが重複してマークされているとき、私は緩めるだろうカルマをリッピング:( – Julian

答えて

0

あなたはよく問題を定義していません。

は、円の中心が式cx1_0は、第一円のX座標開始さ

cx1 = cx1_0 + t * vx1 
cx2 = cx2_0 + t * vx2 
cy1 = cy1_0 + t * vy1 
cy2 = cy2_0 + t * vy2 

で移動さう、VX1は、その速度のx成分です。

円は、中心間距離が半径の合計に等しいときに互いに接触します。

上記の置換式、未知パラメータtの2次方程式を解くことができます。 0,1または2の解を得ることができます(交互作用なし、1回の接触、交差期間が存在します)。その後、センターを計算すると、タッチした瞬間の座標と外部触れるためのタッチポイントを得る:内部感動が発生する場合がありますので、私は外部強調

x_touch = (cx1 * r1 + cx2 * r2)/(r1 + r2) 
similar for y 

注(その場合には距離が半径の差に等しいですが、私

関連する問題