Геометрические основы компьютерной графики
1/46
311.00K

Геометрические основы компьютерной графики

1. Геометрические основы компьютерной графики

Лекция 3

2. Система координат (СК)

Для перехода от зрительных
геометрических образов к
математическому описанию формы
объектов и их взаимного расположения
необходимо выполнить арифметизацию
пространства
Это достигается путем введением системы
координат
10/12/16
Геометрические основы
2

3. Системы координат

Введение системы координат сводится к
установлению способа сопоставления
каждой точке пространства набора
вещественных чисел – координат этой
точки
Точка пространства Набор
вещественных чисел (координат точки)
10/12/16
Геометрические основы
3

4. Размерность пространства

Число координат в таком наборе
определяется размерность пространства
Обычно рассматривают двумерные (2D)
пространства на различных поверхностях
и трехмерное (3D) пространство
10/12/16
Геометрические основы
4

5. Геометрия на плоскости

10/12/16
В 2D-пространствах графическими
элементами являются точки и линии, в
3D-пространствах к ним добавляются
поверхности
Простейшей формой поверхности
является плоскость. Для описания
геометрических объектов на плоскости
используют декартову и полярную
системы координат
Геометрические основы
5

6. Декартовы и полярные координаты

Координаты (x,y) и (r, ) в этих системах
связаны соотношениями:
10/12/16
x r cos( ),
y r sin( )
2
2
r x y ,
y
tg ( ) .
x
Геометрические основы
6

7. Точки и линии на плоскости

Введем обозначение для точки на
плоскости:
p = (x, y) (r, )
Взаимосвязь между координатами точек
линии может быть задана в виде
10/12/16
неявного уравнения f(p)=0
параметрической функции p(t)
Геометрические основы
7

8. Координатная и векторная формы

Эти соотношения могут быть записаны в
координатной или в векторной форме
Векторная форма записи более компактна,
а координатная более удобна для
проведения вычислений
10/12/16
Геометрические основы
8

9. Расстояние между точками

Расстояние d между двумя точками p1 и p2в
декартовых координат выражается
формулой:
2
2
d p2 p1 ( x2 x1 ) ( y2 y1 )
В полярных координатах это расстояние
определяется формулой:
10/12/16
Геометрические основы
9

10. Способы описания линии

Уравнение линии в неявной форме имеет
вид:
f ( x, y ) 0
Параметрическая функция для линии:
p (t ) x(t ), y (t )
10/12/16
Геометрические основы
10

11. Уравнение прямой

Для прямой линии неявное уравнение
имеет вид:
A * x B * y D 0,
где коэффициенты A и B одновременно
не равны 0
Прямая может быть задана координатами одной из своих точек p0 и вектором
нормали N N , N
10/12/16
x
y
Геометрические основы
11

12. Уравнение прямой

В этом случае неявное уравнение прямой
записывается в нормальной форме:
N x * ( x x0 ) N y * ( y y0 ) 0.
Для задания прямой вместо вектора
нормали можно использовать вектор,
направленный вдоль прямой - направляющий вектор
V [Vx , V y ]
10/12/16
Геометрические основы
12

13. Параметрическая функция прямой

В этом случае для описания прямой
удобно использовать параметрическую
функцию, которая имеет вид:
x(t ) x0 V x * t ,
y (t ) y 0 V y * t.
Направляющий вектор начинается в точке
p0 и направлен в сторону увеличения
значений параметра t
10/12/16
Геометрические основы
13

14. Связь нормали и направляющего вектора

Из условия ортогональности векторов N
и V следует, что
N x * V x N y * V y 0.
Компоненты нормали и направляющего
вектора можно выразить через
коэффициенты неявного уравнения
прямой:
N [ A, B]
10/12/16
V [ B, A]
Геометрические основы
14

15. Отрезки и лучи

Параметрическая функция удобна для
построения частей прямой – отрезков и
лучей
10/12/16
(- < t < ), протяженность прямой не
ограничена;
( t≥ 0), луч, выходящий из точки p0 в
направлении вектора V;
(t1 t t2),, отрезок прямой между точками
p0+V*t1 и p0+V*t2.
Геометрические основы
15

16. Линеаризация кривой

Для произвольной линии на плоскости в
любой регулярной (гладкой и
некратной) точке
p0 [ x0 , y0 ] p0 (t )
возможна линеаризация, т.е. построение
касательной прямой
10/12/16
Геометрические основы
16

17. Уравнение касательной

Уравнение касательной удобно записать в
нормальной форме c компонентами
вектора нормали вычисленными как
частные производные от функции в левой
части неявного уравнения:
df ( x, y )
Nx
dx
10/12/16
df ( x, y )
Ny
x0 , y 0 ,
dy
Геометрические основы
x0 , y 0
17

18. Неявное уравнение касательной

Такое уравнение имеет вид:
df ( x, y )
dx
df ( x, y )
x0 , y0 *( x x0 )
dy
x0 , y 0
* ( y y0 ) 0
Вектор нормали ортогонален касательной
и направлен в ту сторону, где f(x,y)>0
10/12/16
Геометрические основы
18

19. Параметрическая функция касательной

Для линии, заданной параметрически,
можно построить параметрическую
функцию касательной с компонентами
направляющего вектора:
dx(t )
dy (t )
Vx
t0 , V y
t0 .
dt
dt
10/12/16
Геометрические основы
19

20. Способы описания кривых

10/12/16
Выбор между описанием линии с
помощью уравнения или с помощью
параметрических функций определяется
характером решаемой задачи
При построении линий удобно
использовать их параметрическое
представление, либо, явную форму
уравнения y = f(x)
Геометрические основы
20

21. Способы описания кривых

10/12/16
Анализ свойств кривых и вычисление
координат точек их пересечения удобно
проводить с использованием явных и
неявных уравнений
В целом же параметрическое описание
является более универсальным и для
большого класса кривых оно является
единственно возможным
Геометрические основы
21

22. Параметрические кривые

Такие кривые называются параметрическими
Примеры параметрических кривых:
фигуры Лиссажу
x = cos(wx*t+wx0), y = sin(wy*t+wy0);
спираль Архимеда
x = (r0+r1*t) * cos(wx*t+wx0),
y = (r0+r1*t) * sin(wy*t+wy0);
10/12/16
Геометрические основы
22

23. Параметрические кривые

спираль Бернулли
x = r0*exp(r1*t) * cos(wx*t+wx0),
y = r0*exp(r1*t) * sin(wy*t+wy0);
параболическая спираль
x = (r0+r1*sqrt(t)) * cos(wx*t+wx0),
y = (r0+r1*sqrt(t)) * sin(wy*t+wy0);
10/12/16
Геометрические основы
23

24. Параметрические кривые

циклоида
x = r0*exp(r1*t) * cos(wx*t+wx0),
y = r0*exp(r1*t) * sin(wy*t+wy0);
улитка Паскаля
x=(r0*cos(t)+r1) * cos(wx*t+wx0),
y=(r0*cos(t)+r1) * sin(wy*t+wy0);
10/12/16
Геометрические основы
24

25. Параметрические кривые

трисектрисса
x = (r0*cos(t)-r1/cos(t)) * cos(wx*t+wx0),
y = (r0*cos(t)-r1/cos(t)) * sin(wy*t+wy0);
10/12/16
Геометрические основы
25

26. АФФИННЫЕ ПРЕОБРАЗОВАНИЯ

10/12/16
Геометрические основы
26

27. СК в компьютерной графике

В компьютерной графике используются
три системы координат:
неподвижная мировая система координат
(МСК);
подвижная объектная система координат
(ОСК), связанная с объектом;
экранная система координат (ЭСК).
10/12/16
Геометрические основы
27

28. МСК и OСК в 2D-пространстве

Y
Y’
X’
X
10/12/16
Геометрические основы
28

29. Сцена

Сценой называется система объектов,
изображение которой должно быть
воспроизведено средствами компьютерной
графики
Сцена является ограниченной областью
пространства
10/12/16
Геометрические основы
29

30. Координаты точки в МСК и ОСК

Пусть некоторой точке P сцены в МСК
соответствуют координаты (x,y), а в ОСК –
координаты (x ,y )
Если угол поворота ОСК относительно
МСК равен φ, а начало ОСК расположено
в точке (x0,y0), то
x ( x x0 ) * cos( ) ( y y0 ) * sin( ),
y ( x x0 ) * sin( ) ( y y0 ) * cos( )
10/12/16
Геометрические основы
30

31. Обратное преобразование

Обратное преобразование имеет вид:
x x * cos( ) y * sin( ) x0 ,
y x * sin( ) y * cos( ) y0
В общем случае, переход от МСК к ОСК
включает в себя два действия – поворот на
угол и сдвиг в направлении вектора
(x0,y0).
10/12/16
Геометрические основы
31

32. Интерпретация преобразований

Эти преобразования можно
интерпретировать двояко:
10/12/16
как изменение координат некоторой
фиксированной точки сцены при изменении
системы координат;
как изменение точки сцены, находящейся в
данной точке пространства, при
использовании фиксированной системы
координат
Геометрические основы
32

33. Интерпретация преобразований

В первом случае говорят об изменении
координат данной точки сцены
Во втором случае – о перемещении
объекта, приводящем к появлению в
данной точке пространства другой его
точки
10/12/16
Геометрические основы
33

34. Аффинное преобразование

В любом случае это отображение является
линейным и может быть обобщено
следующим образом:
x * x * y ,
y *x * y
10/12/16
Геометрические основы
34

35. Условие обратимости

Для обеспечения обратимости аффинного
преобразования его коэффициенты должны
быть связаны соотношением:
10/12/16
0,
Геометрические основы
35

36. Базовые преобразования

Теорема. Любое аффинное
преобразование можно представить как
суперпозицию поворота, растяжения,
отражения и переноса
Перечисленные преобразования являются
базовыми и могут быть представлены
соответствующими матрицами
10/12/16
Геометрические основы
36

37. Преобразование поворота

Имеет вид
x x * cos( ) y * sin( ),
y x * sin( ) y * cos( )
Задается матрицей
cos( ) sin( )
R
sin( ) cos( )
10/12/16
Геометрические основы
37

38. Преобразование растяжения

Имеет вид
x * x,
y *y
Задается матрицей
0
S
0
10/12/16
Геометрические основы
38

39. Преобразование отражения

Имеет вид (относительно оси абсцисс)
x x,
y y
Задается матрицей
1 0
F
0 1
10/12/16
Геометрические основы
39

40. Преобразование переноса

Имеет вид
x x ,
y y
Задается вектором
T
10/12/16
Геометрические основы
40

41. Общее преобразование

Произвольное аффинное преобразование
можно представить в виде:
p p*M T,
где p = [x, y] – векторное представление
точки
10/12/16
Геометрические основы
41

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

Данное преобразование является
неоднородным, т.к. преобразование
переноса выполняется аддитивно
Для обеспечения его однородности вводят
однородные координаты точки
10/12/16
Геометрические основы
42

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

Однородными координатами точки
p = [x, y] называется такая тройка чисел x1,
x2, x3, что
и x3 ≠ 0
10/12/16
x1
x2
x ,y
x3
x3
Геометрические основы
43

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

Обычно полагают x3 = 1, и тогда в
однородных координатах вектор точки
имеет вид:
p = [x, y, 1]
10/12/16
Геометрические основы
44

45. Матрицы преобразований

cos( ) sin( ) 0
R sin( ) cos( ) 0
0
0
1
1 0 0
F 0 1 0
0
10/12/16
0
1
Геометрические основы
0 0
S 0 0
0 0 1
1
0
0
T 0
1
0
1
45

46. Конец лекции

10/12/16
Геометрические основы
46
English     Русский Правила