русс | укр

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

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

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

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


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

Двумерное отсечение


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


ОТСЕЧЕНИЕ

Аппроксимация полутонами

 

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

 
 

Визуальное разрешение машинно-сгенерированных изображений можно улучшить с помощью метода, называемого конфигурированием. Для изображения с фиксированным разрешением несколько пикселов объединяются в конфигурации. Рассмотрим возможные группы конфигураций для двухуровневого черно-белого дисплея. Для каждой клетки используется четыре пикселя. При такой организации получается пять возможных комбинаций уровней или тонов серого (0-4) (рис.9,а). Не следует применять ни одну из комбинаций, представленных на рис.9,б,в, иначе это приведет к тому, что для каждой области с постоянной интенсивностью на изображении появятся нежелательные горизонтальные или вертикальные линии. Число доступных уровней интенсивности можно увеличить с помощью увеличения размера клетки. Конфигурации для клетки 3х3 пикселов дают десять уравнений интенсивности. Клетки конфигураций необязательно должны быть квадратными (например, 3x2).

 

 

 

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

 

 

Отсекающие окна задаются левым (Л), правым (П), нижним (Н), верхним (В) двухмерными ребрами (рис.10). Регулярным отсекающим окном является прямоугольник, стороны которого параллельны осям координат объектного пространства или осям координат экрана. Целью алгоритма отсечения является определение тех точек, отрезков или их частей, которые лежат внутри отсекающего окна. Эти точки, отрезки или их части остаются для визуализации. А все остальные отбрасываются.



 
 

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

Xл£X£Xп,

Yн£Y£Yв.

Знак равенства здесь показывает, что точки, лежащие на границе окна, считаются находящимися внутри него.

Отрезок лежит внутри окна и, следовательно, является видимым, если обе его концевые точки лежат внутри окна, например, отрезок ab на рис.10. Если обе его концевые точки лежат справа, слева, выше, ниже окна, то этот отрезок лежит целиком вне окна, а значит невидим. Проверка последнего условия устранить все отрезки ij, но не устранит все отрезки gh и kL, которые видимы частично, либо полностью невидимы.

Пусть a и b - конечные точки отрезка, тогда можно записать алгоритм, определяющий все полностью видимые и большинство невидимых отрезков.

 

Простой алгоритм определения видимости

 

a, b – конечные точки отрезка в координатном пространстве (X, Y)

для каждого отрезка проверить полную видимость

если одна из координат какого-нибудь конца отрезка находится вне окна, то отрезок не является полностью видимым.

 

if Xа<XЛ or Xа>XП then 1

if Xb<XЛ or Xb>XП then 1

if Ya<YН or Ya>YВ then 1

if Yb<YН or Yb>YВ then 1

отрезок полностью видимый

визуализировать отрезок

goto 3

проверить полную невидимость отрезка

если оба конца отрезка лежат слева, справа, сверху или снизу от окна, то факт невидимости отрезка подтверждается

 

1) if Xа<XЛ and Xb<XЛ then 2

if Xa>XП and Xb>XП then 2

if Ya>YВ and Yb>YВ then 2

if Ya<YН and Yb<YН then 2

отрезок частично видим или пересекает продолжение диагонали, оставаясь невидимым

определить пересечения отрезка с окном

 

2) отрезок невидим

 

3) переход к следующему отрезку

 

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

 

 



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


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


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

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

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


 


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

 
 

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

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