タイトル : アナログ時計の秒針が真っ直ぐにならない 投稿日 : 2008/09/30(Tue) 02:01 投稿者 : ブロッコリー
アナログ時計を作っているときに気が付いたのですが、なぜか秒針が0秒と30秒の位置にあるときに真っ直ぐにならず斜めになってしまいます。(15秒と45秒の位置にあるときは、真っ直ぐになるのですが。) 下のコードは再現可能なように簡略化したコードです。 タイマーとピクチャーボックスを1つずつ使います。 Private Sub Form_Load() Timer1.Interval = 1000 Picture1.Width = 825 '735 のときは真っ直ぐになる。 Picture1.Height = Picture1.Width Picture1.ScaleTop = -1 Picture1.ScaleLeft = -1 Picture1.ScaleWidth = 2 Picture1.ScaleHeight = 2 Picture1.BackColor = QBColor(0) End Sub Private Sub Timer1_Timer() Dim a As Double Picture1.Cls a = 2 * 3.141592 * (Second(Now) / 60 - 90 / 360) Picture1.Line (0, 0)-(Cos(a), Sin(a)), QBColor(15) End Sub Picture1 の Width が 735 のときは真っ直ぐになるのに 825 のときは斜めになってしまいます。 一体、何が原因なのでしょうか? また、どういう条件のときに真っ直ぐになるのでしょうか? どうかよろしくお願いいたします。 |