今回はProcessing入門書に沿ってベクトル演算を使った放物線のアニメーションをやってみたところ、ベクトルの扱いがあまりに簡単で拍子抜けしてしまったのでそのことについて書く。
さて、私は数学が苦手なのでベクトルについては「矢印をこねくり回すややこしい概念」くらいぼやっとした知識である。
Processingの入門書でさらっと解説してくれるけど、まぁなんか難しそうな印象。足し算は分かるけど、引き算の矢印の起点てそこで合ってるのか??
まぁ取り合えずやってみるか。。と写経を始めた。
え。こんな使うの??なんでもかんでもベクトルだな。。
初期化で気づく。これひょっとして、ただの2要素タプルなのでは?
位置ベクトルなどというややこしい概念を持ち出して位置を原点からのベクトルで表せますみたいなことも書いてあったけど、ただの座標だよな。。
なんでベクトルなんてややこしい入れ物を使うのかと思ったけど、ベクトル同士の計算が楽っぽい。
放物線のメインの物理計算としては上記だけで完結していて、このコードがやってるのは以下のような内容。
- 加速度に重力を足す
- 速度に加速度を足す
- 速度に1-摩擦係数を掛ける
- 位置に速度を足す
- 加速度をリセット
- 描画
中身は恐らく結局x同士・y同士を計算してるだけで、プログラマーとしては至極ありふれた処理なんだけど、数学的にするとこれがベクトルという概念になるのか、なるほど。
え、まさか私が学生時代に挫折したベクトルの本質ってこれだけ?まじで?
あ、そもそも授業寝てたから挫折すらしてねぇわ。
以上