我不确定这是否是我的问题的正确位置,但我会试一试。我猜它介于 CS 和物理之间,但由于我是用 C++ 编程的,所以我会在这里发布。
我正在查看 3D 中的粒子,由于施加在其上的力,它正在 (x, y) 平面中弯曲,如图所示。力是从 NE 进入的粗体箭头。y 轴与力之间的角度为“a”。
粒子以速度矢量 (v_x, v_y, v_z) 从左侧进入并在拐角处弯曲。牛顿第二定律很好地描述了这一点,没有问题。这很容易在数值上求解,例如通过欧拉方法。这我已经成功实施,到目前为止一切顺利。
然而,如图所示,粒子在恒定直径 h 的圆柱形管中移动,我希望在某个时间 t 找到 x 和 z 方向(指向屏幕外)到壁的法线距离。“正常距离”是指如果坐标系随粒子旋转,那么我想知道粒子沿 y 和 z 到管边缘的距离(如指向管边缘的 3 个小箭头所示) )。最终目标是以某种方式确定粒子是否撞到了墙上。
对于 z 方向,它是微不足道的,因为它的轴在轨迹期间不会改变。然而,y 方向给我带来了巨大的问题。这是我的问题:有没有办法让我找到在轨迹期间沿 y 到管边缘的距离?请注意,我是以数字方式执行此操作的,因此我不一定需要解析表达式。
最好的,奈尔斯。