Найдите длину прямоугольника при изменении внутренней стороны
У меня есть такая проблема и я бы не отказался от помощи или хотя бы подсказок, в каком направлении думать, чтобы ее решить.
Суть этой задачи заключается в следующем:
В 2D пространстве у нас есть 3 прямоугольника. Нам известны точки A, B, Z, W и длина L. Мы изменяем длину линии A1B1 вправо на заданную длину, например 200 см и получаем новый отрезок A1C1 (мы так же не знаем этих позиций). Нам нужно найти позицию точки С и длину отрезка AC
Ответы (1 шт):
Зная координаты точек можно вывести параметрическое уравнение прямой вида ax+by+c=0
Для координат (x1,y1) и (x2,y1), коэффициенты могут быть такими:
a=(y1-y2)
b=(x2-x1)
c=(x1*y2-x2*y1)
вывод тут: http://www.math.by/geometry/eqline.html
Так как справа у равенства стоит 0, то все три коэффициента для удобства можно умножить или разделить на любое число (отличное от нуля). Например, если b не ноль, то можно разделить на -b, и получить более привычный вид y=K*x+B, где K=-a/b, B=-c/b
Выводим его для прямых AB и WB
Прямая A1B1 будет параллельна AB, но на расстоянии L/2 от нее.
У параллельных прямых коэффициенты a и b одинаковы, различается только c.
При этом расстояние между прямыми равно ABS(c1-c2)/SQRT(a*a+b*b) (ABS — модуль, SQRT — квадратный корень)
Таким образом находим уравнение прямой A1B1
Точка B1 находится а) на прямой A1B1 б) на расстоянии L/2 от WB. Решаем систему уравнений, получаем координаты B1
Точка С1 находится а) на прямой A1B1 б) на расстоянии смещения (200) от B1. Решаем систему уравнений, получаем координаты C1
Пряма WC а) находится на расстоянии L/2 от C1 б) проходит через W. Выводим уравнение прямой WC
Точка С находится на пересечении прямых AB и WC. Решаем систему, находим координаты С
Зная координаты, находи длину AC
