この記事のURL

http://www.dango-itimi.com/blog/archives/2006/000848.html


FLASH tips 円と直線の交点を求めるには…

円と直線の交点の座標を求めるためにウロウロ検索しておりましたところ、ちょうど求めたいサンプルプログラム(C言語)を載せているサイトがありました。
幾何計算 % C言語ライブラリー

しめしめこいつはいただきだぜ!と思ったのですが、その中で一点だけ困った点が。

円と直線の交点を求めるlncl関数にて

if(fgsq < accy){
	return (3);
}else{
	…

という記述があります。説明によるとlncl関数の戻り値は、『成功すると交点の数、交点が存在しないと-1を返します。』とあります。
交点が3つというのはなんだろう?
円と直線の交点は最大で二つまでになるはずですが、ソースを見て変数fgsqが何を意味しているか私の知識では理解できないので、これはどうしたらいいものか。返す交点の座標を設定する前に関数を終了させているので-1(エラー)の間違いですかなあ。

このページには二直線の交点の計算プログラムもあり、オーバーフローを防ぐための仕組みもあるようなので、以前私が作ったものよりこちらを使ったほうがよさそうですね。でも精度パラメータのaccyの値はどれくらいに設定したらいいのだろうか。

C言語によるサンプルなので、はてさて上手くASに移植できるかどうか。

[ FLASH ] [ tips ] 投稿者 siratama : 2006年01月23日 13:39

トラックバック

http://www.dango-itimi.com/blog/mt-tb.cgi/808

コメント

以下コメントを書き込むだけでは、管理人には通知が行われません。通知を行いたい場合、管理人の書き込みに「返信」を押してコメントをしていただくか、あるいは Google+, Twitter へご連絡ください。




[EDIT]