正射影ベクトルの公式というものがあるらしい。
正射影ベクトルの公式の証明と使い方 | 高校数学の美しい物語
これは、「ベクトルをベクトル方向に射影したベクトルを求める」というものである。
この公式を見て思ったのは、「計算出来るけど『意味が』分かり易い形ではない」ということである。
プログラムのソースコードを書いているとだんだんわかってくるが、1週間単位で見ても、「とりあえずグチャグチャでも良いから動けば良い」というものを書くより、「後で見返したときに『意味が』分かり易いように書く」方が重要であることが多い。
そもそも、ベクトルとは何か?
結局は、「その人がどう思っているか?」が全てであり、その思考が反映された展開が成されていれば、細部はともかく「気持ち」はわかるものになるはずである。
ベクトルを幾何的に思っていれば、「ベクトル=大きさ×向き」という風に捉えて話が進むし、一次元配列だと思えばプログラム的な見方になるわけで、「こう考えなければならない」というものはない。
重要なのは「こう考えていますよ~」という意思が分かるように記述することである。
今、ベクトルを幾何的に捉えるとする。
すると、「ベクトル=大きさ×向き」であるため、「大きさ」と「向き」がわかればベクトルが求まると素直に考えるであろう。
もしくは、ベクトルが与えられたときに、どれが大きさでどれが向きが分かるように書くのが自然である。
これに則ると、まず向きは、の方向だから、を自身の大きさで割った向きが欲しい。
次に、「方向に射影したの大きさ」が知りたい。この「射影」は方向ベクトルとの内積を取ることで達成される。
したがって、
よって、射影したベクトルは、「大きさ向き」に則った形で表せる。
この形の方が、明らかに直感的で、もし万が一書き間違えてもミスに気付き易いであろう。
「失敗しないようにする」のではなく、「失敗してもそれに簡単に気付けて修正出来る」方がよっぽど重要である。