問題タブ [orbital-mechanics]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 3D 空間で 3D ポイントと有向楕円の間の距離を見つける (C++)
この質問の背景を説明するために、オブジェクトの「軌道」が別の軌道に対する許容範囲内にあるかどうかを知る必要があるゲームを作成しています。これを示すために、Target Orbit を使用して、指定された半径 (許容値) でトーラス形状をプロットし、楕円がそのトーラス内にあるかどうかを確認する必要があります。
Math/Stack exchange の方程式で迷子になっているので、より具体的な解決策を求めています。わかりやすくするために、トーラスと軌道 (赤い線) を使用したゲームの画像を次に示します。簡単に言えば、その赤い軌道がそのトーラス形状内にあるかどうかを確認したいのです。
私がしなければならないことは、これらの軌道の 1 つに World-Space の 4 つの点をプロットすることです (実行するのは簡単です)。次に、その点と他の軌道の楕円との間の最短距離を計算する必要があります。これは難しい部分です。点から楕円までの最短距離を求める例はいくつかありますが、すべて 2D であり、追跡するのは非常に困難です。
その距離が 4 つのポイントすべての許容値よりも小さい場合、それは軌道がターゲット トーラスの内側にあることに相当すると考えてください。
簡単にするために、これらすべての軌道の原点は常に世界の原点 (0, 0, 0) にあり、私の座標系は Z-Up です。各軌道には、それを定義する一連のパラメータ (軌道要素) があります。
python - 2D 物理エンジンで太陽を引っ張る地球
私はPythonで基本的な物理エンジンを作成しており、数学を処理するための単純な「惑星」クラスを作成できました。また、小さな惑星が大きな惑星を周回するときの基本的な作業シナリオ (小さな惑星の質量がゼロの場合) も作成しました。しかし、小さな惑星に質量を与えると、太陽は弧を描くようにゆっくりと右に引っ張られます。この画像で見るのは簡単です:
.
私は何が起こっているのか理解しています.地球は太陽を片側に引っ張って止めていますが、反対側に引っ張っていません. 他のいくつかの情報源を確認しましたが、何も役に立ちません - 実際、この物理シミュレーションには同じ問題があります (システム中心のチェックを外します)。
これは現実の世界で起こるのでしょうか、それともこの種のシミュレーションの不具合でしょうか? いずれにせよ、これが起こらないようにするための何らかのハックはありますか?
私の惑星クラス (すべてのメソッドは非常に簡単です):
そして「メイン」ファイル:
c# - オブジェクトの周りをその速度の方向に回転する
(Unity 5.3.5f1 の場合) 現在、プレーヤーの周りを水平に周回する 3D カメラに取り組んでいます。プレーヤーは RigidBody の回転する球です。プレイヤーは軸を水平方向に自由に回転させることができますが、入力がない場合は、回転を速度の方向にリセットしたいと考えています。
今私が知る必要があるのは、以前の回転からカメラをプレーヤーの周りに回転させることによって、プレーヤーの速度の方向の後ろにカメラを配置する方法だけです。
現在、プレーヤーの周りを周回するようにカメラを更新するには、カメラで次のスクリプトを使用します (コメント付き):
どんな助けでも素晴らしいでしょう!
c - ルンゲ・クッタの軌道の微分運動方程式を C で統合する
C で 4 次のルンゲクッタを使用して、惑星軌道の微分方程式を統合しようとしています。最初に統合しようとした方程式は、位置 dr/dt = sqrt((2/mu)*(E-( k/r)) - pow(l, 2)/(pow(mu, 2)*pow(r, 2)))。プログラムは正しくコンパイルされますが、nan を返し続けます。私が使用しているソースコードは次のとおりです。
私のコードは次のとおりです。
python - 衛星仰角マイナス
最近まで、特定のサイトからの衛星の仰角と方位角を計算するために使用したコードは機能しているように見えました。次に、北半球ではなく南半球のサイトから別のファイルを使用しました。計算された仰角は時々負でした。つまり、衛星が地平線の下にありました。これは正しくないため、衛星の位置に使用されるファイル パラメーターが正しくない (可能性は低い) か、以下のコードが正しくない (可能性が高い) かのいずれかです。
上記のコードが負の仰角を計算しないようにするにはどうすればよいですか?
java - 加速度計からの加速度が与えられた場合、モジュールの空間内の位置をモデル化する方法は?
Grove pi モジュールの 3 次元値 acc_vector = (accX, accY, accZ) を 100 ミリ秒ごとに取得しています。私が欲しいのは、Javaを使用して、モジュールで行った動きを表示することです...しかし、私の問題はそれを表示する方法ではありません:p
このため に、加速度値に対応する位置position_vector = (x,y,z)の値を計算する必要があります。しかし、私はそれを行う方法についての手がかりがありません。
これが私が試したものですが、常に奇妙な結果が得られます(初期位置、速度、加速度は (0,0,0) です):
position_vector = 0.5f*acc_vector*t;
position_vector += acc_vector;
position_vector = acc_vector*(t-t_just_before);