Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Подготовка изображений для вывода






В конечном счете изображение определяется точками и алгоритмом их вывода. Прежде чем информация об изображении будет использована для формирования картинки, она хранится в файле, называемом базой данных. Для представления очень сложных изображений нужны сложные базы данных, для которых предпо­лагается использование сложных алгоритмов организации доступа к ним. Данные или структуры данных в таких базах могут быть организованы в виде кольца, В-дерева, квадратичных структур и т. д. Сами базы данных могут содержать указатели, подструктуры и другую негеометрическую информацию. Однако многие конкретные реализации систем с машинной графи­кой предназначены для работы с простыми изображениями, для которых можно предложить простые структуры данных с простым способом доступа. Наиболее элементарной структурой данных, безусловно, является линейный список. Может показаться неожиданным, но оказалось, что с помощью этой структуры предста­вляются достаточно качественные изображения.

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

во-первых, перемещение пера и курсора, след курсора (в дальнейшем просто курсор), невидимая точка;

во-вторых, изображение линии между двумя точками;

в третьих, вывод точки в заданном месте.

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

Местоположения точки могут быть описаны с помощью вещественных (с пла­вающей точкой) или целых чисел. В случае применения целых чисел возникает множество проблем, связанных с ограниченной длиной слова компьютера. Для представления целых координат, как правило, используется полное машинное сло­во. Наибольшее целое число, занимающее полное машинное слово и необходимое для представления величин со знаком из положительного и отрицательного диа­пазонов, равно 2n-1 - 1, где n — количество битов в слове. Для 16 битового слова это число равно 32 767. Для многих приложений этого бывает вполне достаточно, однако возникают серьезные проблемы, когда требуются большие числа, которые невозможно представить с помощью одного слова компьютера. Эту трудность можно преодолеть, например, воспользовавшись относительными координатами в случае, когда их величина не превышает 60000. При этом в абсолютной системе координат устанавливаются точки с координатами (30000, 30000), а затем с по­мощью относительных координат (30000, 30000) строится точка с координатами (60 000, 60 000). Однако этот способ обладает значительным недостатком: попытка сохранить относительные координаты, превышающие максимально допустимую величину, вызывает переполнение. В большинстве компьютеров результатом це­лочисленного переполнения является генерация чисел с противоположным зна­ком и неверным абсолютным значением.

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

В системе однородных координат n-мерное пространство представляется n + 1 измерением, т. е. трехмерные координаты, однозначно задаваемые тройкой (x, у, z), выражаются через четыре координаты (hx, hy1 hz, h), где h — произволь­ный множитель. Если все координатное пространство в 16-битовом компьютере представляется числами меньше 32 767, то h будет равно 1, а координаты бу­дут представляться путем прямых преобразований. Однако если хотя бы одна из координат превышает число 32 767, например, х — 60 000, то преимущества, ис­пользования однородны]^ координат становятся очевидны. В данном случае мы установили h = 1/2 и координаты точки теперь можно представить в 16-битовом компьютере как (30000, у/2, z/2, 1/2). Однако в этом случае неизбежно сни­жение разрешающей способности, так как, например, значения х = 60000 и 60001 теперь представляются одинаковой однородной координатой. Фактически разре­шение ухудшается для всех координат даже в том случае, если только одна из них превышает максимально допустимое для целых чисел значение.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.