fc2ブログ

記事一覧

虚数とは?~その2~

虚数とは?~その1~ からの続きです。
虚数とは2乗したら0未満になる数のことでした。
虚数単位「i」で表現すると
16082500.png
と定義されています。
「虚数」というからには想像上の数でありえない(正確には可視化できない概念的な)数のことなワケですが
そんなことを何故考える必要があるのでしょうか?

虚数自体の概念は500年以上前からありますが、
オイラーさんと言う人が「オイラーの等式(公式)」というものに虚数を使うと
あれまぁ、複雑なありとあらゆる計算がいとも簡単に表現できるではないか!と提唱したことで一気に広まりました。
オイラーの等式はまた今度説明することにして、今回は前回説明できなかった

② 虚数を使うととても複雑な方程式がすごく簡単に計算できるようになる

を見て行きましょう。
最終的には色んな文字で置き換えなければならない高次元方程式をi一つあれば表せるという所に着地地点を置きたいと思います。

まず1次元で正方向にしか存在しない世界を考えます。
その世界では
「東に1m進む」「東に3m進む」といった表現しかできません。
16082501.png

次に正と負が使える世界を考えてみましょう。

「東に1m進み、西に3m進む」という逆方向を考えます。
これは「東に-2m進む」と書き換えることも出来ます。
16082502.png

では同様に
「東に〇〇m進む」という言い方だけで東西南北を示すようにするにはどうしましょう。
ここで南北を虚数軸にしてみます。
16082503.png
このようになります。
ということは「北に2m進む」といういい方は「東に2i進む」と書けます。
よって上図の位置は
「東に1、かつ、北に2」と書けますが、同時に「東に1+2i」という書き方が出来るのです。

この「実数軸」と「虚数軸」が合わさった「1+2i」という数を複素数といい、この平面を「複素数平面」といいます。

例)
実数 … 10, 2.3, 1/3 ...
虚数 … 2i, 2.3i ...
複素数 … 1+2i, 2.5+4.2i...

では「2乗したら-1になる」という概念の必要性はどこにあるでしょうか?
例えば「4+3i」という複素数の座標を考えます。
16082506.png
これにiをかけるとどうなるか?
(4+3i)i=-3+4i
つまり
16082504.png
ここ。
「ん?」と気づくでしょうか。
その通り。90°回転した座標になるのです。
もう一度かけると180°回転し、更にもう二度かけると元の座標に戻ります。
(4+3i)*i=-3+4i
(4+3i)*i*i=-3i-4
(4+3i)*i*i*i=-4i+3
(4+3i)*i*i*i*i=4+3i ← 最初の「4+3i」に戻った!
16082505.png
よって東西南北だけでなく
「東に4m、北に3m行った場所を原点90°回転する」
という複雑な構成要素でなりたつ式を
(4+3i)*i
というi一つで表現可能なのです。
ここで改めて最初の定義を見直してみましょう。
16082500.png
ほら、1にiをかけるたびに90°回転していますね?
16082509.png

このように構成する要素が沢山ある複雑な計算をiという一文字で片付けてしまう、それが虚数なのです。

これはCGの計算やプログラムで拡大縮小や回転を計算する時に非常に便利になります。
16082507.png
今青の正方形があります。
これを拡大・回転して赤の正方形になるように座標を変換する方程式を書きなさいと言われたら少々難しくなりますよね。
これは先ほどの概念を使って書き表すことができます。

青の元となる正方形の座標それぞれに(3+2i)をかけるのです。
0の座標は0のまま
1の座標は3+2iに
iの座標は-2+3iに
1+iの座標は1+5iにになります。これを座標に書くとこうなります。
16082508.png
難しく考える必要があったことが虚数を使うとこんなにも簡単に書けてしまいました。

ゲームの世界で3Dのキャラクタが動くようなシーンがありますよね。
このようなモデルは「クォータニオン」と呼ばれる複素数をもっとパワーアップさせたもの(3つの虚数単位を持つ超複素数系のひとつで四次元数という)で表します。
そうするととても複雑なモデルの回転やスケーリング等の計算が一気に楽になるのです。

・・っていかんいかん、、著者はプログラマーなのですぐプログラミングの話になります。
しかしホントに3次元空間で物体を任意軸方向に回転スケーリングするって真面目に計算するとめっちゃくちゃ大変なんです。
(多分プログラミングするよりその計算式書いてる方がずっと時間かかる)
それが先ほどの「複素数のパワーアップ版」を使うとめちゃめちゃ簡単に計算出来るようになるのです!
今皆さんがやってるPS4やVitaやXBoxのゲームだって(多くの場合)虚数無しには実現できないのですよ!
(もっと知りたい人は「クォータニオンでググってみよう!」)

虚数はこのように色んな計算をすごく簡単にしてくれるパワーを秘めているのです。

しかし!この虚数の神秘的さ、美しさは、先ほどから言っている「オイラーの等式(公式)」にあります。
では20世紀で最も美しいとも言われるオイラーの等式について次の日記で見ていきましょう。

イイネ!してくれる人はここをポチってください(^o^)
スポンサーサイト



コメント

コメントの投稿

非公開コメント