Геометрическое моделирование и компьютерная график
Машинная графика как составная часть системы автоматизированного проектирования. Алгоритмы, используемые для получения реалистичных изображений. Размерность массива данных. Интерполяция высшего порядка: сплайны и sinc. Задание декартовых координат.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 26.06.2015 |
Размер файла | 937,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
1. САПР--комплекс средств автоматизации
САПР--комплекс средств автоматизации проектирования, взаимосвязанный с подразделениями проектной организации и выполняющий автоматизированное проектирование. Под автоматизацией проектирования понимается такой способ проектирования, при котором все проектные операции и процедуры или их часть осуществляется при взаимодействии человека и ЭВМ. В результате функционирования САПР--от технического задания, последовательно, проходя ряд проектных стадий пользователь получает рабочий проект объекта проектирования (рабочие чертежи, техническое описание и др. ). Одной из важных составных частей САПР является машинная графика. САПР выполняет ряд процедур определенным образом логически связанных между собой и служащих для принятия проектных решений. САПР могут быть использованы в различных областях науки, техники и производства :для автоматизации проектирования отдельных деталей, предметов и узлов; механизмов и машин, комплексов машин и агрегатов ;производственных линий целых производственных предприятий и комплексов. Разработка, внедрение и развитие элементов и подсистем САПР в различных подотрослях текстильной и легкой промышленности являются одной из важных задач по выводу отросли на современный уровень мирового промышленного производства товаров широкого потребления.
Составной частью САПР является машинная графика- совокупность средств и приемов, с помощью которых осуществляется ввод, преобразование и вывод из ЭВМ графической информации. Машинная графика -новая, интенсивно развивающаяся за последнее время область применения средств вычислительной техники. Термин "машинная графика'' обозначает обработку на ЭВМ графической информации, а также ввод результатов в виде различных графических изображений. Графическая информация наиболее емкое и наглядное представление большого объема информации, однако, практическое применение машинной графики долгое время сдерживалось отсутствием соответствующего оборудования и математического обеспечения. Особый интерес к машинной графике стал проявляться в связи с развитием автоматизированных систем проектирования на базе ЭВМ, которые интенсивно разрабатываются и внедряются в настоящее время не только в машиностроении, приборостроении, радиоэлектронике, но и в текстильной промышленности и других отраслях.
Графическая информация составляет основной объем проектной и конструкторской документации, поэтому автоматизация этих работ на базе ЭВМ с применением средств машинной графики позволяет существенно облегчить труд проектировщика и конструктора и значительно повысить производительность их труда.
В состав технических средств машинной графики входят устройства ввода и вывода графической информации.
Устройства графического ввода (УГВ) предназначены для преобразования графической информации в цифровые коды ЭВМ. существуют различные конструкции таких устройств, принцип работы которых основан на известных физических явлениях. В зависимости от степени участия человека в кодировании графической информации УГВ разделяются на автоматические т полуавтоматические.
В свою очередь автоматические УГВ по принципу действия можно разделить на два типа - сканирующие и следящие. Сканирующие устройства вводят графическую информацию построчно, как в передающей телевизионной трубке, с помощью развертывающих систем. Следящие УГВ отслеживают линии чертежа, прогнозируя возможное изменение линий и производя поиск ближайших точек линии при случайном сходе. Принцип действия обоих типов УГВ основан на использовании фотоэлектрического эффекта.
Имея возможность ввода графической информации без участия человека, автоматические УГВ тем не менее не получили широкого применения в силу некоторых их недостатков. Одним из недостатков таких систем является большой объем оперативной памяти ЭВМ, который требуется для работы с устройствами, а также высокие требования к качеству вводимой графической информации, высокая стоимость.
Наибольшее применение на практике получили полуавтоматические УГВ. Разработана целая серия полуавтоматических УГВ, основанных на использовании различных физических эффектов. В полуавтоматических устройствах оператор-пользователь анализирует чертеж, выделяет элементы, которые необходимо занести в память машины, после чего по его команде ЭВМ вычисляет координаты точек и представляет их в цифровых кодах.
В настоящее время широкое распространение получили дискретные емкостные полуавтоматические УГВ. Чертеж подлежащих кодированию, размещается на планшете. На планшете под чертежом расположена координатная сетка, образованная двумя системами перпендикулярных шин ( проводников ). В процессе работы оператор с помощью специального устройства типа указки возбуждает в шинах электрический потенциал в виде коротких импульсов. Время прохождения импульса по шине зависит от расстояния, поэтому величина времени однозначно характеризует координату точки. При этом погрешность измерения составляет десятые доли миллиметра.
К устройствам вывода графической информации относятся графопостроители и графические дисплеи.
Графопостроители, называемые также чертежными автоматами, предназначены для декодирования цифровых кодов при выводе из ЭВМ и отображения на чертеже в виде графической и текстовой информации. В зависимости от физических принципов, используемых для получения изображения, чертежные автоматы подразделяются на электронные, электрохимические, электромеханические и др.
Наибольшее распространение в САПР электромеханические чертежные автоматы, характеризующиеся высокой точностью и качеством изображения, а также возможностью получения чертежей больших размеров.
Электромеханические чертежные графические автоматы ( ЧГА ) разделяются на планшетные и рулонные. Чертежный автомат планшетного вида содержит планшет с направляющими линейками, по которым в направлении оси Х перемещается траверса, а вдоль траверсы в направлении оси У - каретка с пишущим узлом. Бумага при этом остается неподвижной. Пишущий узел содержит, как правило, 3 самописца для изображения линий различной толщины и цвета. Перемещение траверсы и каретки осуществляется с помощью шаговых электродвигателей, на которые поступают импульсы с блока управления ЧГА. Полученные линии представляют собой траекторию суммарного движения траверсы и каретки.
В отличие от ЧГА планшетного типа в рулонных чертежных автоматах по одной координаты У движется каретка с пишущим узлом, а по координате Х перемещается специальная перфорированная бумага, приводимая в движение реверсивным барабаном. В результате вращательного движения барабана в том или ином направлении и возвратно-поступательного перемещения каретки вдоль образующей барабана получается линия заданной траектории.
Графопостроители могут работать в двух режимах: автономном и централизованном. При работе в автономном режиме графическая информация выводится из ЭВМ на промежуточный носитель, а затем вводится в графопостроитель. Автономный режим используется в тех случаях, если графопостроитель находится на значительных расстояниях от ЭВМ. Вывод информации на магнитную ленту происходит значительно быстрее, чем вычерчивание чертежа на графопостроителе, поэтому даже если ЭВМ укомплектована графопостроителем, иногда используется автономный режим в целях экономии времени. Централизованный режим работы используется в тех случаях, когда графопостроитель подключен через канал связи непосредственно к ЭВМ. В этом случае появляется возможность оперативно получать необходимые чертежи по мере решения той или иной задачи. Недостатком перьевых графопостроителей является относительно невысокая скорость ввода графической информации. Электрический растровый графопостроитель на участки бумаги наносит электрический заряд. Над бумагой распыляется положительно заряженный краситель, где был нанесен заряд. Недостатком таких графопостроителей является низкое качество изображения.
К устройствам графического ввода-вывода относятся графические дисплеи. Графические дисплеи являются более универсальными, так как позволяют выводить на экран текстовую и графическую информацию. Графический дисплей предусматривает возможность корректировки изображения на экране с помощью светового пера. Таким образом можно осуществлять различные преобразования графической информации(поворот, сдвиг, масштабирование). В настоящее время появились высококачественные растровые дисплеи, которые позволяют совместить в одном устройстве функции алфавитно-цифрового и графического дисплеев.
Диалоговые графические комплексы предназначены для решения различных задач автоматизированного проектирования. В их состав входят мини- и микроЭВМ и набор устройств подготовки, ввода, отображения, документирования и хранения данных. Комплекс может работать и в автономном режиме, и в связи с другими ЭВМ.
В автономном режиме - для решения задач, не требующих большого объема памяти. В режиме связи- для решения задач, требующих обработки больших объемов информации. Структура и состав комплекса определяется функциональным назначением и классом решаемых задач.
2. Алгоритмы, используемые для получения реалистичных изображений
Для получения трёхмерных и/или реалистичных изображений применяются многие методы и алгоритмы: алгоритм, использующий Z - буфер; алгоритм построчного сканирования; метод излучательности; простой алгоритм закраски; алгоритм закраски по методу Гуро; алгоритм закраски по методу Фонга и т.д. Дадим краткую характеристику некоторых из них.
Алгоритм, использующий Z-буфер.
Одним из простейших алгоритмов удаления невидимых поверхностей является алгоритм, использующий Z-буфер. Этот алгоритм работает в пространстве изображения. Здесь обобщается идея о буфере кадра. Буфер кадра используется для заполнения атрибутов (интенсивности) каждого пиксела в пространстве изображения. Наряду с буфером кадра вводится Z-буфер, представляющий собой специальный буфер глубины, в котором запоминаются глубины (координаты Z) каждого видимого пиксела в пространстве изображения. В процессе работы глубина каждого нового пиксела, который надо занести в буфер кадра, сравнивается с глубиной того пиксела, который уже занесен в Z-буфер. Если это сравнение показывает, что новый пиксел расположен ближе к наблюдателю, чем пиксел, уже находящийся в буфере кадра, то новый пиксел заносится в буфер кадра. Помимо этого производится корректировка Z-буфера: в него заносится глубина нового пиксела. Если же глубина нового пиксела меньше или равна хранящемуся в буфере, то никаких действий производить не надо. В сущности алгоритм для каждой точки (x, y) находит наибольшее значение функции Z (x, y).
Этот алгоритм, несмотря на свою простоту, позволяет удалять сложные поверхности и позволяет визуализировать пересечения таких поверхностей. Сцены могут быть произвольной сложности, а поскольку размеры изображения ограничены размером экрана дисплея, то трудоемкость алгоритма имеет линейную зависимость от числа рассматриваемых поверхностей. Элементы сцены заносятся в буфер кадра в произвольном порядке, поэтому в данном алгоритме не тратится время на выполнение сортировок, необходимых в других алгоритмах. Один из недостатков алгоритма - большой объём требуемой памяти - может быть достаточно просто решён использованием расширенной памяти. К другим недостаткам алгоритма относятся - трудоемкость устранения лестничного эффекта и невозможность реализации эффектов прозрачности (простое пропускание света можно встроить в любой другой алгоритм удаления невидимых поверхностей).
Алгоритм построчного сканирования.
Алгоритм построчного сканирования устраняет недостаток алгоритма с Z-буфером, связанный с большим объёмом требуемой памяти. Он работает в пространстве изображения и обобщает идеи растровой развертки многоугольников. Алгоритм сводит трехмерную задачу удаления невидимых линий и поверхностей к двумерной. Сканирующая плоскость определяется точкой наблюдения, расположенной в бесконечности на положительной полуоси Z, и сканирующей строкой, соответствующей очередной строке экрана дисплея. Пересечение сканирующей плоскости и трехмерной сцены определяет окно размером в одну сканирующую строку. Задача удаления невидимых поверхностей решается в пределах этого окна, образованного сканирующей плоскостью. Как и в предыдущем алгоритме, создаётся Z-буфер, но по объёму соответствующий количеству пикселов только одной строки экрана. Первоначально этот буфер заполняется минимальным значением Z, а в буфер кадра заносится фоновое значение интенсивности. Затем определяется пересечение сканирующей строки с проекцией каждого многоугольника на плоскость XOY (если эти пересечения существуют). Пересечения образуют пары, поэтому в интервале между концами пар глубина многоугольника сравнивается с глубиной, содержащейся в Z-буфере. Если глубина рассматриваемого пиксела многоугольника больше значения из Z-буфера, то рассматриваемый многоугольник будет текущим видимым. Атрибуты этого многоугольника заносятся в буфер кадра в текущую позицию, одновременно корректируется и значение глубины в Z-буфере. После обработки всех многоугольников сцены буфер размером в одну строку содержит решение задачи об удалении невидимых поверхностей для данной сканирующей строки и может выводиться на экран. Для повышения эффективности работы используется список активных многоугольников.
Метод излучательности.
Основными недостатками метода трассировки лучей (подробно рассмотрен ниже) являются неэффективность работы с диффузными поверхностями и то, что определение освещённости поверхностей производится параллельно с построением изображения и зависит от положения наблюдателя так, что любое изменение положения наблюдателя ведёт к полному пересчёту всей сцены.
Метод излучательности устраняет эти недостатки, обеспечивая одновременно и высокую точность при работе с диффузными объектами, и отдельное вычисление глобальной освещённости независимо от положения наблюдателя.
В основе метода излучательности лежит закон сохранения энергии в замкнутой системе. Все объекты разбиваются на фрагменты и для этих фрагментов составляются уравнения баланса энергии.
Для определения цвета фрагмента соответствующие линейные системы записываются для каждой из трёх основных цветовых составляющих, причём коэффициенты формы определяются только геометрией сцены и от цвета не зависят.
Обычно после определения освещённости каждого фрагмента производится билинейная интерполяция освещённости по всем объектам, дающая плавное естественное освещение.
3. Аппроксимация, или приближение
Аппроксимация, или приближение -- математический метод, состоящий в замене одних математических объектов другими, в том или ином смысле близкими к исходным, но более простыми. Аппроксимация позволяет исследовать числовые характеристики и качественные свойства объекта, сводя задачу к изучению более простых или более удобных объектов (например, таких, характеристики которых легко вычисляются, или свойства которых уже известны). В теории чисел изучаются диофантовы приближения, в частности, приближения иррациональных чисел рациональными. В геометрии рассматриваются аппроксимации кривых ломаными. Некоторые разделы математики в сущности целиком посвящены аппроксимации, например, теория приближения функций, численные методы анализа.
В переносном смысле употребляется в философии как метод приближения, указание на приблизительный, неокончательный характер. Например, в таком смысле термин «аппроксимация» активно употреблялся Сереном Кьеркегором (1813--1855) в «Заключительном ненаучном послесловии…»
Интерполямция -- в вычислительной математике способ нахождения промежуточных значений величины по имеющемуся дискретному набору известных значений.
Многим из тех, кто сталкивается с научными и инженерными расчётами часто приходится оперировать наборами значений, полученных экспериментальным путём или методом случайной выборки. Как правило, на основании этих наборов требуется построить функцию, на которую могли бы с высокой точностью попадать другие получаемые значения. Такая задача называется аппроксимацией кривой. Интерполяцией называют такую разновидность аппроксимации, при которой кривая построенной функции проходит точно через имеющиеся точки данных.
Существует также близкая к интерполяции задача, которая заключается в аппроксимации какой-либо сложной функции другой, более простой функцией. Если некоторая функция слишком сложна для производительных вычислений, можно попытаться вычислить её значение в нескольких точках, а по ним построить, то есть интерполировать, более простую функцию. Разумеется, использование упрощенной функции не позволяет получить такие же точные результаты, какие давала бы первоначальная функция. Но в некоторых классах задач достигнутый выигрыш в простоте и скорости вычислений может перевесить получаемую погрешность в результатах.
Следует также упомянуть и совершенно другую разновидность математической интерполяции, известную под названием «интерполяция операторов». К классическим работам по интерполяции операторов относятся теорема Рисса-Торина (Riesz-Thorin theorem) и теорема Марцинкевича (Marcinkiewicz theorem), являющиеся основой для множества других работ.
Интерполяция изображений происходит во всех цифровых фотографиях на определённом этапе, будь то дематризация или масштабирование. Она происходит всякий раз, когда вы изменяете размер или развёртку изображения из одной сетки пикселей в другую. Изменение размера изображения необходимо, когда вам нужно увеличить или уменьшить число пикселей, тогда как изменение положения может происходить в самых различных случаях: исправление искажений объектива, смена перспективы или поворот изображения.
Даже если изменению размера или развёртки подвергается одно и то же изображение, результаты могут значительно отличаться в зависимости от алгоритма интерполяции. Поскольку любая интерполяция является всего лишь приближением, изображение будет несколько терять в качестве всякий раз, когда подвергается интерполяции. Данная глава призвана обеспечить лучшее понимание того, что оказывает влияние на результат, -- и тем самым помочь вам минимизировать любые потери качества изображения, вызванные интерполяцией.
Суть интерполяции заключается в использовании имеющихся данных для получения ожидаемых значений в неизвестных точках.
Пример изменения размера изображения
Интерполяция изображений работает в двух измерениях и пытается достичь наилучшего приближения в цвете и яркости пикселя, основываясь на значениях окружающих пикселей. Следующий пример иллюстрирует работу масштабирования:
|
плоскостная интерполяция |
|
|||
Оригинал |
|
до |
после |
без интерполяции |
В отличие от колебаний температуры воздуха и вышеприведенного идеального градиента, значения пикселей могут меняться намного более резко от точки к точке. Как и в примере с температурой, чем больше вы знаете об окружающих пикселях, тем лучше сработает интерполяция. Вот почему результаты быстро ухудшаются по мере растягивания изображения, а кроме того, интерполяция никогда не сможет добавить изображению детальности, которой в нём нет.
Пример вращения изображения
Интерполяция происходит также каждый раз, когда вы поворачиваете или изменяете перспективу изображения. Предыдущий пример был обманчив, поскольку это частный случай, в котором интерполяторы обычно работают неплохо. Следующий пример показывает, как быстро может быть потеряна детальность изображения:
Поворот на 90° не вносит потерь, поскольку ни один пиксель не требуется поместить на границу между двумя (и как следствие разделить). Заметьте, как большая часть деталей теряется при первом же повороте, и как качество продолжает падать при последующих. Это означает, что следует избегать вращений, насколько возможно; если неровно выставленный кадр требует поворота, не следует вращать его более одного раза.
Вышеприведенные результаты используют так называемый «бикубический» алгоритм и показывают существенное ухудшение качества. Обратите внимание, как снижается общий контраст в связи со снижением интенсивности цвета, как вокруг светло-синего возникают тёмные гало. Результаты могут быть значительно лучше в зависимости от алгоритма интерполяции и изображаемого предмета.
Типы алгоритмов интерполяции
Общепринятые алгоритмы интерполяции можно поделить на две категории: адаптивные и неадаптивные. Адаптивные методы изменяются в зависимости от предмета интерполяции (резкие границы, гладкая текстура), тогда как неадаптивные методы обрабатывают все пиксели одинаково.
Неадаптивные алгоритмы включают: метод ближайшего соседа, билинейный, бикубический, сплайны, функция кардинального синуса (sinc), метод Ламнцоша и другие. В зависимости от сложности, они используют от 0 до 256 (или более) смежных пикселей для интерполяции. Чем более смежных пикселей они включают, тем более точными могут оказаться, но это достигается за счёт значительного прироста времени обработки. Эти алгоритмы могут использоваться как для развёртки, так и для масштабирования изображения.
Адаптивные алгоритмы включают в себя многие коммерческие алгоритмы в лицензированных программах, таких как Qimage, PhotoZoom Pro, Genuine Fractals и другие. Многие из них применяют различные версии своих алгоритмов (на основе попиксельного анализа), когда обнаруживают наличие границы -- с целью минимизировать неприглядные дефекты интерполяции в местах, где они наиболее видны. Эти алгоритмы в первую очередь разработаны для максимизации бездефектной детальности увеличенных изображения, так что некоторые из них для вращения или изменения перспективы изображения непригодны.
Метод ближайшего соседа
Это наиболее базовый из всех алгоритмов интерполяции, который требует наименьшего времени обработки, поскольку учитывает только один пиксель -- ближайший к точке интерполяции. В результате каждый пиксель просто становится больше.
Билинейная интерполяция
|
Билинейная интерполяция рассматривает квадрат 2x2 известных пикселя, окружающих неизвестный. В качестве интерполированного значения используется взвешенное усреднение этих четырёх пикселей. В результате изображения выглядят значительно более гладко, чем результат работы метода ближайшего соседа. Диаграмма слева относится к случаю, когда все известные пиксели равны, так что интерполированное значение просто является их суммой, поделенной на 4. |
Бикубическая интерполяция
Бикубическая интерполяция идёт на один шаг дальше билинейной, рассматривая массив из 4x4 окружающих пикселей -- всего 16. Поскольку они находятся на разных расстояниях от неизвестного пикселя, ближайшие пиксели получают при расчёте больший вес. Бикубическая интерполяция производит значительно более резкие изображения, чем предыдущие два метода, и возможно, является оптимальной по соотношению времени обработки и качества на выходе. По этой причине она стала стандартной для многих программ редактирования изображений (включая Adobe Photoshop), драйверов принтеров и встроенной интерполяции камер. |
Интерполяция высшего порядка: сплайны и sinc
Есть много других интерполяторов, которые принимают во внимание больше окружающих пикселей и таким образом требуют более интенсивных вычислений. Эти алгоритмы включают в себя сплайн и кардинальный синус (sinc), и они сохраняют большинство информации об изображении после интерполяции. Как следствие, они являются исключительно полезными, когда изображение требует нескольких поворотов или изменений перспективы за отдельные шаги. Однако, для однократных увеличений или поворотов такие алгоритмы высшего порядка дают незначительное визуальное улучшение при существенном увеличении времени обработки.
Наблюдаемые дефекты интерполяции
Все неадаптивные интерполяторы пытаются подобрать оптимальный баланс между тремя нежелательными дефектами: граничными гало, размытием и ступеньчатостью.
Даже наиболее развитые неадаптивные интерполяторы всегда вынуждены увеличивать или уменьшать один из вышеприведенных дефектов за счёт двух других -- как следствие, как минимум один из них будет заметен. Заметьте, насколько граничное гало похоже на дефект, порождаемый повышением резкости с помощью нерезкой маски и как оно повышает кажущуюся резкость посредством усиления чёткости.
Адаптивные интерполяторы могут создавать или не создавать вышеописанные дефекты, но они тоже могут породить несвойственные исходному изображению текстуры или одиночные пиксели на крупных масштабах:
другой стороны, некоторые «дефекты» адаптивных интерполяторов тоже могут рассматриваться как преимущества. Поскольку глаз ожидает увидеть в областях с мелкой текстурой, таких как листва, детали вплоть до мельчайших подробностей, подобные рисунки могут обмануть глаз на расстоянии (для определённых видов материала).
Сглаживание
Сглаживание или анти-алиасинг является процессом, который пытается минимизировать появление ступенчатых или зубчатых диагональных границ, которые придают тексту или изображениям грубый цифровой вид:
Сглаживание удаляет эти ступеньки и создаёт впечатление более мягких границ и высокого разрешения. Оно принимает во внимание, насколько идеальная граница перекрывает смежные пиксели. Ступеньчатая граница просто округлена вверх или вниз без промежуточного значения, тогда как сглаженная граница выдаёт значение, пропорциональное тому, насколько много от границы попало в каждый пиксель:
Идеальная граница в мелком масштабе |
|
Выберите: |
ступеньчатая |
сглаженная |
Важным соображением при увеличении изображений является предотвращение чрезмерной ступенчатости в результате интерполяции. Многие адаптивные интерполяторы определяют наличие границ и корректируются с целью минимизировать ступеньчатость, сохранив при этом резкость границы. Поскольку сглаженная граница содержит информацию о своём положении при более высоком разрешении, вполне возможно, мощный адаптивный (определяющий границы) интерполятор сможет хотя бы частично реконструировать границу при увеличении.
Оптический и цифровой зум
Многие компактные цифровые камеры могут осуществлять как оптическое, так и цифровое увеличение (зум). Оптический зум осуществляется движением вариобъектива, так чтобы свет усиливался до попадания на цифровой сенсор. На контрасте, цифровой зум понижает качество, поскольку осуществляет простую интерполяцию изображения -- уже после получения его сенсором. Даже несмотря на то, что фото с использованием цифрового зума содержит то же число пикселей, его детальность отчётливо меньше, чем при использовании оптического зума. Цифровой зум следует практически полностью исключить, за вычетом случаев, когда он помогает отобразить удалённый объект на ЖК-экране вашей камеры. С другой стороны, если вы обычно снимаете в JPEG и хотите впоследствии обрезать и увеличить снимок, цифровой зум имеет преимущество в том, что его интерполяция осуществляется до внесения дефектов компрессии. Если вы обнаруживаете, что цифровой зум вам нужен слишком часто, купите телеконвертор, а ещё лучше объектив с большим фокусным расстоянием.
5. Системы координат
Указание точек в различных системах координат
Декартовы и полярные координаты
В декартовой системе для задания двумерных и трехмерных координат применяются три оси: X, Y и Z. Ввод координат заключается в указании величины составляющих расстояния от точки до начала координат (точки 0,0,0) по каждой из этих осей, а также направления (+ или -). При начале нового рисунка текущей системой всегда является Мировая система координат (МСК); ось X направлена горизонтально, ось Y &nbso;- вертикально, а ось Z перпендикулярна плоскости XY.
В полярной системе координаты задаются совокупностью расстояния от точки до начала координат и угла.
Задание координат
При работе в двумерном пространстве задание точек производится в плоскости XY. Эта плоскость называется также плоскостью построений и подобна листу бумаги в клетку. Координата X определяет расстояние от начала координат по горизонтали, координата Y &nbso;- по вертикали. Началом координат (0,0) считается точка пересечения координатных осей.
Двумерные координаты могут вводиться как в декартовой (прямоугольной), так и в полярной форме. Полярные координаты представляют собой расстояние и угол. В обоих случаях координаты можно задавать либо в абсолютном, либо в относительном виде. Абсолютные координаты отсчитываются от начала координат, относительные &nbso;- от последней указанной точки. Относительные координаты могут применяться, например, при рисовании столбцов диаграмм, где каждый столбец отстоит от соседнего на заданную величину.
Задание относительных декартовых координат
Относительные декартовы координаты применяются, если известно смещение точки относительно предыдущей. Например, для построения точки, смещенной на 5 единиц по оси X и на 3 единицы по оси Y относительно точки -2,1, необходимо ввести символ @, а за ним &nbso;- значения смещений: Результат построения &nbso;- тот же, что и в предыдущем примере.
Однородные координаты Ї координаты, обладающие тем свойством, что определяемый ими объект не меняется при умножении всех координат на одно и то же ненулевое число.
Аффинное пространство -- служит обобщением аффинных свойств евклидова пространства. Во многом схоже с линейным пространством, но в отличие от последнего, точки в аффинном пространстве являются равноправными. В частности в аффинном пространстве нет понятия нулевой точки или начала отсчёта. В аффинном пространстве возможно вычитать друг из друга точки и получать векторы так называемого присоединенного пространства; также возможно прибавлять вектор к точке и получать другую точку, но нельзя складывать точки друг с другом.
Аффинное пространство над полем -- множество A со свободным транзитивным действием аддитивной группы векторного пространства V над полем .
Если поле не указывается, то предполагается поле вещественных чисел.
Элементы A называются точками аффинного пространства
Пространство V называется пространством присоединенным к A
Образ действия на обозначается a + v
Для двух точек через обозначается такой вектор из V, что
Размерность пространства A определяется равной размерности присоединенного пространства V.
Аффинная система координат[1] -- прямолинейная система координат в аффинном пространстве.
В n-мерном пространстве задаётся упорядоченной системой линейно независимых векторов , выходящих из одной точки O. Аффинными координатами точки M называют такие числа xi, что
Tочку O и систему векторов называют репером или аффинным базисом; прямые, проходящие через вектора -- координатными осями.
На аффинной плоскости (n = 2) координату x1 называют абсциссой, а x2 -- ординатой точки M. В пространстве же координаты точки называют её абсциссой, ординатой и аппликатой. Аналогичным образом именуют и координатные оси.
Барицентрические координаты -- координаты точки n-мерного аффинного пространства An, отнесенные к некоторой фиксированной системе из (n + 1)-ой точки , не лежащих в (n ? 1)-мерном подпространстве.
Пусть z есть произвольная точка в An. Каждая точка может быть единственным образом представлена в виде суммы
где -- вещественные числа, удовлетворяющие условию
Числа называются барицентрическими координатами точки x. Легко видеть, что барицентрические координаты не зависят от выбора z.
Точка x, является центром тяжести масс , расположенных в точках .
Cвойства
Барицентрические координаты аффинно инвариантны.
Барицентрические координаты точек симплекса с вершинами в неотрицательны и их сумма равна единице.
Обращение в нуль барицентрической координаты бi равносильно тому, что точка лежит на плоскости содержащей грань симплекса, противоположной вершине pi. Это свойство позволяет рассматривать барицентрические координаты точек симплициального комплекса относительно всех его вершин.
Барицентрические координаты введены Мёбиусом в 1827 году.
Перспектива (франц. perspective, от лат. perspicio -- ясно вижу), система изображения объёмных тел на плоскости или какой-либо иной поверхности, учитывающая их пространственную структуру и удалённость отдельных их частей от наблюдателя.
Построение аксонометрических проекций заключается в том, что геометрическую фигуру вместе с осями прямоугольных координат, к которым эта фигура отнесена в пространстве, параллельным (прямоугольным или косоугольным) способами проецируют на выбранную плоскость проекций. Таким образом, аксонометрическая проекция -- это проекция на одну плоскость. При этом направление проецирования выбирают так, чтобы оно не совпадало ни с одной из координатных осей.
При построении аксонометрических проекций изображаемый предмет жестко связывают с натуральной системой координат Oxyz (см. § 37). В целом аксонометрический чертеж получается состоящим из параллельной проекции предмета, дополненной изображением координатных осей с натуральными масштабными отрезками по этим осям. Название «аксонометрия» и произошло от слов -- аксон -- ось и метрео -- измеряю.
Образование аксонометрической проекции рассмотрим на примере построения аксонометрической точки А, отнесенной к натуральной системе координат Oxyz (рис. 156). Натуральные координаты точки А получаются измерением отрезков координатной ломаной АА1АХО натуральным масштабом е. При параллельном проецировании по направлению S на плоскости аксонометрических проекций Я1 получим аксонометрическую проекцию А1 данной точки, аксонометрическую проекцию А1A11А1xО координатной ломаной и аксонометрическую проекцию ОУуУ натуральной системы координат, на осях которой будут находиться единичные аксонометрические масштабные отрезки e1xe1ye1z.
Аксонометрическая проекция А11 горизонтальной проекции точки А (первичной) называется вторичной проекцией точки А. Совокупность всех этих проекций и составляет аксонометрию точки А.
На аксонометрическом чертеже вторичная и аксонометрическая проекции предмета обеспечивают метрическую определенность и обратимость однокартинного изображения.
На практике измерения вдоль аксонометрических осей выполняют в одинаковых единицах -- миллиметрах, поэтому единичные натуральные масштабные отрезки и их аксонометрию на чертежах не указывают.
Коэффициенты искажения по осям в аксонометрии определяют отношением аксонометрических координатных отрезков к их натуральной величине при одинаковых единицах измерения.
Натуральные коэффициенты искажения обозначают: по оси х: и =О1А1х/OAx; по оси у: v =A1xА11/AxA1;
по оси z: w =A11А1/A1A;
Проецирование трехмерных объектов
Рассмотрим проблему показа трехмерных изображений на двумерной плоскости. Для этого необходимо иметь определенные математические модели. В этих моделях должны учитываться различные факторы, влияющие на визуальное восприятие человеком реальных образов. Способ перехода от трехмерных объектов к их изображениям на плоскости будем называть проекцией. Далее рассматриваются различные виды проекций.
Для того, чтобы увидеть на плоскости монитора трехмерное изображение нужно уметь задать способ отображения трехмерных точек в двумерные. Сделать это можно, вообще говоря, по-разному. В общем случае проекции преобразуют точки, заданные в системе координат размерностью n в точки системы координат размерностью меньшей, чем n. В нашем случае точки трехмерного пространства преобразуются в точки двумерного пространства. Проекции строятся с помощью проецирующих лучей или проекторов, которые выходят из точки, которая называется центром проекции. Проекторы проходят через плоскость, которая называется проекционной или картинной плоскостью и затем проходят через каждую точку трехмерного объекта и образуют тем самым проекцию. Тип проецирования на плоскую, а не искривленную поверхность, где в качестве проекторов используются прямые. а не искривленные линии, называется плоской геометрической проекцией. Плоские геометрические проекции делятся на два вида: центральные и параллельные. Если центр проекции находится на конечном расстоянии от проекционной плоскости, то проекция - центральная. Если же центр проекции удален на бесконечность, то проекция - параллельная.
Рассмотрим более подробно центральную перспективную проекцию с математической точки зрения. Для получения формул центральной перспективной проекции расположим оси системы координат, проекционную плоскость и центр проекции как показано на рис. 18.
Рис. 18. Расположение осей координат на экране.
Будем имитировать на экране то, что как будто бы реально находится в пространстве за ним. Заметим, что получилась левосторонняя система координат. Будем считать что плоскость экрана монитора совпадает с проекционной плоскостью. Прежде чем переходить к собственно вычислениям следует сделать одно важное замечание. Поскольку поверхность любого трехмерного объекта содержит бесконечное число точек, то необходимо задать способ описания поверхности объекта конечным числом точек для представления в компьютере. А именно, будем использовать линейную аппроксимацию объектов в трехмерном пространстве с помощью отрезков прямых и плоских многоугольников. При этом отрезки прямых после перспективного преобразования переходят в отрезки прямых на проекционной плоскости. Доказательство этого достаточно простое и здесь не приводится. Это важное свойство центральной перспективы позволяет проецировать, т.е. производить вычисления только для конечных точек отрезков, а затем соединять проекции точек линиями уже на проекционной плоскости.
Рис. 19. Вывод формул центральной перспективной проекции.
Точка проецируется на экран как . Расстояние от наблюдателя до проекционной плоскости равно k. Необходимо определить координаты точки на экране. Обозначим их и . Из подобия треугольников и находим, что
(1) аналогично для x: .
Напомним, что k -это расстояние, а наблюдатель находится в точке .
Если точку наблюдения поместить в начало координат, а проекционную плоскость на расстояние , как показано на рисунке 20, то формулы для и примут вид:
, (2)
Рис. 20. Другой способ вычисления координат точек в центральной перспективной проекции.
Формулы (1) более удобны при необходимости простым образом приближать или удалять наблюдателя от проекционной плоскости. Формулы (2) требуют меньше времени для вычислений за счет отсутствия операции сложения.
Рассмотрим далее некоторые факторы. влияющие на восприятие человеком трехмерности. Одним из простых способов представления трехмерных объектов являются так называемые проволочные изображения. Кривые линии при этом апроксимируются отрезками прямых. Это наиболее быстрый и простой способ изображения.
Для усиления эффекта трехмерной глубины в проволочных изображениях объектов удаляют невидимые линии. Линии или их части, закрытые поверхностями объекта, не изображаются. Для этого применяется специальный алгоритм, что требует уже больших вычислений. Передача глубины может осуществляться изменением уровня яркости. Объекты, которые находятся ближе к наблюдателю, изображаются ярче, чем те, которые расположены дальше от него. Движение объектов также дает дополнительный эффект глубины. Например, вращение объектов вокруг вертикальной оси позволяет отличить точки, находящиеся на разном расстоянии от оси за счет различия линейной скорости вращения точек. Это так называемый кинетический или динамический эффект глубины.
Более тонко трехмерность объектов может быть представлена за счет различий отражательных способностей поверхностей, их рельефа и текстуры, а также расчета теней, отбрасываемых поверхностями объекта. Одним из редко используемых, но наиболее эффективных способов достижения эффекта трехмерности является стереоскопия. При этом отдельно для правого и левого глаза наблюдателя формируются изображения, которые незначительно отличаются друг от друга, подобно тому, как это происходит в реальности. Это вызывает так называемый бинокулярный эффект, который заключается в том, что наш мозг сливает два отдельных образа в один, интерпретируемый как трехмерный. Эти два раздельных изображения называются стереопарой.
Рис. 21. Бинокулярный эффект, стереоскопия.
Технически этот метод реализуется, например, с помощью очков со специальными поляризованными стеклами. На экран монитора поочередно выводятся изображения для левого и правого глаза. А стекла очков становятся поочередно, соответственно, прозрачными или непрозрачными. При достаточно частой смене изображений смены состояний прозрачности и непрозрачности не ощущается. Поскольку при изменении положения головы центр проекции остается на месте, то создается псевдо-трехмерный эффект. Синхронизация смены кадров на экране и поляризации линз очков происходит с помощью специальных датчиков, расположенных на очках и мониторе.
КАРТИННАЯ ПЛОСКОСТЬ, «картина», плоскость проекций -- плоскость, на которую производится проецирование предмета по определенным правилам начертательной геометрии. К. п. располагается преимущественно вертикально, в редких случаях -- наклонно, например при проектировании высокого здания, когда архитектор выполняет построение перспективы на наклонной плоскости, чтобы учесть «неизбежные при обозревании естественные перспективные сокращения отдельных частей проектируемого объекта по его высоте, которые могут создать нежелательные кажущиеся искажения» (А. Я.Зметный).
В компьютере изображение представлено конечным числом дискретных точек. Масштабирование цифровых изображений связано с приведением массива информации в соответствие с разрешением и размером иллюстрации. В зависимости от цели этот массив информации необходимо либо увеличить, либо сократить. Простое размножение или сокращение является не сложной задачей для компьютерных систем. Однако при этом возможны существенные искажения геометрии мелких деталей и появление ложных узоров на текстурах. Чтобы эти потери при трансформации были минимальны необходимо использовать интерполяционные алгоритмы. Но такие методы требуют больше машинного времени, чем простые.
Алгоритм поворота изображения на определенный градус.
Разворот изображение на самом деле не такая простая задача, как многим кажется. Разумеется, развернуть изображение на 90, 180, 270 градусов не представляет труда
Теория и формулы
Кто не помнит формулу движения точки по окружности?
Сейчас напомню.
В данном случае точка поворачивается на угол б и движется она по радиусу r.
Найти координаты точки теперь можно с помощью двух простух формул…
x = r * cos( б )
y = r * sin( б )
Так. С поворотом точки разобрались. А поворот на 90, 180, 270 и т.д. вобще не должен был вызвать никаких проблем. Но как теперь быть с изменившемися размерами картинки? Их же тоже надо расчитать!
Основные типы представлений объектов в 3D пространстве
Существует две крупные группы подходов для решения такой задачи. В соответствии с первыми, мы создаем отдельную модель, имитирующую наш трехмерный объект, и затем отображаем ее на экран, а в соответствии со вторыми мы синтезируем необходимое нам изображение трехмерных объектов по уже существующим изображениям. Методы первой группы, в свою очередь, делятся на две подгруппы: поверхностное представление (хранится только граница объекта) и объемное представление (хранится информации обо всех точках объекта). Однако, стоит отметить, что метод синтеза изображений по изображениям стоит несколько особняком, так как не позволяет осуществлять ни каких действий, кроме визуализации объектов.
Методы
Имитирующие синтез изобр по изобр
Поверхностное+объемное
Поверхностное представление (Boundary representation, B-rep)
В поверхностном представлении объект создается при помощи набора тонких поверхностей, составляющих его границу. Как правило, поверхностное представление используется в тех областях, где нет необходимости обрабатывать каким-либо образом внутренность тела: дизайнерские проекты, моделирование обводов какого-либо изделия, создание объектов с нестандартными элементами (например, скругление с изменяемым радиусом, винтообразная улитка) и т. д.
Существует несколько основных способов задания границы тела.
Неявная функция (implicit function)
Задание 3D объекта при помощи неявной функции состоит в том, что мы указываем некую функцию , нулями которой будут точки , образующие нашу поверхность, либо дающие ее приближение. Так, например, неявная функция для сферы радиуса (см. Ошибка! Источник ссылки не найден.), с центром в точке имеет вид:
Параметрическое задание, сплайны, NURBS
При параметрическом задании координаты точек поверхности рассматриваются как некие функции от двух параметров, пробегающих некоторый набор значений.
Так, например, параметризация той же сферы (см. Ошибка! Источник ссылки не найден.) относительно двух углов ц (долгота) и и (широта) будет иметь вид:
Помимо этого используются различного рода особые параметрические поверхности, например, поверхности Безье, B-сплайны, в частности, NURBS ("Non-Uniform Rational B-Spline", неоднородный рациональный B-сплайн).
Если говорить кратко, то поверхность Безье строится по некоторой топологически прямоугольной сетке в соответствии со следующей формулой (подробнее см. [Ошибка! Источник ссылки не найден.]):
,
где и - базисные функции Берштейна в параметрических направлениях и :
Элементы - вершины задающей полигональной сетки. Каждая из граничных кривых поверхности Безье является кривой Безье.
B-сплайны строятся в соответствии со следующими формулами:
,
где и - базисные функции B-сплайна в бипараметрических направлениях:
Элементы - вершины задающей полигональной сетки,
Эти параметрические поверхности очень широко используются в различных CAD - системах (в России используется термин САПР - системы автоматического проектирования). Так, при помощи них моделируются и рассчитываются обводы автомобилей, формы деталей и т.п.
Полигональные поверхности
При использовании данного метода поверхность (surface) представляется в виде набора некоторых многоугольников (face) в пространстве
Часто в качестве многоугольников используются треугольники, в этом случае само разбиение поверхности (приближенное представление треугольниками) называется триангуляцией поверхности. Топология полученной при этом сетки описывается следующим образом:
Объектами сетки являются вершины, ребра и треугольники (задаваемые тремя вершинами или тремя ребрами), а в более общем случае - face.
У любой вершины есть свойство валентности (т.е. число многоугольников, содержащих ее).
Для любого треугольника существует не более одного другого треугольника, инцидентного для первого по фиксированному ребру. Т.е., в частности, не может быть вот такой ситуации:
При таком способе задания мы можем, например, организовать обход в некотором направлении по треугольникам, содержащим фиксированную вершину, просто переходя каждый раз к треугольнику, инцидентному по ребру для предыдущего.
Разумеется, при триангуляции качество получаемой поверхности тем лучше, чем больше треугольников мы будем для этого использовать (см. Ошибка! Источник ссылки не найден.). Подробнее о триангуляции поверхности см. [Ошибка! Источник ссылки не найден.].
Конструктивная геометрия тел (Constructive Solid Geometry, CSG)
Метод конструктивной геометрии тел заключается в том, что мы получаем нужную нам поверхность как результат применения последовательности различных множественных операций (объединения, пересечения, разности и т.д.) к некоторым примитивам (т.е. минимальным объектами для построения). В качестве примитивов могу выступать параллелепипеды, шары, конусы, пирамиды и т.д. Сама поверхность задается при помощи дерева построения (см. Рис. 1).
Рис. 1. Дерево построения.
Объемное представление (Volume representation)
Методы объемного представления тел сохраняют информацию о любых, не обязательно видимых, частях тела. Все они, как правило, требуют гораздо больше места для хранения объекта, но как уже было сказано, дают дополнительную информацию об объектах, которая может нам потребоваться. Также эти методы необходимы, когда тела не имеют как таковой границы (например, туман, взвесь в жидкости и т.д.)
3D растр
3D растр представляет собой набор кубиков (см. Рис. 2) (voxel'ов, от «volume element») в пространстве. Каждый воксел может иметь некоторое числовое значение, являющееся атрибутом соответствующей точки в пространстве.
Рис. 2. 3D растр.
Данный метод, несмотря на свою простоту, имеет серьезный недостаток: для хранения даже небольшого объекта в приемлемом качестве требуется очень много места. Например, если мы храним кубик с ребром 1024 и выделяем по одному байту (8 бит) на атрибут воксела, то нам потребуется Учитывая тот факт, что хранить объект нам, скорее всего, надо будет в оперативной памяти компьютера, применение этого метода в чистом виде становится крайне затруднительным.
Восьмеричное дерево
В большинстве случаев в 3D растре есть некоторые области вокселов, имеющих одинаковые атрибуты. Этим можно воспользоваться для того, чтобы сократить объем занимаемого объектом места. Будем хранить растр в виде дерева (см. Рис. 3), вершины которого имеют степень 0 или 8. Сначала проверим, не лежат ли во всех вокселах в растре одинаковые значения, если да, то нам достаточно будет сохранить это значение (p) и обозначить, что дальше дробить кубик не надо, например, положим в вершину это значение p и 0 (обозначение терминальности вершины). Если у нас есть вокселы с разными значениями, то продолжим процесс. А именно, разделим растр на октанты, соответствующие координатным плоскостям. Для каждого октанта снова проверим, не содержит ли он одинаковые вокселы. И т.д. Получим дерево, в вершинах которого лежат 1 (что обозначает, что соответствующий октант не однороден) или 0 и некоторые числа pi, соответствующие значениям всех вокселов в данном октанте.
Рис. 3. Восьмеричное дерево 3D растра.
Таким образом, если растр состоит из вокселов, имеющих один и тот же атрибут, то мы сэкономим ; если же все воксели различны, то лишнее место, которое мы потратим (на 1 и 0), составит . Но последняя ситуация встречается крайне редко, поэтому использование восьмеричных деревьев в большинстве случаев позволяет значительно сократить объем памяти для хранения объекта.
Двоичное дерево
Идея построения двоичного дерева полностью аналогична построению восьмеричного дерева. Но в данном случае растр последовательно делится не на октанты, а на половинки: сначала параллельно плоскости OXY, потом OYZ и т.д. Соответственно, аналогично строится дерево, вершины которого имеют степень 0 или 2. Более подробно см. [Ошибка! Источник ссылки не найден.]
Синтез изображений по изображениям (Image-based rendering, immersive imaging)
Идея использования синтеза изображений по изображениям состоит в том, что мы генерируем изображение трехмерного объекта на мониторе по набору существующих изображений (например, фотографий). При этом нам не приходится решать, иногда весьма трудоемкую, задачу создания моделей объектов.
Подобные документы
Понятие и инструменты, используемые в компьютерной графике. Принципы формирования изображений на экране. Порядок построения графиков функций. Порядок и приемы анимационного оформления графических изображений, используемые техники и их функционирование.
методичка [2,5 M], добавлен 09.12.2014Компьютерная графика как область информатики, занимающаяся проблемами получения различных изображений на компьютере. Области применения компьютерной графики. Двумерная графика: фрактальная, растровая и векторная. Особенности трёхмерной графики.
реферат [756,4 K], добавлен 05.12.2010Компьютерная графика - область информатики, занимающаяся проблемами получения различных изображений. Виды компьютерной графики: растровая, векторная, фрактальная. Программы для создания компьютерной анимации, область применения, форматы хранения.
реферат [29,1 K], добавлен 16.03.2010Назначение компьютерной графики. Особенности трехмерной анимации. Технология создания реалистичных трехмерных изображений. Компьютерная графика для рисования на SGI: StudioPaint 3D. Пакет PowerAnimator как одна из программ трехмерной анимации на SGI.
реферат [25,7 K], добавлен 31.03.2014Компьютерная графика и визуализация данных, методы и средства создания и обработки изображений с помощью программно-аппаратных вычислительных комплексов. Понятие виртуальности, примеры применения игровой графики: пространство, спрайты, воксели, полигоны.
реферат [29,0 K], добавлен 03.06.2010Компьютерная графика как область информатики, изучающая методы и свойства обработки изображений с помощью программно-аппаратных средств, ее классификация и разновидности. Шаги для получения трехмерного изображения, необходимое программное обеспечение.
презентация [2,1 M], добавлен 26.06.2013Компьютерная графика как одно из популярных направлений использования компьютера, ее виды и особенности применения. Порядок и способы создания цифровых изображений, средства и обработка. Программы САПР и их использование в инженерной деятельности.
реферат [19,1 K], добавлен 14.09.2009Компьютерная графика как инструмент для синтеза (создания) изображений. Характеристика векторного, растрового и фрактального типов представления изображений, трёхмерная графика. Интерфейс программы "Photoshop", пример работы по коррекции фотографий.
курсовая работа [4,5 M], добавлен 19.01.2011Векторная и растровая графика: основные отличия, преимущества и недостатки. Компьютерные программы, используемые для создания растровой и векторной графики. Трехмерная графика, цветовое пространство и графический формат. Основные цветовые модели.
реферат [37,0 K], добавлен 20.12.2010Компьютерная графика как наука, предметом изучения которой является создание, хранение и обработка моделей и их изображений с помощью ЭВМ. Области применения графических редакторов: Adobe Photoshop и Illustrator, Corel Draw. Растровая и векторная графика.
презентация [31,7 M], добавлен 17.01.2012