Math 带角直线方程
给定一个起点、线的长度和线的角度(相对于x轴),我怎样才能找到一条线的方程或画一条线呢?您需要将它从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 =
(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)和任意角度α,我们需要区分两种情况:
嗯,谁在乎这是线段?他的意思很清楚。但是生成的线不会有长度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