- 締切済み
C言語(条件処理について)
二つの球の接触を判断するプログラムを作るという宿題が出されてたのですが、if文による条件処理をどのように書けば良いか分かりません。お助けください。 接触パターンはいくつかあると思いますが、その接触するときの条件について以下のソースコードより後、どんなソースコードを追加すれば良いか教えてもらえませんか? 接触する条件を記述するだけでも良いので回答のほうを至急、お願いします。 何か間違っていれば修正のほうもお願いします。 ソースコード #include<stdio.h> int main(void) { float x1,y1,z1,x2,y2,z2; float r1; float r2; printf("x1="); scanf("%l",&x1); printf("y1="); scanf("%l",&y1); printf("z1="); scanf("%l",&z1); printf("r1="); scanf("%l",&r1); printf("x2="); scanf("%l",&x2); printf("y2="); scanf("%l",&y2); printf("z2="); scanf("%l",&z2); printf("r2="); scanf("%l",&r2); /* この部分の追加をお願いします。 if(){ printf("接触した"); } else{ printf("接触していない"); } */ return 0; }
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
衝突判定のしかた ・2つの球の中心を、点1、点2として、2点間の距離を求める。 ・2つの弾の半径の和を求める。 ・以下の判定を行う。 「2点間の距離>半径の和」の場合、接触していない。 「2点間の距離=半径の和」の場合、接触している。 「2点間の距離<半径の和」の場合、接触していて、2つの球がめり込んでいる。 従ってif文の中身は、 if(2つの球の中心を、点1、点2として、2点間の距離を求める式 <= 2つの弾の半径の和を求める式){ となる。 「2つの球の中心を、点1、点2として、2点間の距離を求める式」は、google検索すれば一瞬で見付かる。 「2つの弾の半径の和を求める式」は、猿でも判る(判らない場合は幼稚園からやり直すこと)
- asuncion
- ベストアンサー率33% (2127/6289)
各変数が何を意味しているかがわかりません (想像はつくけど、それが当たっているかどうかは不明)ので、 何とも回答できません。
お礼
回答ありがとうございます。 おかげで助かりました。