これが私の質問の正しい場所かどうかはわかりませんが、試してみます。CS と物理学の間のどこかにあると思いますが、これを C++ でプログラミングしているので、ここに投稿します。
図に示すように、粒子に加えられた力によって (x, y) 平面で曲がっている 3D の粒子を見ています。力は北東から入る太い矢印です。y 軸と力の間の角度は "a" です。
パーティクルは速度ベクトル (v_x、v_y、v_z) で左から入り、コーナーで曲がります。これは、ニュートンの第 2 法則によって適切かつ簡単に記述され、問題はありません。これは、オイラー法などによって数値的に簡単に解決できます。これは、これまでのところうまく実装できています。
ただし、図が示すように、粒子は一定の直径 h の円筒管内を移動し、ある時間 t で x 方向と z 方向 (画面の外を指す) の両方で壁までの通常の距離を見つけたいと考えています。「通常の距離」とは、座標系が粒子とともに回転する場合、y および z に沿って粒子からチューブの端までの距離を知りたいことを意味します (チューブの端を指す 3 つの小さな矢印で示されているように) )。最終的な目標は、粒子が壁に衝突したかどうかをどうにかして把握することです。
z 方向については、その軸が軌道中に変化しないため自明です。しかし、y方向は私に大きな問題を引き起こしています。これは私の質問です: 軌道中に y に沿ってチューブの端までの距離を見つける方法はありますか? これを数値的に行っていることに注意してください。したがって、必ずしも分析式は必要ありません。
最高です、ナイルズ。