Math 带角直线方程

Math 带角直线方程,math,geometry,Math,Geometry,给定一个起点、线的长度和线的角度(相对于x轴),我怎样才能找到一条线的方程或画一条线呢?您需要将它从(0,0)画到(x_长度,tan(角度)*x_长度)。坡度将为tan(角度)。你可以通过从一个不同的起点减去一切来调整它。你知道的起点(x1,x2),终点是(x1+l*cos(ang),y1+l*sin(ang))其中l是长度,ang是角度。让我们称起点为(x1,y1)行的另一端(x2,y2) 然后,如果给定长度[L]和与x轴[a]的角度: x2 = x1 + (L * cos(a)) y2 =

给定一个起点、线的长度和线的角度(相对于x轴),我怎样才能找到一条线的方程或画一条线呢?

您需要将它从
(0,0)
画到
(x_长度,tan(角度)*x_长度)
。坡度将为
tan(角度)
。你可以通过从一个不同的起点减去一切来调整它。

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

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

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

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

y2 = y1 + (L * sin(a))
如果角度是从y轴-交换cos和sin

(x1,y1)
(x2,y2)
划一条线

你可能会发现你想让这条线走的方向模糊不清,
你需要注意如何定义角度。

直线方程如下:

m*x + n = y 
m可通过角度计算<代码>m=棕褐色(角度) 如果你知道一个起点,那么你可以找到n

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

如果你想画一条线段,并且你知道长度、起点和角度,有两个方程

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

这意味着
m*(端点X)+n=端点Y

第二个是找到端点

length^2 = (endPoint_X - startPoint_X)^2 + (endPoint_Y - startPoint_Y)^2
只有两件事我们还不知道:端点x和端点Y 如果我们重写方程式:

length^2 = (endPoint_X - startPoint_X)^2 + ( m*(endPoint_X) + n - startPoint_Y)^2
现在,除了端点X,我们什么都知道了。 这个方程将给出端点X的两个解。
然后你可以找到两个不同的ednPoint_Y。

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

让我们从回答标题中的问题开始:

直线方程

直线的方程式是

y = a*x + b
其中,
a
是直线与X轴之间角度的切线,
b
是通过(0,0)绘制的直线的高程

给定角度和点的直线方程

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

b = y0 - a*x0 
现在,方程如下所示:

y = tan(fi)*x + y0 - tan(fi)*x0 = tan(fi)*(x - x0) + y0
在给定点、角度、长度的情况下绘制线段

我们想从起点画一个线段,它的长度是L,与x轴的角度是fi

这是一个完全不同的问题

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

你知道斜边(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)

计算直线方程

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

  • 如果α在k*pi/2附近,k=+/-1,+/-2
  • 否则

  • 嗯,谁在乎这是线段?他的意思很清楚。但是生成的线不会有长度x_长度。这在+-90度(+-pi/2弧度)下不起作用,并且根据角度的不同会有不同的精度(越接近+-90越不准确)。如果给你一个“沿x轴的长度”(在原始问题中),那么你就没有+/-的情况。这也是
    x_length
    的意思。这个问题后来发生了巨大的变化……这就是标题中问题的答案。你的第二个等式是错误的,它应该是起始点Y-(tan(角度)*起始点X),但即使如此,答案也远比必要的复杂。我同意这更复杂。我只是想展示一下,在没有三角函数的情况下,如何做。我不想使用tan(),但我不想进一步扩展我的答案…:)顺便说一下,我编辑了。谢谢…使用正弦和余弦要简单得多。这不适用于tan(+/-pi/2)。一旦我有了第二个点,并假设第三个点连接到它,以90度的角度创建一条线到第一个点(矩形的角),我如何调整角度以找到第三个点?我怎样才能找到福鲁斯点,从第一个点开始倒转?(我知道矩形的高度和宽度)
     m = cot(α)
     b = x1 - m * y1;
    
    m = tan(α)
    b = y1 - m * x1