Техническое задание
Написать обучающую программу использования алгоритмов построения трехмерного изображения с учетом перспективы.
1. Введение
Информационные и коммуникационные технологии в ХХ веке являлись основанием для научно-технического прогресса. Поэтому очевидно, что они будут играть важнейшую роль во всех сферах жизни человечества и в третьем тысячелетии.
В таких областях как кинематография, издательское и банковское дело, в образовательных учреждениях внедрение этих технологий уже произвело поистине революционный переворот. Объединение компьютерной графики, сетей, систем автоматического управления открыло новые пути использования и отображения информации, "проникновения" в виртуальный мир и организации взаимодействия человека и машины.
Компьютерная графика (computer graphics) - это область информатики (науки о компьютерах - computer sciences), которая изучает все вопросы, связанные с обработкой и синтезом изображения с помощью ЭВМ.
Развитие компьютерной графики идет бурно и неравномерно - что-то удивительно быстро устаревает, что-то обретает более отчётливые формы, появляется и очень много нового. Постоянно расширяющиеся возможности доступных вычислительных средств корректируют набор используемых методов и эффективно применяемых алгоритмов. За последние годы не только возросли функциональные возможности средств компьютерной графики, но и значительно снизилась стоимость графических станций, при чем это характерно для установок всех классов, как простейших, так и профессиональных.
В области программного обеспечения также произошли большие изменения, особенно за последние годы. Появилось много различных графических библиотек API, среди которых наиболее популярные Direct3D и OpenGL.
Библиотека OpenGL стала своего рода стандартным интерфейсом для программистов, как при написании прикладных программ, так и при разработке программных продуктов высокого класса - от интерактивных игр до систем визуализации результатов научных исследований. Для решения этих же задач можно применять также и Direct3D.
Развитие компьютерной графики определяется различными факторами, среди которых наиболее существенные:
1) реальные потребности потенциальных пользователей в системах визуализации;
2) достижения в области аппаратного и программного обеспечения.
Развитие компьютерной графики определяет её степень применения во все сферы жизни современного общества. В последние годы компьютерная графика всё больше и больше используется в различных отраслях промышленности, в науке и образовании, бизнесе и т.д. Однако можно выделить четыре главные области ее основного применения:
- Проектирование
- Моделирование
- Пользовательский интерфейс
- Отображение информации
2. Конструкторская часть
2.1. Обзор и анализ существующих программных систем и обоснование необходимости разработки.
Все построения и изменения рисунков можно выполнить с помощью двух базовых операций:
поворота изображения (вращение, изменение ориентаций);
параллельного проектирования.
Для реализации перечисленных операций используется аппарат линейных преобразований. Если определитель матрицы преобразования отличен от нуля, то такое преобразование будет являться аффинным. При аффинном преобразовании плоскость не может вырождаться в линию или точку, параллельные прямые переводятся в параллельные и всегда имеется обратное преобразование
В двумерном случае для того, чтобы аффинное преобразование можно было представить суперпозицией трех преобразований (переноса, масштабирования, поворота), необходимо перейти к описанию произвольной точки плоскости уже не парой чисел, а тройкой.
Однородными координатами точки М (x0, y0) называется тройка одновременно не равных 0 чисел x, y, z, если выполнены следующие соотношения: x/z = x0, y/z = y0. Например, точке М (x0, y0) ставится в соответствие набор М (x0, y0, z), z – любое число, не равное нулю.
Обратимся теперь к трехмерному случаю и рассмотрим однородные координаты. Заменим координатную тройку (x, y, z), задающую точку в пространстве, на четверку чисел (x, y, z, 1) или, более общо, на четверку (hx, hy, hz, h), h≠0. Каждая точка пространства (кроме начальной точки О) может быть задана четверкой одновременно не равных нулю чисел; эта четверка чисел определена однозначно с точностью до общего множителя.
Любое аффинное преобразование в трехмерном пространстве может быть представлено в виде суперпозиции вращений, растяжений и переносов. Рассмотрим матрицы преобразования в пространстве.