数学

プログラミングで回転させたいなら『ラジアン』を知っておくといいかもよ【初心者向け】

プログラミングを使って、

デザインをしたりアートを作ったりすることを、

『クリエイティブコーディング』というそうで、

子ども向けプログラミング道場『CoderDojo熊本』でも取り入れたいなと思っていまして。

今回のお題は『回転』

絵だったり図形だったりを『回転』させたり、

相手の方向に向けたいなぁと思ったりして。

90度動かしたり、180度動かしたりしてはいたものの、

よくよく調査を進めていくと、角度を表現するには2つの方法があるそうです。

  • 度数法・・ 60度とか90度とか一般的な方法
  • 弧度法・・180度を1ラジアンとする方法

そして、プログラミングでは『ラジアン』が主に使われるそうで。

・・・

・・・

・・・ラジアン?

アオキ
というか『ラジアン』ってなんなのさ?

というわけで、いろいろググってまとめてみることにしました。

Sponsored link

プログラミングで回転させるために・・そもそもなぜに360度?

角度がぐるっと一周回ったら360度というのは、

小学生の頃から何度も教わってきたんですが、

アオキ
そもそもなぜに360度?

と調べてみると、古代メソポタミア時代までさかのぼるそうで。

はっきりとしたことは分かっていませんが、メソポタミアの人達が勝手に決めたそうです。
当時の計測方法では1年が360日くらい、ということが分かっていて、ちょうど色んな数字で割りやすい数字として、360を一周にすると決められたと言います。

つまり、そのときメソポタミアの誰かが、
「やっぱ362°にしようぜ。」
と言ってたら、一回転は362°になっていたのかもしれません。

参照元:一回転ってなんで360度なの?その意外な理由

アオキ
おぅ、、結構アバウトな感じだったんですね・・

思えば、太陽の周りを地球がゆっくり一周まわっていて、

1年は365日ということになっているので、

一周が360となると、

アオキ
実はぴったり一周とはならないんじゃない?

と思ったり。

そこで登場するのが、半径を意味するラテン語『radius』に由来する『ラジアン』です。

ぴったり一周させるための『ラジアン』

結論からいうと、

半径が1メートルの円弧(円の周りの長さ)をそのまま角度として扱おう!

としたのが『ラジアン』になります。

(1rad・・・1ラジアン)

円の周り(円周)の長さは、

円周の長さ = 直径 × 円周率

ということになっているので(今回は詳細はカットします)、

例えば半径が1メートル、直径2メートルの円周の長さは、

円周の長さ = $ 2 \pi $

となります。

円周の長さをそのまま角度として扱うのが『ラジアン』なので、

  • 360度 = $ 2 \pi $ <- これが角度
  • 180度 = $ \pi $ <- これが角度

ということになります。

(本当は $ 2rad \pi $ だそうですが、radはカットするそうです。)

プログラミングでぴったり『回転』させようと思ったら、この法則を使うというわけですね。

アオキ
1ラジアンは約57.295・・だそうです。興味があればググってもらえれば。

『ラジアン』は日本では『弧度法(こどほう)』と呼ばれたりもします。

Sponsored link

プログラミングで回転させるために・・度数法を弧度法(ラジアン)に変換

実はこの弧度法『ラジアン』は、国際単位系の角度の単位になっており、

世界中で一般的な考え方だったりします。

一方で、

コンパス大好きお姉さん
やっぱり一周は360度でしょっ

という意見も多数あり、確かに、

半径なら180度、直角なら90度というのもわかりやすいので、

度数法を弧度法(ラジアン)に変換して使う。

という方法が考え出されました。

当然のようにプログラミング言語にも、

度数法→弧度法(ラジアン)に変換する関数が用意されています。

『JavaScript』なら、最初に角度を指定しつつ、
Math.PI をかけつつ180度で割ったりしています。

他のプログラミング言語でも同じような役割で、

『PHP』なら deg2rad関数があり、

『Python』ならmath.degrees関数があります。

人にとってわかりやすい角度での指定を、

より正確な値で使うために、『ラジアン』に変換するということですね。

プログラミングで回転させたいなら『ラジアン』まとめ

キャラクターなり図形なりを動かそうと思うと、

『傾き』だったり『回転』だったりがどうしても必要になってきます。

『度数』で設定することももちろんできるのですが、

より厳密に、ぴったり合わせるためのツールが『ラジアン』なのかなと思います。

アオキ
なんとも聞きなれない言葉ではありますが、くるくる回転させたいとなったら必須みたいなので、
アオキ
ぜひしっかり使いこなせるようになりたいもんですね。

 

 

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


関連記事

  1. 数学

    【ベクトル解析 発散(div)】わかりやすくまとめてみた

    『3Dプログラミング』に取り組むうちに目にするようになってきた『ベクト…

  2. 数学

    【三角関数】の使い方〜わかりやすさ重視でまとめてみた【動画あり】

    『なんのために勉強しているかわからないランキング』があったら堂々ト…

  3. 数学

    【GLSL(シェーダー)】立体的に見せる方法〜光の反射は『内積』で〜『レイマーチング』入門(2)

    プログラミングでかっこいい映像をつくる方法の一つに、『レイマーチン…

  4. 数学

    【図解】波の用語や動きをプログラミングも交えてまとめてみる【数学&物理】

    先日とあるサイトを見ていたらとてもかっこいい映像を見つけました。…

  5. 数学

    【線形代数】とは?機械学習、3D表現、VR/AR/MRなどに使われる数学〜膨大なデータをスッキリと【…

    パソコンやスマホの高性能化と、超高速通信『5G』の到来で、『AI…

  6. 数学

    【微分】とは わかりやすくまとめてみた〜めっちゃすごいわり算【初心者向け】

    学校の勉強で、『なんのために勉強するのかわからないランキングTOP…

Sponsored link

最近の記事

  1. バックエンド

    【Laravel(PHP)】でできる事をわかりやすく(ざっくりと)まとめてみた【…
  2. 数学

    【三角関数】の使い方〜わかりやすさ重視でまとめてみた【動画あり】
  3. CG関連

    【P5.js】遊ぶようにプログラミングできるクリエイティブコーディング〜はじめの…
  4. バックエンド

    【検索システム】をつくってみた【実際にログインしてさわれます】
  5. 数学

    【微分】とは わかりやすくまとめてみた〜めっちゃすごいわり算【初心者向け】
PAGE TOP
//記事ページのみに構造化データを出力 //サムネイルを取得 //ここから構造化データの記述