Родились сегодня:
Кожухова Дарья


Лидеры рейтинга

ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

1031

Россия, пос. Теплоозёрск, ЕАО


ID: 226425

Konstantin Shvetski

Модератор

313

Россия, Северодвинск


ID: 401284

Михаил Александров

Советник

277

Россия, Санкт-Петербург


ID: 400669

epimkin

Профессионал

205


ID: 137394

Megaloman

Мастер-Эксперт

156

Беларусь, Гомель


ID: 404002

sglisitsyn

6-й класс

42


ID: 242862

Hunter7007

Мастер-Эксперт

29

Россия, Омск


8.10.3

30.10.2021

JS: 2.10.3
CSS: 4.6.0
jQuery: 3.6.0
DataForLocalStorage: 2021-12-03 01:16:01-standard


Решение алгоритмов, схемы и классы алгоритмов, построение блок-схем.

Администратор раздела: Зенченко Константин Николаевич (Старший модератор)

Консультация онлайн # 109237

Раздел:  Алгоритмы и теория программирования
Автор вопроса: Морозов Павлик
Дата: 13.11.2007, 16:15 Консультация закрыта
Поступило ответов: 1

мне нужен алгоритм определения точек пересечения отрезка и прямоугольника, если отрезок лежит внутри прямоугольника результатом будут точки, задающие отрезок.
пример: входные параметры x1O=0, x2O=5, y1O=1, y2O=1 (отрезок)
x1P=2, x2P=4, x3P=4, x4P=2, y1P=2, y2P=2, y3P=0,y4P=0(прямоугольник)
выходные x1S=2, x2S=4, y1S=1, y2S=1 (результат)
спасибо заранее, буду рад любому ответу (лучше не Pascal)

Ответ # 193677 от Errandir
Здравствуйте, Павлик!

Для упрощения задачи можно сделать аффинное преобразование, так чтобы один угол прямоугольника лежал в начале координат, а его смежные с этим углом стороны — вдоль осей координат (в положительном направлении), и чтобы длина сторон стала равной 1. В полученной ситуации очень просто найти пересечение, то есть координаты двух точек ;). Сделав обратное преобразование мы найдём их координаты в исходной системе.

Конечно можно сделать всё только на формулах, но имхо приведённое решение гораздо красивее.

Будут вопросы, обращайтесь в мини-форум.

Errandir

Посетитель
13.11.2007, 18:02
Мини-форум консультации # 109237
Нет сообщений в мини-форуме
Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Лучшие эксперты раздела

Алексеев Владимир Николаевич

Мастер-Эксперт

Рейтинг: 1031

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 244

Gluck

9-й класс

Рейтинг: 61

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 43

CradleA

Мастер-Эксперт

Рейтинг: 22

Роман Селиверстов

Советник

Рейтинг: 0