русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Популярный метод.


Дата добавления: 2013-12-23; просмотров: 899; Нарушение авторских прав


Алгоритмы вычерчивания линий.

Растровые алгоритмы.

Лекция 16.11.2008

Существует теория особенностей (катастроф), доказывающая, что при проецировании на плоскость произвольного гладкого объекта(плоскости) возможны 3 типа проекций:

- обыкновенная

- складка

- сборка

С точностью до малого шевеления - более сложные особенности оказываются неустойчивыми и при малых изменениях направления проецирования либо взаимного расположения плоскости и КП эти особенности переходят в более простые.

Возникла из геологии - оттуда и название.

 

Большинство графических устройств - растровые, представляют изображение в виде прямоугольной матрицы пикселей (растра), поэтому большинство содержит набор растровых алгоритмов. Любая графическая библиотека, в том числе и в СИ++ содержит модули для реализации основных граф объектов:

- линейные изображения (отрезки прямых, дуги окружностей и эллипсов)

- сплошные объекты (растровые области 2-мерных областей - круги)

- шрифты

- изображение, прямоугольные матрицы пикселей, независимо от содержания объектов (графические примитивы)

 

Функции вычерчивания линий - основные подпрограммы. Используются для отображения линий заданного цвета путём задания координат.

Для растровой графики граф построения линий в общем виде - проблема. Важное понятия для растр сетки - связность, те соединение 2=х пикселей растровой линией. Линии состоит из соседних пикселей оного цвет. Понятия связности

 

a1(x1,y1) и a2(...)

А) 4х связность, когда пиксели соседние, если х или у отличаются на 1.

 

 
 

 

У каждой точки только 4 соседа.

|x1-x2| + |y1-y1|<=1

Б) 8-связность: пиксели соседние, если х и у отличаются на более чем на 1.

|x1-x2½£ 1; ½y1-y2½£ 1.



8 соседей

 

Понятие 4-с более строгое, чем 8-с, т.е. - это частный случай.

В качестве линий на растровой сетке - набор пикселей п1 - пн, где пи и пи+1 - соседние в смысле 4-х или 8-ми связности.

Один из подходов в вычерчивании линий - соотношение между смещением по координате х и у.

Для простоты считаем

0<=y2-y1<=x2-x1 : углы меньше 45

Описание:


Например, надо провести линию a1(0.0) - a2(10,5)

Dx=10

Dy=5

K = 10\5 -коэффициент зависимости, при котором надо изменять х и у при изображении линии, для этого требуется обработка чисел с плавающей точкой, что снижает быстродействие - редкое использование.

 

Алгоритм Брезенхейма для растрового построения отрезка.

Алгоритм Брезенхейма отличается тем что не требуется делить или умножать числа с плавающей точкой. Вместо этого соотношение между х и у представляются косвенно через серии сложения и вычитания. Основ идея - регистрация средних значений погрешности между идеальным положением и положением на экране.

Алгоритм применим для любой формы линии. Суть - итерационный процесс поиска соседних точек начиная с а0(х1. у1):

А) в каждой итерации цикла вычерчивании линии вычисляются 2 погрешности по осям которые увеличиваются с увеличением координат.

Б) Если значения достигнет определённой величины то оно обнуляется а соответствующая координата увеличивается на 1.

В) этот процесс идет до полного построения

 

 

При построении отрезка прямой всегда выбирается ближайший по вертикали пиксель - из 2-х точек выбирается та то ближе (а)

D=(x2-x1)(d-a)

Если д>0 то значение увеличивается на 1 а d=+2(dy-dx)

В противном случае у не изменится, а d = 2dy

Алгоритм в в конспекте.

Для дуг окружностей и эллипсов приращение и погрешности вычисляются по более сложному выражению.

 




<== предыдущая лекция | следующая лекция ==>
Лекция 09.11.2008 | Закраска области заданной цветом границы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.008 сек.