Использование компьютерной графики в математике

Автор: Закирова С.А.

Журнал: Мировая наука @science-j

Рубрика: Основной раздел

Статья в выпуске: 10 (31), 2019 года.

Бесплатный доступ

В данной статье обсуждается проблемы использования компьютерной графики в математике.

Компьютерная графика, математика, моделирование, трёхмерная графика

Короткий адрес: https://sciup.org/140263983

IDR: 140263983

Текст научной статьи Использование компьютерной графики в математике

Компьютерная графика - это область информатики, занимающаяся проблемами получения различных изображений (рисунков, чертежей, мультипликации) на компьютере. Работа с компьютерной графикой - одно из самых популярных направлений использования персонального компьютера, причем занимаются этой работой не только профессиональные художники и дизайнеры. Существуют несколько основных видов графики - двумерная, которая включает в себя фрактальную, растровую и векторную графику, и трехмерная, которая пользуется в настоящее время гораздо большей популярностью из-за возможности создавать более реалистичные и оригинальные объекты. Трёхмерная графика (3D, 3 Dimensions, русск. 3 измерения) - раздел компьютерной графики, совокупность приемов и инструментов (как программных, так и аппаратных), предназначенных для изображения объёмных объектов.

Больше всего применяется для создания изображений на плоскости экрана или листа печатной продукции в архитектурной визуализации, кинематографе, телевидении, компьютерных играх, печатной продукции, а также в науке и промышленности. Трёхмерное изображение на плоскости отличается от двумерного тем, что включает построение геометрической проекции трёхмерной модели сцены на плоскость (например, экран компьютера) с помощью специализированных программ. Для получения трёхмерного изображения на плоскости требуются следующие шаги: -моделирование - создание трёхмерной математической модели сцены и объектов в ней. - рендеринг (визуализация) - построение проекции в

соответствии с выбранной физической моделью. вывод полученного изображения на устройство вывода - дисплей или принтер.

Трёхмерная графика оперирует с объектами в трёхмерном пространстве. Обычно результаты представляют собой плоскую картинку, проекцию. Трёхмерная компьютерная графика широко используется в кино, компьютерных играх. В трёхмерной компьютерной графике все объекты обычно представляются как набор поверхностей или частиц. Минимальную поверхность называют полигоном. В качестве полигона обычно выбирают треугольники. Всеми визуальными преобразованиями в 3D-графике управляют матрицы (см. также: аффинное преобразование в линейной алгебре). В компьютерной графике используется три вида матриц: ·матрица поворота ·матрица сдвига ·матрица масштабирования Любой полигон можно представить в виде набора из координат его вершин. Так, у треугольника будет 3 вершины.

Координаты каждой вершины представляют собой вектор (x, y, z). Умножив вектор на соответствующую матрицу, мы получим новый вектор. Сделав такое преобразование со всеми вершинами полигона, получим новый полигон, а преобразовав все полигоны, получим новый объект, повёрнутый/сдвинутый/масштабированный относительно исходного. В разрабатываемой программе будем использовать ПГМ, написанную на языке Dev С++.

Все математические действия, производимые в программе будут происходить с помощью перемножения матриц смещения, масштабирования и вращения. Смещение точки-вектора на заданную величину реализуется посредством умножения ее координатной модели на матрицу вида: где m -смещение координат точек относительно оси х, n - смещение координат точек относительно оси у, l - смещение координат точек относительно оси z.

Поворот точки-вектора на заданную величину, относительно определенной оси реализуется посредством умножения ее координатной модели на матрицу вида: Матрицами вращения вокруг оси декартовой правой системы координат на угол α в трёхмерном пространстве являются: ·Вращение вокруг оси x: ·Вращение вокруг оси y: ·Вращение вокруг оси z: В программе будут использоваться матрицы поворота вокруг осей, а так же матрицы смещения. Первоначально на необходимо сделать чтобы модель плавно двигалась вокруг своей оси. Для этого возьмём матрицу вращения вокруг оси y: Где α - это постепенно изменяющийся угол; Для того чтобы изображение можно было передвигать, добавим матрицу смещения: Где Kx, Ky, Kz - соответствующее приращение к начальным значениям x,y,z для перемещения изображения на это расстояние. Для визуализации ордена потребуется проводить для каждой точки в трёхмерной системе координат поворот и масштабирование в пространстве.

Потребуется провести такие преобразования: a*A, a*B, a*C, a*D, где - а - точка-вектор, над которым требуется произвести действия, а A,B,C,D -матрицы поворотов и масштабирования. Смещение точки-вектора на заданную величину реализуется посредством умножения ее координатной модели на матрицу вида: где 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). Все остальные цвета и их оттенки, получаемые в рамках использования модели получается в результате смешивания определённого количества перечисленных базовых компонентов. На основе первого закона планиметрии, рассматриваемая модель может быть представлена следующим уравнением:  где - коэффициенты, характеризующие кол-во базовых компонентов.

Список литературы Использование компьютерной графики в математике

  • А.А. Богуславский, С.М. Соколов Основы программирования на языке Си++ Часть II. Основы программирования трехмерной графики. - Коломна 2002. - 104 с.
  • Фленов М.Е. Искусство программирования игр на С++ / М.Е. Фленов - СПб.: БХВ, Петербург 2006. - 256 с.
  • Фаппас К. Программирование на С и С++/ К. Фаппас, У. Мюррей. -Киев.: Издательская группа BHV, 2000. -320 с.
  • Фореев В.Н. Компьютерная графика/ В.Н. Фореев. - СПб.: БХВ, 2002. - 432 с.
Статья научная