C言語なら俺に聞け(入門編)Part 61 at TECH
[2ch|▼Menu]
82:デフォルトの名無しさん
10/03/07 16:35:50
>>67 三角形の内部の点かどうか判定するプログラム
#include<stdio.h>
#include<math.h>

int is_inner(double ax, double ay, double bx, double by, double cx, double cy, double px, double py)
{
double Ax, Ay, Bx, By, Px, Py, alpha, beta, divisor;

Ax=ax-cx;
Ay=ay-cy;
Bx=bx-cx;
By=by-cy;
Px=px-cx;
Py=py-cy;

divisor=Ax*By-Bx*Ay;
if(fabs(divisor)<1.0e-6) return 0;

alpha=(By*Px-Bx*Py)/divisor;
beta=(-Ay*Px+Ax*Py)/divisor;

if(0.0<alpha && alpha<1.0 && 0.0<beta && beta<(1.0-alpha)) return 1;
return 0;
}

int main(void)
{
printf("%d\n", is_inner(1.0, 2.0, 2.0, 1.0, 1.0, 1.0, 0.5, 0.499));

return 0;
}


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

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