世界記述について
折角の平穏な週末をぼーっと過ごすのも問題なので、世界記述についてちょっと記述を進めて見ます。
初稿では、物体を機能からでなくその性質から定義してみようという方向性を打ち出しましたが、この方針に則って実際に記述してみよう と。
例:水
- 形態:液体
- 相変化:固体(0℃) 気体(100℃)
- 比重:ほぼ1
- 気化熱:それなりに大きい
- 粘性:低め
- 光線透過率:非常に高い(但し、微弱に青色を散乱する)
- 此処等を参照しながら物性については勉強したいところ
- 電気伝導率:単体では低い
- 溶解傾向:極性の大きいものが良く溶ける
- 浸透性:それなりに高い(今のところ何も溶解していないとする)
さて、物性を記述してここからどうやって水の振る舞いを表現するか? なのですが、以下の通りにしてみたいかと。
- 水に運動エネルギーが加わる
- 水を運動させる為に、水の座標を取得する
- 水の形態を取得する(液体)
- 水の液体としての具体性質を取得する(比重、粘性など)
- 液体の振る舞いを計算するエンジンに物性値を突っ込む
- 振る舞いと形態が出力される
- 形状の変化に合わせて、光線透過率・屈折率などを取得する
- 表示エンジンに必要な値を突っ込んで表示させる
まぁ、要するに物体を固有の関数で扱うのではなく、動作が必要になった時点で物性専門の共通のエンジンで処理、表示が必要になった時点で表示エンジンで処理してみよう と。
考えてみたはよい物の、実はやってる事は実は普通のシミュレーションと同じなんじゃないかとか思えてきました…。まぁ、要するに水の動作って言う関数を作らずもっと一般化した関数で処理してみよう という発想です。
…これはこれでありな気がしますけど、当初案とはまたかけ離れているような気がしなくも有りません。どうしたものやら。