3D世界はベクトルでできている
CGやゲームの裏側にある数学
3Dの世界というと、リアルなキャラクターや建物、美しい風景を思い浮かべる人が多いと思います。
しかし、その裏側ではとてもシンプルな数学が使われています。
それがベクトルです。
CGやゲーム、そしてThree.jsなどの3D技術の世界では、ほとんどすべての動きがベクトルによって表現されています。
ベクトルとは何か
ベクトルとは簡単に言うと、「向き」と「大きさ」を持つ量です。
例えば、
• 右に10メートル
• 上に5メートル
• 前に3メートル
こうした「どの方向にどれだけ動くか」を数値で表したものがベクトルです。
数学ではよく(x, y, z)のように表現されます。
この3つの数字が3D空間の位置を決めています。
3D空間は座標でできている
3Dの世界では、すべてのものに座標があります。
例えば
(0, 0, 0)
これは原点です。
そこから
(3, 2, 5)
という位置に物体を置けば、それだけで3D空間の中の場所が決まります。
つまり3D世界とは座標の集合とも言えるのです。
物体の移動もベクトル
3Dオブジェクトが動くときも、ベクトルが使われます。
例えば、(2, 1, 0)の位置から、+ (1, 0, 0)というベクトルを足すと、(3, 1, 0)になります。
つまり右に1移動したことになります。
ゲームやCGでは、こうした計算が毎フレーム何万回も行われています。
カメラもベクトルで動く
3Dの世界では、カメラの向きもベクトルです。
例えば
• カメラの位置
• 見ている方向
• 上方向
これらはすべてベクトルで定義されています。
Three.jsでも
camera.position
などの値はすべてベクトルです。
つまり
画面に映る世界そのものがベクトル計算の結果
と言えるでしょう。
見えない数学が世界を作る
普段私たちは
• ゲーム
• CG映像
• 3Dサイト
などを何気なく見ています。
しかしその裏側では
・ベクトル
・行列
・三角関数
といった数学が静かに働いています。
一見すると芸術のように見える3Dの世界も、実は数学によって作られた世界なのです。
デジタルの世界は数学でできている
私たちが見ている3Dの世界は、とても直感的でリアルに感じられます。
しかしコンピューターにとって、それはすべて「数字の集合」にすぎません。
座標、ベクトル、行列。
高校で習うような基本的な数学が組み合わさることで、立体の世界が作られているのです。
そう考えると、普段見ているCGやゲームの世界も、少し違って見えてくるかもしれません。