三角関数を使い画像を回転させたいと思いました。
度をラジアンに変換するため30°はPI/6で、60°はPI/3等で求まり・・・
で、結局-1〜1の範囲をSinやCosによってぐるぐると取得できることはなんとなくわかったような気がするのですが。
自分なりに行き着いた答えは
範囲の大きさ*sin(ラジアン値) or cos
なのかな?
と、思うのですが、結局0°〜360°をラジアン値に変換し、随時sin関数等に値渡すにはどうすればいいのかわかりません。
まさか直接
sin(PI/6)とか入れるわけにもいかないですし。。。
(それじゃ角度固定になっちゃうわけですが^^;)
ネットでぐぐってみるのですが、やり方へたくそなんですね・・・
それらしいHPを探すことができずに、結局またつまらない質問でここにお世話になってしまいます。
sin,cos等を使いうまく画像を回転させるにはどういう風にすればいいのでしょうか?
ご教授頂けたらと思います。
追伸:
ちょっと説明が意味不明かもしれないですが、
自分なりにはこれで精一杯でした。。。
申し訳ないです。
すいません。ネットみてる内に自己解決です・・・^^;
sin(度*PI/180)
と、書かれてありました。
結果的には求めていた処理結果を出すことができたのですが、
なぜこれでうまくいくのでしょうか?
質問の趣旨変わってしまったのですが教えて頂けたらと。
申し訳ないです。
プログラムとは関係ない数学の問題ですね。
中学(かな?)の数学の教科書を引っ張り出して勉強してください。
>中学(かな?)の数学の教科書
半世紀以上前の「旧制中学」の数学の教科書なら発見できそうだが...
弧度法(ここ40〜50年は高校で履修すると思う)
ラジアン(radian)の定義
π(rad.) = 180
2π(rad.) = 360゜
「ラジアン」で検索して下さい。
>度をラジアンに変換するため30°はPI/6で、60°はPI/3等で求まり・・・
ってわかってるんだから、あとは比の問題ですよね。
比は小学校で習うのかな?
「つーか」さんへ
怒っているのでしょうか?
であれば、「それが何故かは」は論理的に分かりません。
感情的には、理解できます。(^^;;
「つーか」さんの内容を見て、私も「むッ」・・・
「へも」さんが「プログラムとは関係ない数学の問題ですね。」
と参考となる方向にはアドバイスしていますが、ちょと不正確と
思ったので、補足したまでです。
確かに「中学(かな?)」と書いているので、曖昧を認めています。
あくまでも「匿名希望」さんにアドバイスしたつもりです。
「解決」にチェックが付いてなかったことも動機の一つです。
>度をラジアンに変換するため30°はPI/6で、60°はPI/3等で求まり・・・
と記述しているにも関わらず
>sin(度*PI/180)
略
>なぜこれでうまくいくのでしょうか?
と言っているので、「弧度法」あるいは「三角関数」の「本質」を
理解していないと判断しました。
「匿名希望」さんが、まだ「弧度法」を知らないのなら「本質」は
理解できなくとも無理も無いかも、とも言いたかった次第です。
「弧度法」を、この掲示場で説明するつもりはありませんが・・・
(つーか、95%忘れているというのが実態ですが(^^;;・・・)
ここから下の5行は「皆さん」へ
再度「プログラムとは関係ない数学の問題ですね。」を
引用しますが、そうかも知れません。
しかし、そうでないかも知れません。
「本質」を把握してない「プログラム」って怖くないですか?
それが、特に「原子炉の制御」や「JRの運行」等で使われた場合。
再度「つーか」さんへ
>比は小学校で習うのかな?
小学校くらいは卒業しているでしょう?
ご自分で調べて下さい。
様々な回答ありがとうございます。
「弧度法」や「三角関数」の「本質」に関してちょっと勉強してみます^^;
もはや記憶の彼方へと消え去ってますので。。。
これらを自己で勉強しなおし、理解するということで解決とさせて頂きます。
ツイート | ![]() |