2011-06-18 77 views

回答

6

我認爲這是你要找的。即使你不需要它,我也會在牆的角度添加。

reflectionAngle = wallAngle + ((wallAngle + 180) - (incidenceAngle + 180)) 

如果牆壁是垂直的,它的角度將是90度。

我希望這會有所幫助,祝你好運!

編輯:由於更簡化的方法,張貼由下面凱西:

reflectionAngle = 2*wallAngle - incidenceAngle 
+3

我會簡化爲2 * wallAngle - incidenceAngle。 –

-2

這將是

outAngle = 360 - inAngle

1

你必須改變相對於壁的角座標系(T,N),然後變換回到(x,y)座標。壁座標n垂直於牆壁;方向t通過將t矢量的叉積取爲z方向來創建。

該算法會說傳入(V_T,v_n)速度被改變如下:

  1. 垂直分量v_n改變符號。
  2. 切向分量v_t不變,假設沒有摩擦。

一旦你有了這些,轉換回(x,y)座標。

如果用2D向量來思考,這很容易。