🙄

WEBで使う数学のあれこれ

2025/01/04に公開

ラジアン

角度は一般的には度数法で表される。例えば360度といったように。
しかしながら、プログラミングの文脈では弧度法を用いる。弧度法では角度のことをラジアンと呼ぶ。ラジアンを求める時、角度の基準が円周になる。

円周の求め方

半径rの縁があった時その円周は2×PI×rと表すことができる。半径が1の場合、一周がPIとなりこの事実が重要になってくる。

問題1.90度はラジアンに表すと何になる?
→まず一周を360で割って一度あたりのラジアンを求める(2×PI/360)。次にそれに90度を乗算する。(2×PI/360)×90
javascriptではMath.PIでパイを得ることができ、Math.sinで引数にラジアンを受け取ることができる。
問題2.80度のサインは何になる?
→Math.sin((2×PI/360)×80)
二次元平面で表すとコサインが横方向の移動量、サインが縦方向の移動量を表す。

ベクトル

まずベクトルなどで登場する線形代数学の分野では単体の値のことをスカラーと呼ぶ。例.質量: 50kg のように、大きさのみで方向がない値。一方ベクトルは複数の次元を組み合わせて定義されるものをベクトルと呼ぶ。向きと大きさがあり、全く同じ向きでも大きさが違うことがある。

単位ベクトル

3D数学においてベクトルで向きだけに注目したい時が出てくる。そんな時に単位ベクトルを用いることができ長さが1のベクトルを指す。どんな長さのベクトルでも単位ベクトルに変換することができる。ベクトルの長さを求めその自身の長さで割ってやれば単位ベクトルにすることができる。
ベクトルの長さを算出する方法
ベクトルv=[x,y]
ベクトルvの大きさ=Math.sqrt(x * x +y * y)
ベクトルvの単位ベクトル=[x/ベクトルvの大きさ , y/ベクトルvの大きさ]
ベクトルの長さを1に揃えることを単位化、正規化と呼ぶ。

地点Aから地点Bに任意の座標になっている場合

任意のベクトル=[終点x - 視点x ,終点y - 視点y]

で求めることができる
ベクトルには普通の掛け算という概念はなく外積、内積という積の求め方がある

内積

ベクトル通しのなす角度を求めるときに使う

外積

三次元ベクトル同士の外積の結果は新しい三次元のベクトルを作り出す。返されたベクトルは元になった2つのベクトルと直行する性質をもつ

Discussion