2017-08-25 82 views
-1

我試圖在2D遊戲中通過使用這個公式來計算斜率,其中y1 = y +(x1-x)*(v/u)我需要另一個方向的公式(從右到左)。這個公式y1 = y +(v - (x1 - x))不起作用。有誰知道正確的公式?XNA Slope數學公式

這裏是一個圖片可能幫助:

enter image description here

+0

第一個公式只允許斜度爲45度,使用'y1 = y + tan(角度)*(x1 - x)' – meowgoesthedog

+0

y1 = slope *(x1 - x)+ y;其中斜率= v/u。 –

+0

抱歉忘了添加*(v/u),這只是在輸入時出現錯誤。問題不是從左到右向上,那是正常工作,即時尋找一個方向的另一個方向 – Xhen

回答

1

目前還不清楚什麼是已知的,在你的問題未知。你的照片沒有幫助。我會嘗試猜測。

答案不僅僅是高中代數和三角學。

我假設你有一個起點(x1,y1),你選擇的角度theta在正x方向等於零,在逆時針方向增加,距離r表示你'我喜歡旅行。

你可以這樣計算的終點(x2,y2):

x2 = x1 + r*cos(theta) 
y2 = y1 + r*sin(theta) 

這適用於所有角度。例如,您的「向上和向右」爲45度角(pi/4弧度)爲:

x2 = x1 + r*sqrt(2)/2 
y2 = y1 + r*sqrt(2)/2 

你「下來,到了225度角的右邊是:

x2 = x1 - r*sqrt(2)/2 
y2 = y1 - r*sqrt(2)/2