2016-10-10 6 views
-1

私はSwiftを初めて使っています。今はアプリケーション「スターチャート」のようなスカイマップアプリケーションを作成しようとしています。スイフト - 現在の時間と場所に応じて空の地図を修正するにはどうすればよいですか?

私はすでにNASAからスカイマップ画像を取得してSCNsphereでカバーしています。また、この球の中心にカメラノードを設定して360度に見えるようにしています。さらに、私は、カメラがどの方向を向いているかを確認するためにアクセラレータを使用しました。

「スターチャート」のような空の地図では、データを更新するためのインターネットが必要ないことはわかっています。だから今最大の問題は、私は人々の現在の時間と場所に応じて私のスカイマップの位置を修正する方法を知らないということです。

良い助言と助言がありますか?前もって感謝します!!!私はいくつかの関連情報を見つけるのは難しいが、まだ3週間ここにこだわっているからだ。

+0

はStackOverflowのへようこそ。残念ながらあなたは質問が広すぎます。いくつかの具体的な質問に分けて、それぞれに解決策を見つけようとしてください。このサイトで検索した後で解決策を見つけるのが難しい場合は、ここに投稿することができます。 – xpereta

+1

キットに感謝、私はこの質問を削除し、さらに具体的に尋ねます! – NaiYu

答えて

0

あなたは地球があなたの球の中心に配置されている間time+longitude周りの地球の回転軸とし、軸longitude=90 degrees周りlatitudeであなたの地図を回転する必要があります。星のためにオフセットは重要ではないので無視することができます太陽地球距離また地球の半径も同様です。

時間ローテーションは、day+year個のローテーションを一緒にする必要があります。あなたがより高い精度を望むならば、それの上に歳差運動とナレーションを適用しなければなりません。

大まかに、星が動いているので、実際に高精度や時間間隔が必要な場合(数百年または数千年)、この方法はうまくいかず、実装された動作で星のカタログを使用する必要があります。詳細情報については

参照関連:

カタログと実際の色を使用したい場合、あなたはまた、

そして最後に、このようなアプリケーションのためのいくつかのヒント:

+0

ありがとう!今私は空の地図を修正するために地球の回転と回転を計算しようとしています。しかし、あなたが私に提供したそれらの情報はすばらしいです!私はまず読んでそれをより良くしようとします。 – NaiYu

関連する問題