tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: アナログ時計の秒針が真っ直ぐにならない
投稿日: 2008/09/30(Tue) 10:01
投稿者魔界の仮面弁士
> 一体、何が原因なのでしょうか?

計算誤差でしょう。"3.141592" では、有効桁数が不足していますし。

πの計算時に微小な差があったとしても、たとえば画面側では「0.6ドット」のような
座標位置へ描画する事はできないので、1 ドット単位にまでずれる可能性はあるかと。


> また、どういう条件のときに真っ直ぐになるのでしょうか?

誤差を減らすには、
 pi = 4 * Atn(1)
のような値を使うことですが、斜めにずれてしまう事を避けたいのであれば、
pi / 2 単位の座標位置は、計算で出さず、固定化しておいた方が良いでしょう。


ちなみに、高速に描画を必要とするソフトなどでは、いちいち三角関数を
使っていると処理速度が落ちるので、良く使う角度などは、最初から
計算結果を配列に保持しておき、それを利用する事も珍しくありません。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。