C言語なら俺に聞け(入門編)Part 61 at TECH
[2ch|▼Menu]
80:デフォルトの名無しさん
10/03/07 15:18:45
>>68 : kdevelop (書こうとしてる字を予測して、自動補完してくれるからラクちんです)
>>71 : 三角形がいっぱいあるとおもってやるほうほうもあるみたいですよ。
double OuterProduct(
double ax, double ay, double az,
double bx, double by, double bz,
double cx, double cy, double cz
) {
double Ax=bx-ax; double Ay=by-ay; double Az=bz-az;

double Bx=cx-bx; double By=cy-by; double Bz=cz-bz;

double opx = (Ay*Bz-Az*By); double opy = (Az*Bx-Ax*Bz); double opz = (Ax*By-Ay*Bx);

return opz;
}

  B
A △ C
 3角形ABC の中に、点P が「中かな?外かな?」ってのを知りたいときは、
 「AB と P」、「BC と P」、「CA と P」 の3つについて、この関数で調べてみて、戻り値が3つとも全部プラス、または3つとも全部マイナスなら
 点Pは 3角形ABCの内側ってことらしいです。 なんでか理由はよくわかりませんがw

符号1 = OutarProduct( Aのx座標、Aのy座標, 0、  Bのx座標、Bのy座標、0、  Pのx座標、Pのy座標、0 );
符号2 = OutarProduct( Bのx座標、Bのy座標, 0、  Cのx座標、Cのy座標、0、  Pのx座標、Pのy座標、0 );
符号3 = OutarProduct( Cのx座標、Cのy座標, 0、  Aのx座標、Aのy座標、0、  Pのx座標、Pのy座標、0 );

if( 符号1と符号2と符号3が、3つともプラス。 または3つともマイナスなら){ 点Pは、さんかっけいABCのうちがわ♪ }
ってなるみたいです。 なんでか理由はよくわかりませんがw こんど算数の先生に聞いてみまーす。


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5499日前に更新/110 KB
担当:undef