Подтвердить что ты не робот

Уравнение линии с углом

Как найти уравнение линии или нарисовать линию, учитывая начальную точку, длину линии и угол линии (относительно оси х)?

4b9b3361

Ответ 1

Уравнение прямой похоже на:

m*x + n = y 

m можно вычислить по углу; m = tan(angle) И если вы знаете начальную точку, вы можете найти n.

tan(angle) * startPoint_X + n = startPoint_Y

So n = startPoint_Y - (tan ( angle) * startPoint_X )

Если вы хотите нарисовать сегмент линии и знаете длину, начальную точку и угол, будут два уравнения.

Первая m*x + n = y (мы ее решили).

И это означает m*(endPoint_X) + n = endPoint_Y

Во-вторых, чтобы найти конечный пункт.

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.

Ответ 2

Исходная точка, которую вы знаете (x1, x2), конечная точка (x1 + l * cos(ang), y1 + l * sin(ang)), где l - длина, а ang - это угол.

Ответ 3

Позвольте называть начальную точку (x1, y1) другим концом строки (x2, y2).

Тогда, если вам задана длина [L] и угол от оси x [a]:

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

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

Если угол от оси y - замените cos и sin.

Нарисуйте вашу строку от (x1,y1) до (x2, y2).

Вы можете найти двусмысленность относительно того, в каком направлении вы хотите, чтобы линия шла, вам нужно быть осторожным, как вы определяете свой угол.

Ответ 4

На самом деле есть два разных вопроса: один в заголовке, другой в теле.

Начнем с ответа на вопрос из заголовка:

Уравнение линии

Уравнение прямой

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)

Ответ 5

Вы хотите нарисовать его от (0, 0) до (x_length, tan(angle)*x_length). Градиент будет tan(angle). Вы можете настроить это для другой начальной точки, вычитая все из этой начальной точки.