Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [АнГем] Пересечение прямой одной из


Автор: En_t_end 18.4.2007, 13:10
Собственно имеется прямоугольник заданный координатами вершин (x1;y1),(x2;y2),(x3;y3),(x4;y4). Имеется некоторая точка A(x;y), лежащая в прямоугольнике. Нужно вычислить координаты точки A1(b;c) - точки пересечения прямой AA1 с соответствующей стороной прямоугольника.
Причем известно, что угол alfa(наклона AA1) известен, как заданный из промежутка (0;360) градусов.

Автор: Ryoga 18.4.2007, 15:26
Блин, АА1 - это луч, а не прямая. Или именно прямая? Тогда две точки.
Составляем уравнение прямой y = ax+b. a = tg (alfa), вроде. b находим из уравнения, поставив точку А.
Дальше, например, можем найти все пересечения прямой и сторон. Отбрасываем две точки, которые не попали на отрезки сторон. Учитывая, что АА1 - это луч, надо оставить одну из них. Угол Альфа дан - можно это сделать.
Вот, как-то так.
З.Ы.: А лежит СТРОГО в прямоугольнике? Иначе могут быть случаи, что на какой-то из сторон лежит.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)