これらはどれも$\theta$の関数であり、まとめて三角関数という。)定義自体は長いですが、簡潔にまとめると以下のようになります。これをまとめて三角関数と呼びます。($x,y,r,\theta$は下図や定義内参照)三角関数自体の定義はこうなっていますが、CGの世界では$r=1$で扱うことが非常に多いです。(なぜなら、角度の度合いしか考えないため、長さは必要ないと考えることが多いから)なので、$r=1$とすると、定義はこのように変えれます。すると凄いシンプルに考えれますね。(補足)感の良い人なら分かると思いますが、$\tan\theta$は直線の傾きを表します。この性質は、CG屋でよく使う話なので覚えておくと良いでしょう。上図を例にして、原点と点Pの傾きを考えてみます。直線の傾きは(直線の傾き)=\dfrac{(yの変化量)}{(xの変化量)}なので、上図の直線OPの傾きは(直線の傾き)=\dfrac{(y-0)}{(x-0)}=\dfrac{y}{x}となりますが、これは$\tan\theta$と同じ値ですね。ここからも$\tan\theta$は直線の傾きを示すことがわかると思います。基本的に、三角関数の値は計算機を使わない限りほとんどわからないです。有名角2のみは知られている($\tan\frac{\pi}{2}$を除く)のでそれを紹介します。以降は弧度法で角度を書きます。$0$このように有名角は値が知られているので、それを組み合わせてあらゆる角度に対する値を計算します。どのように計算するのか。三角関数にはこれらを解決するための公式がたくさんあります。三角関数の様々な公式ここからは、こんな公式があるというのを紹介していくので、こんな公式があるんだ程度に見てください。実際に角度変換する際としての参照先として使ってくれるとありがたいです。三角関数の相互関係$\sin\theta,\cos\theta,\tan\theta$には次のような関係があります。\tan\theta=\frac{\sin\theta}{\cos\theta}\sin^2\theta+\cos^2\theta=11+\tan^2\theta=\dfrac{1}{\cos^2\theta}特に、$\sin^2\theta+\cos^2\theta=1$は非常によく使うので、覚えておくと良いでしょう。解説すると、一番目は、$\tan\theta$の定義であり、二番目は定義の図の斜辺の求め方であり、三番目は二番目の式の両辺を$\cos^2\theta$で割ると出てきます。下図のように三角形ABCがあり、三角形の外で接する外接円の半径をRとすると、以下のような関係が成り立ちます。\frac{a}{\sin{A}}=\frac{b}{\sin{B}}=\frac{c}{\sin{C}}=2Rこの定理は外接円とも絡むため、CG屋としての出番はそんなにないかもしれないです。角度同士の関係を導く際には使うかもしれません。ちなみにこれをコードにすると以下の通りとなります。ような三角形ABCにおいて、以下のような関係が成り立ちます。a^2=b^2+c^2-2bc\cos{A}b^2=c^2+a^2-2ca\cos{B}c^2=a^2+b^2-2ab\cos{C}こっちのほうがかなりCG屋としても使うことが多いでしょう。(辺の長さを求めるのに便利なため)ちなみに余弦定理をコードで書くと次のようになります。扱う上で以下の式は非常に重要な式となっています。コード上では、任意の角度でコンピュータが計算してくれるので必要ないですが、論理を考える際には切っても切れない関係式です。\sin(α+β)=\sinα\cosβ+\cosα\sinβ\sin(α-β)=\sinα\cosβ-\cosα\sinβ\cos(α+β)=\cosα\cosβ-\sinα\sinβ\cos(α-β)=\cosα\cosβ+\sinα\sinβと言っても、覚えておくのは一番目と三番目だけで十分ですよ。倍角の公式は加法定理を変形して作ります。(具体的には、$α$と$β$を共に$\theta$とする。)コード上では、任意の角度でコンピュータが計算してくれるので必要ないですが、同じく論理を考える際に出てくるでしょうね。結果としては以下の通りです。\sin2\theta=2\sin\theta\cos\theta\cos2\theta=\cos^2\theta-\sin^2\theta=2\cos^2\theta-1=1-2\sin^2\theta一方で、半角の公式は倍角の公式を移項して作ります。結果としては、以下の通りです。和積の公式も、加法定理を四則演算して作られます。この公式、意外と便利なので論理を考える際に使うこともしばしば。和積の公式は以下の通りです。\sinα+\sinβ=2\sin\frac{α+β}{2}\cos\frac{α-β}{2}\sinα-\sinβ=2\cos\frac{α+β}{2}\sin\frac{α-β}{2}\cosα+\cosβ=2\cos\frac{α+β}{2}\cos\frac{α-β}{2}\cosα-\cosβ=-2\sin\frac{α+β}{2}\sin\frac{α-β}{2}ここまで理解しておけば、三角関数分野としては申し分ないはずです。どのコードを見ても三角関数部分は基礎で詰まることはないでしょう。三角関数の逆関数の総称のことを言います。逆関数については、このサイトが良いでしょう。実際に、簡易的な定義としては以下の通りです。x軸とy軸が直交する直交座標系を角度と長さで表す極座標系に変換すること言います。極座標の良い所として、曲線的な動きが得意という強みがあるのでたびたび使われます。実際に数学的に見てみましょう。直交座標系での点Pの座標を(x,y)とし、同地点に対応する極座標系の座標を(r,$\theta$)とします。このとき、x,yとr,$\theta$の関係は以下の通りとなります。r=\sqrt{x^2+y^2}θ=\tan^{-1}{\frac{y}{x}}これの応用例として、uvの極座標変換があるので、コードを載せておきます。//極座標の角度の定義。r;さらに気になる方はこの記事を読んで見ると良いでしょう。本質的な部分が多いので、理解すると非常に面白いと思います。https://qiita.com/drken/items/41b4ec6bde794cbcd0f6次(ベクトル編):https://qiita.com/hatuxes/items/c7b88a32e0a60ddd3e69弧度法自体の定義はここでは必要としないため割愛した。requestStockLike87@hatuxes都内在住の駆け出しクリエイター。Unityで常に新しいことを学んでいる。upLoginユーザーは見つかりませんでした。