Фундаментальные недостатки векторной графики.
§ Не каждый объект может быть легко изображен в векторном виде — для подобного оригинальному изображению может потребоваться очень большое количество объектов и их сложности, что негативно влияет на количество памяти, занимаемой изображением, и на время для его отображения
§ Перевод векторной графики в растр достаточно прост. Но обратного пути, как правило, нет — векторизация растра требует значительных вычислительных мощностей и времени и не всегда обеспечивает высокое качества векторного рисунка.
Сначала рассмотрим стандарт DXF(AutoDesk). Он представляет собой текстовый файл, хранящий описание геометрических примитивов. Файл состоит из четырех частей:
1. общее описание
2. описание таблиц
3. описание блоков
4. непосредственное описание геометрических примитивов
В первой части записывается информация о платформе, системе, в которой был спроектирован DXF формат; угловые точки носителя, на которой будет выводиться графическое изображение; минимальная и максимальная точки фактического размера изображения. И еще более 100 параметров.
Во второй части описываются типы линий, используемые шрифты, цвета, точки зрения (камеры), система координат и т.д.
В третьей части – блоки, состоящие из нескольких геометрических примитивов, в том числе с атрибутивными описаниями. Так как AutoCAD построен на основе функционального языка AutoLisp, то блоки задаются рекурсивно, т.е. описание подблоков идет после описания блока, включающего подблоки.
В большинстве систем считывается следующая информация:
размеры листа и габариты из 1-ой части
4-ая часть
Следовательно, при обмене информацией следует соблюдать следующие правила:
изображение должно по возможности состоять только из сплошных линий;
тексты должны быть определены по типу STANDART;
блоков не должно быть;
Другой векторный стандарт – PLT. Это стандарт вывода информации для графопостроителей фирмы HP. Он представляет собой символьный файл, описывающий черепашью графику (черепашья графика – простейшее построение векторного изображения, состоящее из трех команд: поднять перо, опустить перо и переместить перо). Также есть команда “выбрать перо” (для смены цвета) и начальные команды для инициализации графопостроителя (причем, они могут быть разные для разных моделей) и конечные команды для выключения графопостроителя.
Достоинство данного стандарта – это наиболее простой стандарт для обмена векторными моделями. Недостаток в том, что уничтожается топология геометрических объектов.
Еще один векторный стандарт – EPS. Это стандарт - ПостСкрипт языка для принтера фирмы Adobe. В отличие от других стандартов, здесь может храниться и растровая информация, но качество вывода растра не гарантируется. Стандарт EPS может храниться как в виде текстовой информации, так и в виде двоичного файла (наиболее часто).
Достоинство стандарта – здесь самые низкие объемы получаемой векторной модели.
Недостаток – качество выводимого изображения зависит от типа принтера. Наиболее часто при выводе проявляется эффект муара (повторение с определенным шагом некоторых графических фрагментов). Он может быть полезен (при печати денег, например), но вреден при выводе реалистичных растровых изображений.
6.3. 3D-изображения. Геометрия проецирования. Однородные координаты.
Трёхмерное изображение на плоскости отличается от двумерного тем, что включает построение геометрической проекции трёхмерной модели сцены на плоскость (например, экран компьютера) с помощью специализированных программ.
Для получения трёхмерного изображения на плоскости требуются следующие шаги:
1) моделирование — создание трёхмерной математической модели сцены и объектов в ней;
2) рендеринг (визуализация) — построение проекции в соответствии с выбранной физической моделью. Рендеринг преобразует трёхмерную векторную структуру данных в плоскую матрицу пикселов. Этот шаг часто требует очень сложных вычислений;
3) вывод полученного изображения на устройство вывода — дисплей или принтер.
Для того чтобы увидеть на плоскости монитора трехмерное изображение, нужно уметь задать способ отображения трехмерных точек в двумерные. Способ перехода от трехмерных объектов к их изображениям на плоскости будем называть проекцией. Проекция трехмерного объекта (представленного в виде совокупности точек) строится при помощи прямых проекционных лучей, называемых проекторами, проходящих через каждую точку объекта, пересекая картинную плоскость, образуя проекцию.
Проекция (лат. projectio — выбрасывание вперёд) — изображение трёхмерной фигуры на так называемой картинной (проекционной) плоскости.
Термин проекция также означает метод построения такого изображения и технические приёмы, в основе которых лежит этот метод.
Проекционный метод изображения предметов основан на их зрительном представлении. Если соединить все точки предмета прямыми линиями (проекционными лучами) с постоянной точкой О (центр проекции), в которой предполагается глаз наблюдателя, то на пересечении этих лучей с какой-либо плоскостью получается проекция всех точек предмета. Соединив эти точки прямыми линиями в том же порядке, как они соединены в предмете, получим на плоскости перспективное изображение предмета или центральную проекцию.
Если центр проекции бесконечно удалён от картинной плоскости, то говорят о параллельной проекции, а если при этом проекционные лучи падают перпендикулярно к плоскости — то об ортогональной проекции.
Проекция широко применяется в инженерной графике, архитектуре, живописи и картографии. Изучением проекций и методов проектирования занимается начертательная геометрия.
Однородные координаты — координаты, обладающие тем свойством, что определяемый ими объект не меняется при умножении всех координат на одно и то же число.
Однородными координатами вектора (х, у, z) является тройка чисел (x', y', z', w), где х = х' / w, у = y' / w, z = z' / w, а w — некоторое вещественное число (случай, когда w = 0 является особым).
Данные координаты не позволяют однозначно задать точку пространства. Например, (1, 1, 1, 1) и (2, 2, 2, 2) задают одну и ту же точку (1, 1, 1). При переходе к однородным координатам для точки с координатами (x, y, z) предлагается взять набор (x, y, z, 1). В процессе преобразований координата w может меняться. Обратный переход к декартовым координатам осуществляется посредством деления на w-координату.
6.4. Представление геометрических моделей в программе и базе данных.
В процессе 3D моделирования создаются геометрические модели, т.е. модели, отражающие геометрические свойства изделий. Различают геометрические модели каркасные (проволочные), поверхностные, объемные (твердотельные).
Каркасная модель состоит из множества трехмерных точек и ребер их соединяющих. Для каждой линии известны координаты концевых точек и указана их инцидентность ребрам или поверхностям.
Достоинство – простота описания. Недостаток – неоднозначное определение трехмерного объекта.
Каркасные модели, как правило, используются для быстрой визуализации.
Поверхностная модель отображает форму детали с помощью задания ограничивающих ее поверхностей, например, в виде совокупности данных о гранях, ребрах и вершинах. Поверхностная модель может быть задана тремя способами:
1) Преобразование каркасной модели к поверхностной;
2) Математический способ;
3) Кинематический способ.
В первом виде на каркасной модели через два ребра или три точки проводятся плоскости, определяющие необходимую сложную поверхность. Данная модель также носит название «плоскостная модель».
Второй метод (математический) в настоящее время представлен двумя направлениями: R-функциями и NURBS. R-функция представляет из себя полином некоторой степени от координат x и y.
NURBS (Неоднородный рациональный B-сплайн, Non-uniform rational B-spline) - математическая форма, применяемая в компьютерной графике для генерации и представления кривых и поверхностей. NURBS-поверхности являются наиболее используемой моделью для построения сложных поверхностей.
Третий метод – кинематический. В данном методе сложная трехмерная поверхность строится из множества простых. Эти поверхности могут быть элементарными (плоскость, шар, тор и т. д.) или полученными сложным методом (вращение, сдвиг, вытяжка). Элементарные геометрические модели соединяются с использованием двух теоретико-множественных операций: объединения и пересечения, а также их комбинаций.
Объемные модели отличаются тем, что в них в явной форме содержатся сведения о принадлежности элементов внутреннему или внешнему по отношению к детали пространству.
Геометрические модели объектов можно хранить в обычных базах данных и обрабатывать стандартными способами, но гораздо удобнее и эффективнее использовать пространственные БД. Пространственная база данных — база данных (БД), оптимизированная для хранения и выполнения запросов к данным о пространственных объектах, представленных некоторыми абстракциями: точка, линия, полигон и др. В то время как традиционные БД могут хранить и обрабатывать числовую и символьную информацию, пространственные обладают расширенной функциональностью, позволяющей хранить целостный пространственный объект, объединяющий как традиционные виды данных (описательная часть или атрибутивная), так и геометрические (данные о положении объекта в пространстве). Пространственные БД позволяют выполнять аналитические запросы, содержащие пространственные операторы для анализа пространственно-логических отношений объектов (пересекается, касается, содержится в, содержит, находится на расстоянии X от, совпадает и пр.).
Список систем, работающих с пространственными БД:
Microsoft SQL Server (поддерживает пространственные типы данных с версии 2008), MySQL (поддерживает тип geometry), PostgreSQL(с расширением PostGIS) и др.
6.5. Графические библиотеки
Графическая библиотека представляет собой набор программных компонентов, предназначенных для обработки и вывода графической информации на экран компьютера. Как правило, графические библиотеки тесно взаимодействуют с графическими устройствами ввода/вывода и обеспечивают различные механизмы аппаратного ускорения вывода графики. Современные графические библиотеки также предоставляют программисту богатый программный интерфейс и включают следующие виды программных компонентов:
1) системные функции,
2) векторные функции,
3) растровые функции,
4) геометрические и общематематические функции.
К системным функциям относят установку и выход из графического режима, изменение параметров отображения графической информации, такие как определение окна вывода, настройки графического устройства и др.
Задача векторных функций – обеспечить вывод векторных изображений на растр (экран, экранный буфер). При выводе могут учитываться такие атрибуты, как толщина и тип линии, цвета линий и заливки, параметры сглаживания и др.
Растровые функции предоставляют возможности по выводу и манипуляции с растровыми изображениями: установка пикселя, настройка прозрачности, яркости, контрастности, тип вывода на устройства.
В графических библиотеках присутствует различные группы математических функций:
§ линейные (аффинные) преобразования и построение проекций;
§ векторная и матричная арифметика;
§ функции по манипулированию с цветами, поддержка палитр;
§ работа с геометрическими примитивами (точка, плоскость, треугольник);
§ вычисление параметров освещения;
§ различные виды интерполяции.
Во многих графических библиотеках присутствуют средства по выводу текстовой информации и работы со шрифтами.
Примеры графических библиотек: OpenGL, DirectX, GDI, GDI+ и др.
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ.
7.1. Информационная технология как составная часть информатики.
Информатизация как процесс перехода к информационному обществу сопровождается возникновением новых и интенсивным развитием существующих информационных технологий. Информация превращается в коммерческий ресурс, способствуя получению прибыли при внедрении информационных технологий во многие сферы человеческой деятельности. Возникают информационная экономика, новая информационная инфраструктура промышленности и социальной сферы, формируется информационная культура. Сфера информатики становится доминирующей в деятельности человека, потребляя уже в настоящее время большую долю трудовых ресурсов, чем материальная. Информационный ресурс приобретает коммерческий характер. Получает развитие новый вид услуг - информационный.
Информатика как наука занимается изучением информационных процессов и методов их автоматизации на основе программно-аппаратных средств вычислительной техники и средств связи.
Технология при переводе с греческого (techne) означает искусство, мастерство, умение, а это не что иное, как процессы. Под процессом следует понимать определённую совокупность действий, направленных на достижение поставленной цели. Под технологией материального производства понимают процесс, определяемый совокупностью средств и методов обработки, изготовления, изменения состояния, свойств, формы сырья или материала.
Информация является одним из ценнейших ресурсов общества наряду с такими традиционными материальными видами ресурсов, как нефть, газ, полезные ископаемые и др., а значит, процесс ее переработки по аналогии с процессами переработки материальных ресурсов можно воспринимать как технологию. Тогда справедливо следующее определение.
Информационная технология - процесс, использующий совокупность средств и методов сбора, обработки и передачи данных (первичной информации) для получения информации нового качества о состоянии объекта, процесса или явления (информационного продукта). Для выполнения контрольной работы могут быть применены следующие технологии: решение, списывание.
Информационная технология (ИТ) имеет свою цель, методы и средства реализации.
Целью ИТ является создание из информационного ресурса качественного информационного продукта, удовлетворяющего требованиям пользователя.
Методами ИТ являются методы обработки и передачи данных.
Средства ИТ – это математические, программные, информационные, технические и другие средства.
Практическое применение методов и средств обработки данных может быть различным, поэтому целесообразно выделить глобальную, базовые и конкретные информационные технологии.
Глобальная ИТ включает модели, методы и средства, формализующие информационные ресурсы общества и позволяющие их использовать. Базовая ИТ предназначена для определенной области применения — производство, научные исследования, обучение и т.д. Конкретные ИТ реализуют обработку данных при решении функциональных задач пользователей, например задачи учета, планирования, анализа.