Mitaka Plusにはやぶさのデータが追加されてますが、この軌道データが読みたい。で、Mitaka自体はMITライセンスなので軌道データ*.pthのフォーマットを追いかけたら、とりあえず単純だったので忘れる前にメモ。
基本
バイナリデータ。double4個で1つ。時刻と座標がひたすら繰り返す。
構造体
struct spacecraft_path_data
{
double t;
vector3d pos;
};
読み込み処理抜粋
spacecraft::load_path(const char* filename)
{
FILE *fp;
if *1 == NULL) return false;
path.clear();
while (true) {
spacecraft_path_data dat;
int count;
count = fread((void*)&dat, sizeof(double), 4, fp);
if (count != 4) break;
dat.pos *= _1AU_pc; // 単位を AU から pc にする
path.push_back(dat);
}
fclose(fp);
return true;
}
留意点
- 座標の単位はおそらくAU
- 時刻はユリウス日とのこと。
- おそらく太陽座標系だけど‥‥、軸はデータをでっち上げてみればわかる気がする。
以上〜。
*1:fp = fopen(filename, “rb”