C言語なら俺に聞け(入門編)Part 61
at TECH
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