具有角度的线方程

时间:2009-10-15 09:38:56

标签: math geometry

如果给定起点,线的长度和线的角度(相对于x轴),我如何找到线的方程或绘制线?

6 个答案:

答案 0 :(得分:32)

起点您知道(x1, x2),终点为(x1 + l * cos(ang), y1 + l * sin(ang)),其中l为长度,ang为角度。

答案 1 :(得分:17)

让我们将行(x1, y1)的另一端称为起始点(x2, y2)

然后,如果给出长度[L]和x轴[a]的角度:

x2 = x1 + (L * cos(a))

y2 = y1 + (L * sin(a))

如果角度来自y轴 - 交换cos和sin。

(x1,y1)(x2, y2)划线。

您可能会发现您希望线路朝哪个方向模糊不清, 你需要小心定义你的角度。

答案 2 :(得分:8)

一条线的方程式如下:

m*x + n = y 

m可以通过角度计算; m = tan(angle) 如果你知道一个起点,那么你可以找到n。

tan(angle) * startPoint_X + n = startPoint_Y

所以n = startPoint_Y - (tan ( angle) * startPoint_X )

如果你想绘制一个线段,你知道长度,起点和角度,将会有两个方程式。

第一个是m*x + n = y(我们已经解决了)。

这意味着m*(endPoint_X) + n = endPoint_Y

第二个是找到endPoint。

length^2 = (endPoint_X - startPoint_X)^2 + (endPoint_Y - startPoint_Y)^2

只有两件事我们还不知道:endPoint_x& endPoint_Y 如果我们改写等式:

length^2 = (endPoint_X - startPoint_X)^2 + ( m*(endPoint_X) + n - startPoint_Y)^2

现在我们知道除了endPoint_X之外的所有事情。 这个等式将为我们提供两个endPoint_X解决方案。 然后你可以找到两个不同的ednPoint_Y。

答案 3 :(得分:3)

实际上有两个不同的问题:一个在标题中,另一个在正文中。

让我们首先回答标题中的问题:

线方程

一条线的等式是

y = a*x + b

其中a是直线与X轴之间的角度的正切,b是通过(0,0)绘制的直线的高程。

线方程给定角度和点

您可以轻松计算a(因为您知道角度),但您不知道b。但您也知道x0y0,因此您可以轻松计算b

b = y0 - a*x0 

现在,等式看起来像这样:

y = tan(fi)*x + y0 - tan(fi)*x0 = tan(fi)*(x - x0) + y0

绘制给定点,角度,长度

的线段

我们想从起点绘制一段,使其长度为L,与x轴的夹角为fi。

这是一个完全不同的问题。

你应该想象一个直角三角形,其锐角位于(x0,y0)。

你知道Hypotenusa(L)和角度(fi)。

根据定义,

a = L*cos(fi) (adjacent, x)
b = L*sin(fi) (opposite, y)

您只需要添加x0和y0:

x1 = x0 + L*cos(fi)
y1 = y0 + L*sin(fi)

答案 4 :(得分:1)

您需要将其从(0, 0)绘制到(x_length, tan(angle)*x_length)。渐变为tan(angle)。您可以通过从该起点减去所有内容来为不同的起点调整此值。

答案 5 :(得分:0)

计算直线方程

y =  mx + b

从点 (x1, y1) 和任意角度 α 我们需要区分两种情况:

  1. 如果 α 大约为 k * pi/2 且 k = +/-1, +/-2,...
 m = cot(α)
 b = x1 - m * y1;
  1. 其他
m = tan(α)
b = y1 - m * x1