トピック
In Japan rajimaru

三角関数を用いてアナログ時計を作れると聞いたのですが、どのようにしてできますか?

0そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
var ox=200,oy=100,rs=90,rm=100,rh=70 while 1:vsync var h=val(mid$(time$,0,2)) var m=val(mid$(time$,3,2)) var s=val(mid$(time$,6,2)) var t=h*3600*m*60+s var th=(t/86400)*4*pi() var tm=(t/3600)*2*pi() var ts=s/60*2*pi() gcls gline ox,oy,ox+sin(th)*rh,oy-cos(th)*rh gline ox,oy,ox+sin(tm)*rm,oy-cos(tm)*rm gline ox,oy,ox+sin(ts)*rs,oy-cos(ts)*rs,#red wend
1そうだね
プレイ済み
返信[2]
親投稿
みむ*mim hidemimtp
どこが分からないのか分かりませんが、全部書いてしまっても面白くないので部分的に。 まず最初は、「秒針を表示させる」を目標にするといいと思います。 中心点を(X, Y)、針の長さを L 、今の秒を S とすると、 R=RAD(360/60*S-90) GLINE X, Y, X+COS(R)*L, Y+SIN(R)*L が針を描く基本です。 R=角度 です。「360/60」が一秒の角度で、「-90」は、時計は上が0度、角度計算は右が0度、と90度ズレているのでその補正です。
1そうだね
プレイ済み
返信[3]
親投稿
ΖΕΧ ZEX256
ちょっと書いてみた ZEX_WATCH【EK3VX3ZJ】
1そうだね
プレイ済み
返信[4]
親投稿
MIKI ifconfig
tmread とか便利な命令あったんだ!!
0そうだね
プレイ済み
返信[5]
親投稿
すぎ field2050
秒針のみ、コメのこし
0そうだね
プレイ済み
返信[6]
親投稿
Hanzo rzsense
あまのじゃくで恐縮ですが、三角関数を一切使わないアナログ時計をご紹介致したく。 添付を実行して、←→ボタンで現在時刻に合わせてください。 なお、この時計は、他の皆さんの推奨方式に比べると、誤差がかなり大きいので、正確性を要求される用途にはご使用にならぬよう、お願い致します。
0そうだね
プレイ済み
返信[7]
親投稿
MIKI ifconfig
Hanzo さんの方法は、ちょっと前にあまさとさんが提案してたと思います。 gline 使う方法よりもずっと素直な発想ですよね。 sin, cos 方式のいいところは、これをステレオ音源として再生し、それをオシロスコープで表示させると(XYモード)、アナログ時計として表示可能なことです。
0そうだね
プレイ済み
返信[8]
親投稿
れい rei-nntnd
三角関数を使わないアナログ時計コンテストか… つ砂時計、水時計
0そうだね
プレイ済み
返信[9]
親投稿
MIKI ifconfig
誰か UNIQLOCK 作って!!
0そうだね
プレイ済み
返信[10]
親投稿
ish owlis1
つ花時計、美人時計、腹時計
0そうだね
プレイ済み
返信[11]
親投稿
Hanzo rzsense
私が余計なことをしたばっかりに、話が脱線してしまいまして恐縮です。しかしながら、こうした脱線からまた、思いがけない情報が得られたりもするわけですが。脱線ついでに、MIKI★さんご指摘の、オシロスコープによるアナログ時計の再現ですが、SINとCOSの角度と周期を揃えると、表示の軌跡は円を描き、時計として機能しますが、SIN、COSどちらかの角度や周期をずらすと、表示の軌跡は円ではなく、ずらす角度や周期に応じたさまざまな模様を描きます。これを称して「リサジュー図形」と呼ぶ・・・んでしたっけ?
1そうだね
プレイ済み
返信[12]
親投稿
In Japan rajimaru
見るとたくさんのコメントが…! MIKI★さん みむさん ZEXさん すぎさん Hanzoさん が残してくれたものは全て試します。れいさん ishさん 面白いかもです! Hanzoさん余計なことではないです!
0そうだね
プレイ済み
返信[13]
親投稿
MIKI ifconfig
Hanzo さん リサージュには違いないんですが、私の言いたかった事は http://pc.watch.impress.co.jp/docs/column/musashino_proto/20100519_367627.html こんな時計です。オシロをベクタスキャンディスプレイとして使う方法。 因みに 44.1kHz だと文字盤はこんなに綺麗には出ませんでした。
0そうだね
プレイ済み
返信[14]
親投稿
れい rei-nntnd
今日もどうでもいいコメントして寝ようと。 ①いつのころからか「リサージュ」ではなく「リサジュー」になったんだよなぁ。「リサージュ」を使うのはオッサン。 ②sin/cos使っててもそのまますぐにベクタグラフィックスに変換はできないよ。 glineは始点・終点の指定なわけだから速度考慮しないと線が抜ける。 そもそもオシロでベクタグラフィックスにするのはそんな言うほどの利点ではないんじゃないかと… ③リサージュ図形は厳密には波の場合しか言わないのでHanzo氏が正しくみき氏の「~には違いない」は間違い ④3DSは32727Hzサンプルで10kHzの再生もろくにできないのでその辺考慮してスキャン速度遅くして蛍光タイプ/残像時間長くすればいけるよ。 モデム開発のときオシロ使ってた。
0そうだね
プレイ済み
返信[15]
親投稿
In Japan rajimaru
たくさんのコメントありがとうございました! 活用させていただきます。
0そうだね
プレイ済み