絵を描くことは好きなのですが。
中学の頃から3次元グラフィックにハマっていたので、図学には一日の長があります。
座標変換のための三角関数方程式だけではなくてですね。
当時のアフターバーナーなどの高速3次元ゲームでは当然の技術でもあったのですが、三角関数を配列変数にしてしまうんです。
sinやらcosやら正確に求めることもできるし、正確じゃないと物体を回転させたときに正確な座標が決まらない。
ところが正確な三角関数をコンピュータで算出するためには時間がかかる。
処理速度と最低限必要な精度の三角関数を得るために、予め求めたsinとかcosとかの数値を配列変数に保存しておくんですよ。
小数点以下も必要な精度に丸めます。
当時のブラウン管テレビの解像度は640×480程度なので、小数点以下2〜3桁程度までの数値精度でも、高速に移動している限りそんなに気にならない。
3次元グラフィックのゲームを作ろうとしていたので、物体の当たり判定やら、光の反射を追跡するレイトレーシングや、近似曲線計算などもしないと、今のリアルワールドゲームで当たり前にやっている人の皮膚の質感など表現できないわけで。
ジュラシック・パークの恐竜の質感や重量感などは、一つのマイルストンだったわけです。
理工学系の大学課程に進んで、結局その内容を更に深化することになる。
運動力学に限らず、材料力学や構造力学、おなじみの有限要素法などは、いわばリアルワールドをシミュレーションするための一大学問でして。
微小領域の力学的変形を図学的に模擬して、それを積分したり、要素間でエネルギーを伝達させて、行列式で解くなどするわけです。
これだけでもかなりチンプンカンプンになる内容でもある。
微小領域に分割しすぎると、計算時間もかかるし、計算が発散して解が求まらないこともあるので、要素分割するメッシュの精度を最適化する必要もある。
さらに求めた解が段階的であると見えにくいので、計算結果を補完して曲線近似する必要もある。
おう、なんだ。
結局、カセットテープを記憶媒体としていた安くて遅いBASIC環境とそんなに変わらず、やっていることは複雑であるし、変数も膨大でメモリーをやたら消費するとはいえ、ちまちまとした効率化テクニックが必要な、ゲームプログラミングと実はそんなに変わらないんだ。
絵を描いたり、漫画を描いたり。さらには印刷物版下デザインをやったり、当用漢字に無い人名漢字をIllustratorで作るなどという仕事もするわけですよ。
するとそういった数学的な図学的要素はめちゃくちゃ役に立つわけです。
もちろん構造設計をやって図面を描いたりするわけですが、3次元CADを使いこなそうとすると、フィレットをかける順番で角を丸める形が変わったり、計算が発散して丸めることそのものができないという現象が、頭の中で数式が発散するイメージとして理解するので、どうすれば解決できるかもわかる。
そんなわけで。
二次元CADで図形をグリグリ回して挙動解析などのイメージを検討するぐらいは、別に苦でもなんでもない息を吸って吐くぐらいの日常行為なのだけど、やってなければそれも難しいのだろうとは思う。
別に曲面や斜線を多用した設計もできるのだけど、製造検査がそれを作れない測定できないのであれば、設計してもそんなに意味がない。
プラモデルみたいに、図面通り作って組み合わせれば結構立派な構造物が完成するなんてこともできますけれどね。
幼稚園でユネスコ展に選定されるぐらいは、生まれも育ちも無駄に絵描きなんですよ。