公司新闻

斜墙反弹怎样保留沿墙速度:十组斜面速度投影(实例22)

2026-11-05

平面关卡里的反弹不能一律把水平速度变号。墙面倾斜时,应该把速度拆成垂直墙面和沿墙面两部分,再只反转前一部分。这样可以清楚地区分墙的方向与运动方向。

先确定规则与输入

本例给出指向可活动一侧的非零法向量n。速度v与n点积小于零才视为正在撞向墙;反弹用v减去2倍的(v点积n)/(n点积n)乘n。其余情况保留速度,不再次施加反弹。

十组实验相互独立,法向指向可活动的一侧。

逐项算出过程

实验1速度[2, -3],法向[0, 1],点积-3、法向平方长度1。正在靠墙,应用反射后速度['2', '3'];速度平方和13。

实验2速度[-5, 6],法向[2, 1],点积-4、法向平方长度5。正在靠墙,应用反射后速度['-9/5', '38/5'];速度平方和61。

实验3速度[-6, 3],法向[0, 1],点积3、法向平方长度1。未向墙面运动,保留速度['-6', '3'];速度平方和45。

实验4速度[0, -8],法向[0, 1],点积-8、法向平方长度1。正在靠墙,应用反射后速度['0', '8'];速度平方和64。

实验5速度[-2, 0],法向[1, 0],点积-2、法向平方长度1。正在靠墙,应用反射后速度['2', '0'];速度平方和4。

实验6速度[0, -7],法向[1, -2],点积14、法向平方长度5。未向墙面运动,保留速度['0', '-7'];速度平方和49。

实验7速度[1, 1],法向[1, 1],点积2、法向平方长度2。未向墙面运动,保留速度['1', '1'];速度平方和2。

实验8速度[-3, -8],法向[1, 1],点积-11、法向平方长度2。正在靠墙,应用反射后速度['8', '3'];速度平方和73。

实验9速度[-1, -2],法向[0, 1],点积-2、法向平方长度1。正在靠墙,应用反射后速度['-1', '2'];速度平方和5。

实验10速度[-8, 1],法向[2, 1],点积-15、法向平方长度5。正在靠墙,应用反射后速度['4', '7'];速度平方和65。

分别检查向墙、离墙和切向运动;公式应当改变法向分量而保持切向分量,不需要提前把整数法向换成近似小数。

复核时看什么

反弹前后的速度平方和应相等,法向投影反号,沿墙投影保持。直接把坐标分量各自改号往往无法同时满足这些条件;还应确认法向不必单位化,因为公式已除以它的平方长度。

练习时可以先遮住结果,沿用相同输入独立记录中间状态,再逐项比较。发现不同后先定位最早分歧,确认边界包含方式、编号起点、更新顺序以及是否提前取整。最后结果一致也不表示每个中间步骤都正确,因此保留过程记录有助于看清原因。

适用范围

这里假定完全弹性、静止平面且已确定碰撞时刻。它不求碰撞发生在哪里,也不处理摩擦、能量损失、多个接触面或位置穿透。若角色已经离墙,不能因为仍靠近墙就重复反弹。