More than 5 years have passed since last update.
ゼロから理解するCGプログラミングのための数学(三角関数編)
93
Last updated at Posted at 2019-05-15
前提
本記事では、.csはUnityC#を表し、.shaderはshaderlabsを表すことを前提とします。
話題に入る前に
弧度法
通常、私たちは角度を表すときに 180° のように度数法で表すことが多いですが、三角関数ではこれとは別に弧度法で角度を表現するのが一般的です。
本記事でも弧度法を普通に扱っていくので、内容に入る前に紹介していこうと思います。
視点としては、一周をどのように定義しているだろうか?という部分に着目していきます。
度数法では、一周を$360°$として角度を表現し、単位に「°」を用います。
反対に弧度法は、一周を$2\pi$として角度を表現し、単位に「ラジアン」を用いる表現方法です。1
なので関係式としては、同じ一周という部分に着目しているので、
2\piラジアン=360°⇔1°=\frac{\pi}{180ラジアン}
という関係式が導けます。
なので、もし本記事を読んでいて弧度法で何度か分からない時は最後の式を活用してもらえればと思います。
例えば、$30°$は何ラジアンなのかを計算するとこのようになります。
\frac{\pi}{180}×30=\frac{\pi}{6}
ちなみに、コードで表すと次のようになります。
example.cs
float angle = 30f; //度数表示
float rad; //弧度法
rad = angle * Mathf.Deg2Rad; //弧度変換
三角関数の定義
三角関数自体は次のように定義されていますが、CG屋には必要ないため興味ある人だけ見るといいと思います。
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
