| HOME | PS3 | PSVita | PSP | WiiU | 3DS | DS | Xbox One | XBOX360 | PC | OCG |

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


秋花のプチコンmkIIプログラミング-第6回-~アナログ時計解説編~

 

正弦,余弦を用いたアナログ時計の製作解説編




さて,解説だ。

まず,CLSで画面を消去する。

変数OPは時計の中心座標を表している。{(99, 99)が中心座標となる。}

変数HLは時針,MLは分針,SLは秒針の長さを表している。

変数DL1とDL2は,目盛りの両端が中心からどれだけ離れているかを表している。

OSは時刻取得前の秒数を記録する為の変数だ。

 

最初のFOR文で時刻が更新されるまで待ち,更新されたらFOR文を抜ける。

 

秒針が0でなければ秒針が更新される音を鳴らす。

秒針と分針が0でなければ分針が更新される音を鳴らす。

それ以外なら時針が更新される音を鳴らす。

 

時計盤の外枠と中心軸を描く。

 

変数HAは時針の角度をラジアンで表している。

(H + M / 60 - 3) / 6 * PI()は((h * 30 + m / 2) / 180 – 1 / 2) * PI()を簡略化したものだ。

時針は1時間毎に30度進む。

分単位では2分毎に1度進む。

そして,ラジアンにするため180で割っている。

それから0時のときが一番上になるように1 / 2を引いている。

これをしないと3時間進んで表示されてしまう。

ラジアンなので,最後に円周率を掛ける。

例えば6時の場合は

(6 + 0 / 60 - 3) / 6 * PI() = (3 / 6) π

                                        = (1 / 2) π

                                        = π / 2となる。

これは弧度法で表すと90度だ。

9時45分の場合は

(9 + 45 / 60 - 3) / 6 * PI() = {(9 + 3 / 4 – 3) / 6} π

                                          = {(27 / 4) / 6} π

                                          = (9 / 8) π

                                           これは弧度法で表すと202.5度だ。

弧度法からラジアンに変換するには,180で割って円周率を掛ければ良いし,ラジアンから弧度法に変換するには180を掛けて円周率で割れば良い。

 

角度と長さから目的の座標を求める場合,X軸は余弦,Y軸は正弦を用いることで求められる。

例えば,6時で始点が(99, 99),長さが45だとする。

6時の角度は1 / 2 πなので,X軸は cos (π / 2),Y軸は sin (π / 2),これに長さを掛け,始点に足すことで求められる。

 

X = 99 + cos (π / 2) * 45

   = 99 + 0 * 45

   = 99

 

Y = 99 + sin (π / 2) * 45

    = 99 + 1 * 45

    = 144

となる。

 

よって,6時の場合(99, 99) – (99, 144)の線を引けば良い。

尚,座標は整数でなければならない為,求めた値をサブルーチンで四捨五入している。

 

同様に(M - 15) / 30 * PI()も(m * 6 / 180 – 1 / 2) * PI()を簡略化したものである。

分針は1分毎に6度進む。

秒針の方もほぼ同じだ。

 

時針,分針,秒針を描いた後に目盛りを書いている。

30度毎に目盛りを引くのだ。

残りは以上の説明を理解できれば解るだろう。

関連記事


この記事に拍手する     にほんブログ村 ゲームブログへ このエントリーをはてなブックマークに追加
この記事に含まれるタグ :  秋花     3DS     DSi     プチコンmkII     秋花のプチコンmkIIプログラミング     BASIC言語     SmileBASIC    

コメント:

投稿欄

  • URL
  • コメント:
  • パスワード
  • 秘密
  • 管理者にだけ表示を許可する
トラックバック:
URL:http://afignaz.blog.fc2.com/tb.php/334-d36cd4cb

ゲーム


アニメ


漫画・ラノベ・BL


プロフィール

アフィグナス

Author:
 きんとす
 秋花
 TKG
 SERAHU
(順不同)



秋花
担  当:ブログ管理
主な記事:XBOX・PC周辺機器

秋花
技術者
Windows Phone使用者



TKG
担  当:編集製作・Twitter
主な記事:Sonyのステマ・ニュース

TKG
宣伝者
身の回りがSonyだらけ



きんとす
担当:怠け者
主な記事:オールジャンル・プレイレビュー
TKG
やる気スイッチどこにあるんだろ~


SERAHU
担当:任天堂のステマ
主な記事:DS・3DS
TKG
レアキャラ
DSソフト大量所持罪
プレイレビューを中心に活躍してくれるはず


4人の管理人で記事を更新していきます!
日々、リピーターを増やしていけるように頑張りますp(・∩・)q

今後とも当ブログをよろしくお願いします(^ー゜)ノ

ご意見・要望

カテゴリ


挨拶



最新記事


最新コメント


リンク


RSSリンクの表示


検索フォーム


ブロとも申請フォーム


月別アーカイブ


カウンター


ページジャンプ

全1ページ中
1ページ目
Presented by 遊んだら仲間だ。 篇GAME

Sponsored Link


  
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。