ゲームプログラミングから見る数学 #1 ~ベクトル~

こんにちは。インターン生の小野です。

突然ですがみなさん、「数学」と聞いてどんな感情を持つでしょうか。
目を背けたくなったり、トラウマを感じている人も多いと思います。
苦手意識の一番の要因は、やはり「どこで使うかわからない」という点でしょう。
ですが、身近な場面においても数学的な知識は使われています。
その最たる例が、ゲームです。
プレイヤーキャラクターの動きにも、高校数学の理論を用いてプログラムされています。
そこで今回の記事では、ゲームプログラミングを通して、数学の魅力を伝えると同時に、ゲームプログラマーを目指す人が最低限知ってほしい数学知識をお伝えします。

前置きが長くなってしまいましたが、本題に入ります。
今回は第1回ということで、『ベクトル』というものについて書いていきます。

さて、『ベクトル』とは何でしょうか。
日常会話でも「話のベクトルが違う」と言うこともありますよね。
英語でベクトル(vector)とは、「方向量、方向、進路」といった意味があります。
  参考URL : https://ejje.weblio.jp/content/vector
数学的に言うならば、ベクトルとは「向きと大きさを持ったもの」となります。

※完全に余談ですが、1とか2などの大きさしか無いものは『スカラー』と呼んだりします。

ゲームにおける一番わかりやすい例は、「大乱闘スマッシュブラザーズ」シリーズでしょう。
知らない人はいないとは思いますが、相手を吹っ飛ばして倒すアクションゲームですね。
この、吹っ飛ばすという動作は、どの方向に吹っ飛ぶか(向き)と、
どのくらい吹っ飛ぶか(大きさ)の2つがあることから、ここにベクトルが使われています。
シューティングゲーム等で、プレイヤーキャラクターを追跡するような弾も、
敵キャラクターの位置からプレイヤーキャラクターの位置へのベクトルを用いて表現されています。

さて、1+2=3という式が成り立つのは皆さんご存じでしょう。
では、ベクトル同士の足し算とはどのようにするのでしょうか。
これも単純です。下の図をご覧ください。

かなり簡略化したベクトルAとベクトルBの足し算の図です。
赤い矢印が足し算した結果となります。
図で見るとわかるように、直感でわかるような結果になっています。
逆に考えると、1つのベクトルを2つのベクトルに分けることが出来る、ということでもあります。
なぜわざわざ2つに分けるの?と思うかもしれませんが、それは次回以降説明したいと思います。

ベクトルについては以上となります。
他にもベクトルの便利な性質はありますが、今回は最低限ということでここまでです。
次回は三角関数について書こうと思います。

興味を持たれた方はお気軽にお問い合わせください。

インターンシップへの申し込み・お問い合わせ先

インターンシップへの申し込み・お問い合わせ先
メールでのお問い合わせは、下記フォームに入力して送信してください。
ご氏名 (例)山田 太郎
メールアドレス 半角英数字:ご入力間違いのないようにご注意ください
メールアドレス(確認用) 半角英数字:ご入力間違いのないようにご注意ください
電話番号 (例)0354339211 ※ハイフン抜きで入力してください
題名
お問合わせ内容

アーカイブ

カテゴリー