УДК 004.92
Закирова С. А., к. тех. н. заведующий кафедрой «Информатики и менеджмента» Национальный институт художеств и дизайна имени Камолиддин Бехзода ИСПОЛЬЗОВАНИЕ КОМПЬЮТЕРНОЙ ГРАФИКИ В МАТЕМАТИКЕ Аннотация: В данной статье обсуждается проблемы использования компьютерной графики в математике.
Ключевые слова: компьютерная графика, математика, моделирование, трёхмерная графика
Zakirova S. A.
Candidate of Technical Sciences Head of Department"Informatics and Management" National Institute
of Arts and Design named after Kamoliddin Behzod USE OF COMPUTER GRAPHICS IN MATHEMATICS Abstract: This article discusses the problems of using computer graphics in mathematics.
Keywords: computer graphics, mathematics, modeling, three-dimensional graphics
Компьютерная графика - это область информатики, занимающаяся проблемами получения различных изображений (рисунков, чертежей, мультипликации) на компьютере. Работа с компьютерной графикой - одно из самых популярных направлений использования персонального компьютера, причем занимаются этой работой не только профессиональные художники и дизайнеры. Существуют несколько основных видов графики - двумерная, которая включает в себя фрактальную, растровую и векторную графику, и трехмерная, которая пользуется в настоящее время гораздо большей популярностью из-за возможности создавать более реалистичные и оригинальные объекты. Трёхмерная графика (3D, 3 Dimensions, русск. 3 измерения) - раздел компьютерной графики, совокупность приемов и инструментов (как программных, так и аппаратных), предназначенных для изображения объёмных объектов.
Больше всего применяется для создания изображений на плоскости экрана или листа печатной продукции в архитектурной визуализации, кинематографе, телевидении, компьютерных играх, печатной продукции, а также в науке и промышленности. Трёхмерное изображение на плоскости отличается от двумерного тем, что включает построение геометрической проекции трёхмерной модели сцены на плоскость (например, экран компьютера) с помощью специализированных программ. Для получения трёхмерного изображения на плоскости требуются следующие шаги: -моделирование - создание трёхмерной математической модели сцены и объектов в ней. - рендеринг (визуализация) - построение проекции в
соответствии с выбранной физической моделью. вывод полученного изображения на устройство вывода - дисплей или принтер.
Трёхмерная графика оперирует с объектами в трёхмерном пространстве. Обычно результаты представляют собой плоскую картинку, проекцию. Трёхмерная компьютерная графика широко используется в кино, компьютерных играх. В трёхмерной компьютерной графике все объекты обычно представляются как набор поверхностей или частиц. Минимальную поверхность называют полигоном. В качестве полигона обычно выбирают треугольники. Всеми визуальными преобразованиями в 3D-графике управляют матрицы (см. также: аффинное преобразование в линейной алгебре). В компьютерной графике используется три вида матриц: матрица поворота матрица сдвига матрица масштабирования Любой полигон можно представить в виде набора из координат его вершин. Так, у треугольника будет 3 вершины.
Координаты каждой вершины представляют собой вектор (х, у, z). Умножив вектор на соответствующую матрицу, мы получим новый вектор. Сделав такое преобразование со всеми вершинами полигона, получим новый полигон, а преобразовав все полигоны, получим новый объект, повёрнутый/сдвинутый/масштабированный относительно исходного. В разрабатываемой программе будем использовать ПГМ, написанную на языке Dev С++.
Все математические действия, производимые в программе будут происходить с помощью перемножения матриц смещения, масштабирования и вращения. Смещение точки-вектора на заданную величину реализуется посредством умножения ее координатной модели на матрицу вида: где т -смещение координат точек относительно оси х, п - смещение координат точек относительно оси у, 1 - смещение координат точек относительно оси z.
Поворот точки-вектора на заданную величину, относительно определенной оси реализуется посредством умножения ее координатной модели на матрицу вида: Матрицами вращения вокруг оси декартовой правой системы координат на угол а в трёхмерном пространстве являются: Вращение вокруг оси х: Вращение вокруг оси у: Вращение вокруг оси z: В программе будут использоваться матрицы поворота вокруг осей, а так же матрицы смещения. Первоначально на необходимо сделать чтобы модель плавно двигалась вокруг своей оси. Для этого возьмём матрицу вращения вокруг оси у: Где а - это постепенно изменяющийся угол; Для того чтобы изображение можно было передвигать, добавим матрицу смещения: Где Кх, Ку, К - соответствующее приращение к начальным значениям х,у^ для перемещения изображения на это расстояние. Для визуализации ордена потребуется проводить для каждой точки в трёхмерной системе координат поворот и масштабирование в пространстве.
Потребуется провести такие преобразования: а*А, а*В, а*С, a*D, где - а - точка-вектор, над которым требуется произвести действия, а А,В,С,0 -матрицы поворотов и масштабирования. Смещение точки-вектора на
заданную величину реализуется посредством умножения ее координатной модели на матрицу вида: где m - смещение координат точек относительно оси х, n - смещение координат точек относительно оси у, l - смещение координат точек относительно оси z. Матрицы поворота вокруг осей x, y, z на угол a RxRyRz Для поворота тела вокруг точки (m, n, k) на угол a используется следующий алгоритм: ) перенос тела на вектор A(-m, -n, -k) для совмещения точки (m, n, k) с началом координат; ) поворот тела на угол a; ) перенос тела на вектор A'(m, n, k) для возвращения его в исходное положение.
Представим тело набором точек (вершин тела) и выполним операции 1) - 3) с каждой из них; В матричной форме это представляется следующим образом (R(a) - матрица поворота вокруг оси x, y или z) Для масштабирования всего изображения понадобится матрица общего полного масштабирования, которая имеет следующий вид где S-постоянная масштабирования. Для задания цвета рабочей области, используется цветовая модель RGB. В основе основных цветов данной модели используется красный (R), зелёный (G) и синий (B). Все остальные цвета и их оттенки, получаемые в рамках использования модели получается в результате смешивания определённого количества перечисленных базовых компонентов. На основе первого закона планиметрии, рассматриваемая модель может быть представлена следующим уравнением: где - коэффициенты, характеризующие кол-во базовых компонентов.
Использованные источники:
1. А.А. Богуславский, С.М. Соколов Основы программирования на языке Си++ Часть II. Основы программирования трехмерной графики. - Коломна 2002. - 104 с.
2. Фленов М.Е. Искусство программирования игр на С++ / М.Е. Фленов -СПб.: БХВ, Петербург 2006. - 256 с. .
3. Фаппас К. Программирование на С и С++/ К. Фаппас, У. Мюррей. -Киев.: Издательская группа BHV, 2000. -320 с.
4. Фореев В.Н. Компьютерная графика/ В.Н. Фореев. - СПб.: БХВ, 2002. - 432 с.