XNA Slope数学公式

问题描述:

我试图在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

目前还不清楚什么是已知的,在你的问题未知。你的照片没有帮助。我会尝试猜测。

答案不仅仅是高中代数和三角学。

我假设你有一个起点(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