moiっちがあんまり遅くてワイの方が先に出来ちゃったから書いてやんよ〜
DEF P3_CIR X1,Y1,X2,Y2,X3,Y3 OUT X,Y,R
VAR A=X1-X2,B=X2-X3,C=X3-X1,D=Y1-Y2,E=Y2-Y3,F=Y3-Y1
VAR G=A*F,H=C*D,I=G-H,J=A*B+D*E
IF G!=H THEN
X=X1*+(C+(B*G+D*E*F)/I)/2
Y=Y1*+(F-(E*H+A*B*C)/I)/2
R=SQR((C*C+F*F)*(I*I+J*J))/ABS(I)/2
ELSE
?"DOESN'T EXIST!"
ENDIF
END
'TEST
DIM PX[3],PY[3]
FOR I=0 TO 2
PX[I]=RND(80)+160:PY[I]=RND(80)+80
NEXT
P3_CIR PX[0],PY[0],PX[1],PY[1],PX[2],PY[2] OUT X,Y,R
GCLS
GCIRCLE X,Y,R,#RED
FOR I=0 TO 2
GPSET PX[I],PY[I],-1
NEXT
紙と鉛筆だけで結構楽しめました。
別の変数に置き換えないで展開したら項の数がすごいことになるから試して見てちょ
計算間違いを減らす意味でも置き換えは便利
3つの点の配置次第で外接円が存在しない条件がシンプルに出来たのが収穫ですた
そしてこれはまだとある計画の準備段階でもあるのだ
詳しくは姫草ゆうりさんの「最近傍探索について」トピックのたんじぇさんのコメント参照なのだ
http://petitverse.hosiken.jp/community/petitcom/topic/?read=629きっかけは興味本位だったけど
最初に外接円の中心座標と半径を求める処理を垂直二等分線の交点の式を下地に書いてたらクッソ長くなってやる気無くなったから
モチベアップのために自分にムチ入れたのだ
ドロネー図の自動地形生成処理への応用方法考えてたら結構楽しいのだ
wikiとか見ちゃえば楽なんだろうけどそれじゃ面白く無いので遠回り楽しんでるのだ
何かリズミカルおもちつきの曲関係でD.K.さんにめっちゃ叩かれてたみたいだけどめげないmoiっち好き
応援してる