Как закрасить произвольную фигуру линиями? Каким образом закрасить фигуру произвольной области непрерывной линией? Оптимальным считается алгоритм, в котором длина линии минимальна.
На вход программа получает массив координат границы (x,y) произвольной области и ширину линии. ДопустИм минимальный выход за границы области.
Усложненный вариант: линия, приближаясь к границе области, должна разворачиваться по дуге окружности.

21 Авг 2019 в 06:16
195 +1
0
Ответы
1

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

Для усложненного варианта с разворачиванием линии по дуге окружности приближение к границе можно осуществлять по следующему алгоритму:

Находим нормаль к текущему участку границы фигуры.Выбираем направление, в котором будет двигаться линия (например, по часовой или против часовой стрелки).Продолжаем двигаться в выбранном направлении по дуге окружности, пока не достигнем следующей точки границы фигуры.Повторяем шаги 1-3 для каждой точки границы, пока не обойдем всю фигуру.

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

20 Апр в 13:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 887 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир