したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が900を超えています。1000を超えると投稿できなくなるよ。

【初心者歓迎】プチコンなんでも相談室【質問専用スレ】

794名無しさん:2015/09/08(火) 18:59:59 ID:fq./BWcc
三角関数が分からないなりに自分勝手に考えを続けてみています。
FOR I=0 TO 360
 X=100+COS(RAD(I))*50
 Y=100+SIN(RAD(I))*50
NEXT
↑これは、よくある三角関数を使って円を描くプログラムで、
変数Iの値が、われわれ人間が普段よく使う角度の値として、
ゼロ度から360度まで1度毎に点を打つ、というものですが、

普通、人間がゼロ度から1周、円を描こうと思ったら、
アナログ時計の12時の位置から描き始めますよね。
人間の感覚では「角度がゼロ イコール 12時」ですが、

このプログラムにWAITを入れて観察すると、
描き始められるのは3時の方向からです。
三角関数で角度を扱う時、90度ズレている印象の理由は、これです。
12時から描き始めるようにするには、
「FOR I=0-90 TO 360-90」と、90度ズラしてやることになります。

3時の方向がゼロ度になっていて、時計回りに角度の値が増える。
この事を踏まえて、>>789でいくつか出た数値を当てはめて考えてみると、

「225度」という数値は、スプライトの中心から見て、
左上にある原点の方角、ということに気づきました。
さっきのプログラムで225度を描かせてみると、左上の方角を指します。

SPANGLE命令でゼロ度、つまり傾き無しを指定したい時に、
225度、つまり左上の方角に対しての計算をして欲しいようにするために、
225という数値を決め打ちしていたんだと思います。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板