
ベクトル演算むずい。何がどこに関わってるのかワカラン。。。
地球のポリ数を増やすと、1フレームの描画に50msecくらいかかる。拡大していくと時間が短くなるので、ポリの計算とかより、実際にBitmapに書き込む処理が重そう。大雑把な表示なら15度間隔で割れば十分だけど、拡大して表面に近づくと、5度くらいで割りたくなる。Level of Depthでスケーラブルにポリ数を変える? いやいや、ワイヤーフレームでそんな事やったら……
ALOSって、左右非対称だし、でかいアンテナパネルあるし、前後が分かりづらいのを除けば、形としては面白い。制御は面倒だろうけど。
ADEOS-IIやHIMAWARI-8/9もアシンメトリーな形状だけど、短寿命だったり、動き回らなかったり。上図のALOSだって軌道としては忠実じゃないけどね。
あと、構造がかなりシンプルなのでローポリの3Dモデルでもそれなりにそれっぽく見える。
前後に関しては、例えば後部は全体が膨らんでいたり、DRCアンテナがついていたり、前部は光学系がついていたり、外観的な特徴はあるけど、低ポリかつ凹凸の無いモデルでは、再現できない。
ALOS-4だと、またアシンメトリーな感じに戻るのかな。打ち上げ時期が先のせいか、JDAにもカテゴリが作られてない。
ALOS-4は、PARSARが斜めな気がするんだけど、資料によると左右観測ができるようなので、アンテナは水平に付いてるんだろうか?
ALOS-3は光学衛星なので、合成開口のように斜め観測の要求がないし、開口も小さくできるから、かなりシンプルな外観。打ち上げも20年度と目前なので、いろいろ画像とかも出てきてる。
とりあえず、表示周りはある程度使えるようになってきたので、軌道伝搬の方に戻るかな。
そういえば、ポリゴン類は親子孫でネストして、各段で移動や回転ができるので、例えば太陽光パドルを別のSTLから読み込んで、パドル部分を個別に回転させる、みたいなことも、やろうと思えばできるはずなんだよな。飽きたら気分転換にやってみるか。GEOなら太陽方向を計算して回し続ける、とかもできるし。
もともとは楕円の計算と表示だけの予定だったのに、どんどん機能が増えていく。。。
***
追記
スケーリングとかオフセットとかネストとか、いろいろな条件が重なって出てくるバグ取りめっちゃ面倒。。。
衛星の姿勢はQuaternionで持ってるから、推力ベクトルもそれに合わせれば、軌道変更時の姿勢変更とかも表現できるんだよなぁ。ここまで来ると一通り実装しておきたい気もしてくる。
ポリ表示のON/OFFとか切り替えられれば、ロケット打ち上げのアニメーションとかも、表示できるんだな。いよいよもってZバッファ必要になってくるが。
それならCesiumとかで作り直すべきという気もする。が、Cesiumって3Dモデル扱うの面倒だった気がする。ファイルフォーマットが特殊で。5年も前の話だし、最近は使いやすくなってたりするかな? あと、Webサーバー建てないと動作確認もできなかった気がする。機能が豊富だと最初が大変だなぁ。後々楽になってくるんだろうけど。
もうちょっとC#で頑張ろう。。。
0 件のコメント:
コメントを投稿