Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 1
Регистрация: 22.09.2009
Сообщений: 89

Алгоритм заполнения области по критерию четности

10.12.2009, 16:43. Показов 1488. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Надо замутить задачу, но у меня не получается. Надо закрасить многоугольник по алгоритму заполнения парности. Вот дополнительное инфо:

Основная идея алгоритма: В цикле по у проводятся горизонтальные прямые.
Точкам пересечения дуги контура с горизонтальной прямой ставится в соответствие некоторая структура данных, определяющий характер пересечения дуги с горизонтальной линией. Эта структура данных определяет или точки горизонтали являются внутренними или внешними по отношению к рассматриваемой области, а значит известно какие пиксели нужно закрасить.
Введем в рассмотрение переменные выше, ниже которые будут принимать значения, описывающие характер пересечения горизонтальной прямой с дугой контура.
Точки контора, соответствующими локальными экстремумами контора, будут иметь порядки (0,2) или (2,0) (рис. 6а, 6б)
Если контур не содержит кратных точек, и точка контора не является экстремум, то такой точке соответствует структура данных.
Для определения порядков граничных точек используется процедура Link. Появление признаки ошибки при выполнении алгоритма сигнализирует о структурах данных отличающихся от допустимых пар значений (1,1) (2,0) (0,2).
Введем в рассмотрение счетчик значение которого указывает число пересечений контора области по рассматриваемому горизонтальной прямой.


надо только перевести в програмный код следуещие:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Алгоритм заполнения области по критерию четности выглядит следующим образом: 
    Для каждого y от y = y min до y = у max выполнить цикл 
Начало 
Установить значение счетчика в o, l = o 
Присвоить х значение левого края сетки х = х min пока х? x max выполнять 
Если х, в ? контура то 
Если значение счетчика l нечетное то 
Начало 
Закрасить х, в 
Увеличить х: х: = х +1 
Конец 
Иначе 
Link (x, y, выше, ниже) 
Если значение выше, ниже = 1 то увеличить счетчик l: = l +1; 
Если выше + ниже? 0 или 2 то признак ошибки 
Конец 
    Функцию Link определим следующим образом: 
Link (х, у, выше, ниже) 
/ / Х, в - входная информация - координаты пик села, принадлежит контуру 
/ / Выше, ниже - исходная информация - определения верхнего и нижнего порядков точки контора 
Начало 
Установить значение выше, ниже в ноль; 
Если (х-1, в 1) принадлежит контуру то выше: = выше +1 
Если (х-1, в-1) принадлежит контуру то ниже: = ниже +1 
Пока (х, у) принадлежит контуру выполнять 
Начало 
Если (у, х 1) принадлежит контуру, а (х-1, в 1) не принадлежит контуру то выше: = выше +1 
Если (х, в-1) принадлежит контуру, а (х-1, в-1) не принадлежит контуру то ниже: = ниже +1 
Увеличить х 
Конец 
Если (х-1, в 1) не принадлежит контуру, а (х, у 1) принадлежит контуру тем выше = выше + 1 
Если (х-1, в-1) не принадлежит контуру, а (х, в-1) принадлежит контуру то ниже = ниже + 1 
Конец
Зарание спс....
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.12.2009, 16:43
Ответы с готовыми решениями:

Алгоритм заполнения области
Заполнить заданную область точками всех возможных цветов в заданном направлении для всех стандартных графических режимов адаптера VGA: ...

Массив: Посчитать средний процент заполнения вагонов для всех составов, упорядочить их по этому критерию.
Дан массив поездов. О каждом поезде известно номер поезда, пункт отправления, пункт прибытия, количество вагонов, количество мест в вагоне,...

Разветвляющийся алгоритм. Изменить цвет и фон сообщения в зависимости от четности числа
Составьте программу которая при вводе четного числа выводила бы какие - либо сообщения белым цветом(15) на синем фоне(1), а при вводе...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.12.2009, 16:43
Помогаю со студенческими работами здесь

Ограничение области заполнения в Excel
Пользователь заполняет прямоугольную область на листе, напр., B2:F10. При вводе данных по нажатию Enter активизируется ячейка справа...

Некорректная работа алгоритма заполнения области
Доброго времени суток! Столкнулся с некорректной работой алгоритма заполнения области с затравкой: алгоритм не докрашивает внешнюю фигуру...

Алгоритм заполнения множества
Как рандомно заполнить множество состоящее из 20 целых чисел от 1 до 50. К примеру

Алгоритм заполнения алфавита
В общем, сказали зашифровать свою фамилию квадратом Полибия. Сделал матрицу - но мне нужно, чтобы вместо единиц были буквы в алфавитном...

Алгоритм заполнения массива
Нижеприведенный код должен зполнять массив с вопросами (q) и ответами (a) из файла . При нажатии на кнопку текст вопроса/ответа на форме...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru