Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Математические основы компьютерной графики : преобразования, проекции, поверхности

Покупка
Основная коллекция
Артикул: 756681.01.99
Доступ онлайн
133 ₽
В корзину
В учебном пособии рассматриваются математические основы геометрических преобразований в двухмерной и трёхмерной областях, проективной геометрии и трёхмерного геометрического моделирования. Кратко приводится теоретический материал, даются примеры решения типовых задач, а также контрольные вопросы и упражнения для самостоятельной работы. Учебное пособие предназначено для студентов всех форм обучения по направлениям «Информатика и вычислительная техника». «Информационные системы и технологии» и «Прикладная информатика».
Лисяк, В. В. Математические основы компьютерной графики : преобразования, проекции, поверхности : учебное пособие / В. В. Лисяк ; Южный федеральный университет. - Ростов-на-Дону ; Таганрог : Издательство Южного федерального университета, 2020. - 103 с. - ISBN 978-5-9275-3490-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/1308409 (дата обращения: 26.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

             Инженерно-технологическая академия





В. В. ЛИСЯК




МАТЕМАТИЧЕСКИЕ ОСНОВЫ КОМПЬЮТЕРНОЙ ГРАФИКИ:

ПРЕОБРАЗОВАНИЯ, ПРОЕКЦИИ, ПОВЕРХНОСТИ


Учебное пособие















Ростов-на-Дону - Таганрог Издательство Южного федерального университета 2020

УДК 004.415.2(075.8)
ББК 32.973(Я73)
     Л639
Печатается по решению кафедры систем автоматизированного проектирования Института компьютерных технологий и информационной безопасности Южного федерального университета (протокол № 6 от 22 января 2020 г.)
Рецензенты:
профессор кафедры естествознания и безопасности жизнедеятельности
           Таганрогского института им. А. П. Чехова (филиал)
ФГБОУ ВО «РГЭУ (РИНХ)», доктор технических наук, профессор В. И. Божич
профессор кафедры систем автоматизированного управления Института радиотехнических систем и управления ЮФУ, доктор технических наук, профессор В. И. Финаев
     Лисяк, В. В.
Л639       Математические основы компьютерной графики: преобразова     ния, проекции, поверхности : учебное пособие / В. В. Лисяк ; Южный федеральный университет. - Ростов-на-Дону ; Таганрог : Издательство Южного федерального университета, 2020. - 103 с.
           ISBN 978-5-9275-3490-6
           В учебном пособии рассматриваются математические основы геометрических преобразований в двухмерной и трёхмерной областях, проективной геометрии и трёхмерного геометрического моделирования. Кратко приводится теоретический материал, даются примеры решения типовых задач, а также контрольные вопросы и упражнения для самостоятельной работы.
           Учебное пособие предназначено для студентов всех форм обучения по направлениям «Информатика и вычислительная техника», «Информационные системы и технологии» и «Прикладная информатика».
УДК 004.415.2(075.8)
                                                      ББК 32.973(Я73) ISBN 978-5-9275-3490-6
                               © Южный федеральный университет, 2020
                               © Лисяк В. В., 2020
                               © Оформление. Макет. Издательство
Южного федерального университета, 2020

    ПРЕДИСЛОВИЕ


      В настоящее время в процессе создания объектов приборостроения, машиностроения, строительства, микроэлектроники широко используются системы автоматизированного проектирования со средствами трёхмерного геометрического моделирования. При этом значительная часть проектирования выполняется в интерактивном режиме на базе диалога с компьютером. В процессе диалога используется естественный для разработчика язык изображения схем, сборочных единиц, общих планов и т.п., а в качестве моделей объектов применяются геометрические модели, которые обеспечивают разработчиков в процессе проектирования наиболее понятными и наглядными средствами, не требующих специальной математической подготовки.
      Геометрическое моделирование является частью компьютерной графики и особенно широко применяется в областях, где требуется синтез и анализ пространственных форм проектируемых объектов.
      В учебном пособии рассматриваются математические основы геометрических преобразований в двухмерной и трёхмерной областях, проективной геометрии и трёхмерного геометрического моделирования. Кратко приводится теоретический материал, даются примеры решения типовых задач, а также контрольные вопросы и упражнения для самостоятельной работы.
      Учебное пособие подкрепляет лекционный курс «Компьютерная графика», в который также входит цикл лабораторных работ, ориентированный на приобретение студентами практических навыков по созданию различных видов геометрических моделей и работы с ними. При подготовке учебного пособия особое внимание уделено приобретению студентами практических навыков применения математического аппарата при решении некоторых задач компьютерной графики.
      Учебное пособие предназначено для студентов, обучающихся по направлениям «Информатика и вычислительная техника», «Информационные системы и технологии» и «Прикладная информатика».

    1. ПРЕДСТАВЛЕНИЕ И ПРЕОБРАЗОВАНИЕ ТОЧЕК И ЛИНИЙ

1.1. Представление точек и линий

      Любое изображение представляется графическими устройствами в виде точек и линий. В связи с этим основным моментом в математическом обеспечении графических систем и подсистем геометрического моделирования является умение эффективно представлять и преобразовывать точки.
      Для плоскости координата точки представляется вектор-строкой ||х, у|| матрицы, описывающей объект. Таким образом, объект можно задать матрицей, количество строк которой соответствует количеству выбранных для задания объекта точек, а количество столбцов равно двум в случае плоскости или трём для трёхмерного пространства. При этом изменение положения точек выполняется за счёт преобразования матрицы, описывающей исходный объект, а линии между точками реализуются аппаратными или программными средствами компьютера. Процесс преобразования матриц выполняется в соответствии с правилами матричной алгебры.
      Любую фигуру, составленную из прямых линий, можно задать двумя матрицами: матрицей P координат характерных точек фигуры, т.е. тех точек, которые однозначно определяют исходный объект, и матрицей смежности R, которая описывает связи точек объекта. Характерные точки фигуры - точки соединения линий фигуры. Матрица R является квадратной и симметричной относительно элементов главной диагонали, т.е. ri,j = rj,i. Поэтому теоретически можно задавать половину её элементов. Однако это справедливо, если связи точек объекта являются неориентированными, т.е. для них не имеет значения направление соединения точек.
      Матрица смежности R в процессе преобразования точек не участвует, а используется только на этапах визуализации изображений. Матрица R определяется как


            R = | 14 i,jеN = {1,2,...n},


где n - число точек фигуры; ri, j = 1, если точки i и j связаны между собой и ri, j = 0, в противном случае.


4

1.1. Представление точек и линий

      Пример 1.1. Задать в матричной форме приведённую на рис. 1.1

фигуру.

Рис. 1.1. Фигура к примеру 1.1

Описание фигуры, изображённой

       на рис. 1.1 в виде матриц

a b c

a
R = b
c

1

01
10
11

₁ , P=

0

x y 11
 25
 62







      Координаты двух концевых точек задают отрезок, т.е. матрица, задающая фигуру, будет содержать две вектор-строки.
      Пример 1.2. Заданы две точки А (0,1) и В (2,3) и задана матрица


T =

12
31


которая выполняет преобразование координат исходных точек А и В в их новые значения А* и В*. Требуется найти значения координат точек А* и В*.
      Решение. Представим точки А и В в виде вектор-строк ||0, 1|| и ||2, 3||. Выполним умножение вектор-строк на заданную матрицу преобразования Т, в результате чего вычислим новые значения координат точек А* и В*.


        AT =11 0      ¹ II'





                12
                31





        =113  111=A*,

        BT =|| 2      3 ||




                12
                31





        = 11 11 7 11 = B*


      Новыми значениями координат точки А* будут х* = 3 и y* = 1, а

новыми координатами для точки В*- x* = 11, y* = 7.

      Более компактно отрезок, заданный точками А и В, можно задать

матрицей L =

01
23

, где в первой строке матрицы определены коорди
наты x и у точки А, а во второй строке - координаты x и у точки В. После

5

1. Представление и преобразование точек и линий

перемножения матриц L и T новые значения координат точек А* и В* определятся следующим образом:

0
2

2
1

LT =

11
3 ' 3

31
11 7

*
= L*

      Первая строка матрицы L* определяет координаты точки А *, где х* = = 3 и у* = 1, а вторая строка - координаты точки В*, где х* = 11, а у* = 7. Нетрудно видеть, что применённое преобразование T привело к увеличению длины отрезка и изменению его положения. Если записать уравнения прямых, проходящих через точки А, В и точки А*, В*, то можно сделать вывод, что исходная прямая у = х + 1, проходящая через точки А и В, была преобразована в прямую у* = (3/4)х *- (5/4), проходящую через точки А* и В*, с помощью матрицы преобразования T.
      Приведённое преобразование применимо для любой исходной прямой и представляет взаимно однозначное соответствие точек исходной и преобразованной прямой. На основании этого можно сделать вывод, что любая фигура на базе операции перемножения матриц преобразуется в изоморфную ей фигуру в той же системе координат.


1.2. Базовые операции преобразования для плоскости

      Для выполнения преобразований в обычных декартовых координатах на плоскости достаточно использовать матрицу преобразований размерностью 2х2. Познакомимся с набором операций, которые можно реализовать с помощью матрицы преобразования 2х2. Для этого выполним умножение вектор-строки ||х у||, которая задаёт положение точки на плоскости, на матрицу преобразования, записанную в общем виде:

a
c

b d

h y||

    = || (ax+cy)


(bx + dy) 11 = || x*

y I'

      Как видно, выполненная операция изменила положение исходной точки P(x, у) в её новое положение Р*(х*, у*) с х* = (ах + су), а у* = (Ьх + dy).
      Для изучения набора операций, который можно реализовать за счёт использования матрицы преобразования 2х2, выполним анализ нескольких частных случаев.

6

1.2. Базовые операции преобразования для плоскости

      1.       Если задать в матрице преобразования a = d = 1 и с = b = 0, то в результате умножения вектор-строки ||х у|| на матрицу преобразования координаты исходной точки не изменятся, и точка остаётся в прежнем положении.
      2.       Зададим элементы b = с = 0, а a и d запишем в общем виде. Тогда имеем следующее преобразование:


        II x у II


            a0
            0d



        =11 ax dy ||=| x* у* I


      Анализ полученного преобразования указывает, что за счёт элементов a и d выполняется операция масштабирования. При этом, если a = d, то выполняется пропорциональное изменение масштаба по осямX и Y. Если а # d, то масштабирование по осям разное. Масштаб увеличения или уменьшения определяют значения элементов а и d. При а и (или) d больше 1 - масштаб увеличения. При 0 < а и (или) d < 1 имеем масштаб уменьшения.
      3.      Пусть а и (или) d < 0, а в = с = 0, тогда


- a 0
0    - d

li x У II


       = | ⁻ax ⁻dy || = | x у’ Il

      Из анализа преобразования следует, что отрицательные элементы главной диагонали матрицы преобразования управляют операциями отображения относительно осей и начала координат. Например:
      1. Если а = 1, а d = -1, то получим


    li x y II



            10


    0 -1

    = 11 x ⁻У l = | x* У* Il

откуда видно, что реализуется операция отображения относительно оси Х.
      2. Если а = -1 и d = 1, то получим


    li x у II


            -1 0
            01



    = 11 ⁻x у ll=|| x* У* Il

откуда видно, что реализуется операция отображения относительно оси Y.
      3. Если а = -1 и d = -1, то получим

7

1. Представление и преобразование точек и линий

-1  0
0  -1


        IIx у I

        -x

        ⁻ y 1=1 x



            y* |.



откуда видно, что реализуется операция отображения относительно начала координат.
      Таким образом, элементы главной диагонали а и d матрицы преобразования реализуют операции всех видов масштабирования и всех видов отображений (в том числе с одновременным масштабированием).
      4. Пусть a = d = 1, а элементы b и c записаны в общем виде. Тогда:


        II x y II

1b


            c1



        = || ⁽x + cy)

        ⁽bx + У) || = | x*


*
y

      Как видно из преобразования, новые значения координат x* и у* линейно зависят от исходных координат. Такая операция называется сдвигом, а элементы b и c обеспечивают её выполнение вдоль соответствующих осей.
      С помощью матрицы преобразования 2х2 можно реализовать дополнительно операцию вращения точки вокруг начала координат.

Рис. 1.2. Вращение на плоскости

      Вращение на плоскости. Рассмотрим двухмерное вращение вокруг оси, перпендикулярной плоскости XY. Если применить полярную систему координат, то координаты точки P(r, у) после поворота на угол & получают вид P* (r, <р+&) (рис. 1.2).
      Для исходной точки Р:
х = r cosy; у = r sin у
                                     Для точки Р* имеем:

х* = r cos(p+©) = r cos<p cos© - r sin<p sin©; y* = r sin(<p+©) = r sin<p cos© + r cosp sin©.
       Учитывая, что r cosy = x, a r sin у = y, имеем
x* = x cos© - у sin©; y*= x sin© + у cos©.

8

1.2. Базовые операции преобразования для плоскости

       Так как P* = Р M (R(©)), то


        II x y II

cos© sin©

- sin© cos©

cos.© - ysin©)

(xsin© + ycos©) ||.

      Следовательно, матрица вращения относительно начала координат

имеет вид

M(R(©)) =

cos© sin©
- sin © cos©

      Эта матрица соответствует комбинации изменения масштаба и сдвига, но оставляет размеры фигуры неизменными.
      Отображение изображения определяется его поворотом на 180о вокруг оси, лежащей в плоскости ху. Характерные случаи отображения треугольника с точками A(xi, yi), В(х2, У2), D(X3, уз) приведены в табл.1.1.

Таблица 1.1

Пример отображения треугольника

 xi   У1    -1  0                                - x1   У1                            Поворот (отображе- 
 x2   y2 ■   0  1   ==                           - x2   У2                           ние) на 180о относи x3   y3                                         - x3   У3                               тельно оси у    
 xi   У1                £ £ £                                                         Поворот (отображе- 
 x2   y2 ■  0 - °,  ==  1                            1                            1  ние) на 180о относи x3  У3                 "-ч      С\1      ГГ)                                            тельно оси x    
                                                   « « «                                                 
 xi   У1                                          У1   x1                             Поворот (отображе- 
 x2   У2 ■          ==                            У2   x2                            ние) на 180о относи x3  У3      IMI                                  У3   x3                             тельно линии х =у  

      Рассмотренный материал позволяет сделать следующие выводы:
      1.       Используя операции умножения векторов положения точек на матрицы преобразования, можно управлять формой и положением фигуры.
      2.       Использование матрицы преобразования 2х2 не позволяет выполнить операцию переноса точки и преобразования начала координат, что является ограничением, которое преодолеем далее введением однородных координат.

9

1. Представление и преобразование точек и линий

1.3. Однородные координаты

      Все преобразования, рассмотренные ранее, с помощью матрицы преобразований 2х2 не позволили выполнить операцию преобразования начала координат, а также преобразование переноса с помощью унифицированной операции умножения матриц. Преобразование переноса, как известно, реализуется с помощью операции сложения.
      В связи с тем, что геометрическое преобразование, примененное к объекту или совокупности объектов, часто является композицией (последовательностью) нескольких преобразований, актуальна задача перехода к одной базовой операции, т.е. выполнение всей цепочки преобразований с помощью только операции умножения. Такая задача решается на базе искусственного приёма, который называется однородным координатным преобразованием. Реализация этого приёма заключается в переходе к однородным координатам и выполнения с ними преобразований, что позволяет все основные операции (в том числе перенос и преобразование начала координат) выполнить посредством перемножения матриц.
      Математическое обеспечение современных графических систем и систем геометрического моделирования функционирует на базе однородных координат и их преобразований.
      Переход от обычных координат к однородным координатам выполняется посредством введения в векторы положения точек P и P* третьей дополнительной компоненты в случае плоскости или четвёртой компоненты в случае трёхмерного пространства. Тогда вектор-строка || х у || будет представлена вектор-строкой || х у 1 || для плоскости или || х у z || будет представлена вектор-строкой || х у z 1 || в случае трёхмерного пространства.
      После введения дополнительной координаты необходимо дополнить матрицу преобразования 2х2 третьей строкой, для соблюдения равенства числа столбцов в векторе положения точки, и числа строк в матрице преобразования, что является необходимым условием при умножении двух матриц. В этом случае матрица преобразования будет иметь размерность 3х2. После этого, выполнив умножение вектора положения точки на матрицу преобразования, получим

10

Доступ онлайн
133 ₽
В корзину