掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
内心を求めるには? (ID:26654)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ベクトル計算の枠組みを作ってから, AI=(b/(a+b+c))AB+(c/(a+b+c))ACを計算すると見通しが良くなります。 ベクトル型変数と、それに関連した関数を作る。 type vector=recored x,y:double; end; function TForm1.plus(v1,v2:vector):vector;//ベクトルの加算 begin result.x:=v1.x+v2.x; result.y:=v1.y+v2.y; end; function TForm1.minus(v1,v2:vector):vector;//ベクトルの減算 begin result.x:=v1.x-v2.x; result.y:=v1.y-v2.y; end; function TForm1 mul(k:double;v:vector):vector;//定数との乗算 begin result.x:=k*v.x; result.y:=k*v.y; end; function dist(v1,v2:vector):double;//2つのベクトルの距離 begin result:=sqrt(sqr(v1.x-v2.x)+sqr(v1.y-v2.y)); end; //**************************************** var pA,pB,pC,AI,AB,AC:vector; a,b,c,sum:double; begin pA.x:=0; pA.y:=0; pB.x:=0; pB.y:=100; pC.x:=100; pC.y:=0; a:=dist(pB,pC); b:=dist(pC,pA); c:=dist(pA,pB); sum:=a+b+c; AB:=minus(pB,pA); AC:=minus(pC,pA);//AB,ACは点pAを原点としたベクトル AI:=plus(mul(b/sum,AB),mul(c/sum,AC)); AI:=plus(AI,pA);//原点を移動 //AI.x,AI.yが内心の座標です。 end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.