私は外と円周上に、ポイントが内部であるかどうかを知るために式を知っている:https://math.stackexchange.com/q/198769この引用は、我々は(それが唯一の5行だ、見積もりをお読みください)r
にd
を比較しなければならないことを説明しています。ポイントが円に多かれ少なかれ属しているかどうかを知る方法?
しかし、ポイントが円であるかどうかを知りたいのですが。また、それは本当の問題です:点がビットの内/外の円であれば、円とみなしたいと思います。
どうすればいいですか?私は範囲内のd-r
(すなわち、:比較)を区切ろうとしました。例:
IF(DR> -100 & & DR < 100){点が円上にある}
それは少し半径を有する円のために、-100と100と、動作(すなわち。:すべてビット円の外側/内側にある点は円上にあるとみなされます。
大きな半径の円については、ある点だけが円上にあるとみなされます(円の外/内にある点の一部だけが円上にあるとみなされます)。 。
だから、サークルの外/内のビットであるすべての点は、サークルの半径とは無関係にサークル上にあるとみなされたいと思う。どうやって ?絶対差のためにあなたの比較は
if Abs(d - r) < delta (i.e. 100) ...
として短く書かしかし、あなたは、このような円の半径に応じた相対的な差が必要に思われるかもしれない
*あなたのコードは、コードを記述しようとしているプログラミング言語に固有のものかもしれません。現在の状況では、あなたの問題(コード内で使用されているデータ型の誤解や限界などが原因である可能性があります)を引き起こす原因を突き止めることは非常に難しいです。 –