タイトル : Re: アナログ時計の秒針が真っ直ぐにならない 投稿日 : 2008/09/30(Tue) 10:01 投稿者 : 魔界の仮面弁士
> 一体、何が原因なのでしょうか? 計算誤差でしょう。"3.141592" では、有効桁数が不足していますし。 πの計算時に微小な差があったとしても、たとえば画面側では「0.6ドット」のような 座標位置へ描画する事はできないので、1 ドット単位にまでずれる可能性はあるかと。 > また、どういう条件のときに真っ直ぐになるのでしょうか? 誤差を減らすには、 pi = 4 * Atn(1) のような値を使うことですが、斜めにずれてしまう事を避けたいのであれば、 pi / 2 単位の座標位置は、計算で出さず、固定化しておいた方が良いでしょう。 ちなみに、高速に描画を必要とするソフトなどでは、いちいち三角関数を 使っていると処理速度が落ちるので、良く使う角度などは、最初から 計算結果を配列に保持しておき、それを利用する事も珍しくありません。 |