Similar presentations:
Математические основы компьютерной графики. Лекция 2
1. МАТЕМАТИЧЕСКИЕ ОСНОВЫ КОМПЬЮТЕРНОЙ ГРАФИКИ
2. МАТЕМАТИЧЕСКИЕ ОСНОВЫ КОМПЬЮТЕРНОЙ ГРАФИКИ
Скаляр – величина, каждое значение которойможет быть выражено одним (действительным)
числом.
Вектор – это направленный отрезок прямой
линии, характеризуемый только его длиной и
направлением.
3. ВЕКТОРНОЕ И АФФИННОЕ ПРОСТРАНСТВО
Векторное (линейное) пространство содержитобъекты только двух типов: скаляры
(действительные числа) и векторы.
Аффинное пространство – это расширение
векторного пространства, в которое включен
дополнительный тип объектов – точка.
4. АФФИННОЕ ПРОСТРАНСТВО
PP-Q
P-R
Q
Q-R
R
Результатом операции сложения точки и вектора
является точка.
Обратной ей является операция вычитания двух
точек, результатом которой будет вектор.
5. Координатный метод
каждая точка на экране (бумаге при печати на принтере)задается координатами;
координаты используются для описания объектов,
которые будут отображаться как пространственные;
при выполнении многих промежуточных действий
отображения используют разные системы координат и
преобразования из одной системы в другую.
6. Системы координат
Наиболее востребованными в компьютернойграфике являются декартовы системы
координат, как способ удобного создания
абстракций реальных предметов окружающего
мира.
7. Системы координат
Цилиндрические, сферические, проективные иразличные другие координаты в пространстве
обычно используются для моделирования
специальных эффектов при деформации объектов.
8. Системы координат
При отображении пространственных объектовиспользуют понятие мировых координат –
трёхмерных декартовых координат пространства,
в котором размещаются объекты.
Каждый из объектов имеет собственную
объектную систему координат.
9. Системы координат
Экранная система координат связана с темграфическим устройством, где в заданной
проекции на картинной плоскости отображается
создаваемая трёхмерная сцена.
10. Системы координат
Fm1
окно
n1
Мировые
координаты
Экранная
область
m2
n2
11. АФФИННАЯ СИСТЕМА КООРДИНАТ
Аффинная система координат –система в n-мерном аффинном
пространстве, определяемая
совокупностью n линейно
независимых векторов, исходящих из
начала координат.
12. АФФИННАЯ СИСТЕМА КООРДИНАТ
Координаты точки в аффинной системекоординат – это компоненты разложения
радиус-вектора точки по координатным
векторам.
Число независимых координат, которые
определяют ее положение, задает
размерность пространства.
13. АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
Все изменения изображений можновыполнить с помощью базовых операций:
поворот;
масштабирование;
отражение;
перенос (смещение).
14. 2D АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
Предположим, что на плоскости введенадекартова система координат (OXY).
Тогда каждой точке М ставится в
соответствие упорядоченная пара чисел (x,y)
ее координат.
Вводя на плоскость еще одну декартову
систему координат (O’X’Y’), ставим в
соответствие той же точке М другую пару
чисел (x’,y’).
15. 2D АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
Переход от одной декартовой системыкоординат на плоскости к другой описывается
следующими соотношениями:
x' x y ,
y ' x y ,
где , , , - произвольные числа, но
(*)
0
16. 2D АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
x' x y ,y ' x y ,
X’
Y’
Y
Сохраняется точка и
изменяется
координатная
система –
произвольная точка
М остается той же,
O’
M
XY
O
а
изменяются лишь ее
координаты.
17. 2D АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
x' x y ,y ' x y ,
Y
Изменяется точка, и
сохраняется координатная
система – формула задает
отображение, переводящее
произвольную точку М(x,y)
в точку M(x’,y’), координаты
M’
M
O
б
X
которой определены в той
же координатной системе.
В дальнейшем будем рассматривать второй случай
преобразования, соответствующий рис. б.
18. 2D АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
I. Поворот (вокруг начальной точки наугол ) описывается формулами:
x' x cos( ) y sin( ),
Y
M’
y ' x sin( ) y cos( ).
O
M
X
19. 2D АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
II. Растяжение(сжатие) вдоль координатных
осей:
x ' x,
Y
M’
y ' y.
0, 0.
M
O
X
20. 2D АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
III. Отражение относительно оси абсциссзадается при помощи формул:
x ' x,
y ' y.
21. 2D АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
IV. Перенос обеспечиваютсоотношения:
x' x ,
M’
Y
y' y .
M
X
O
22. 2D АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
Выбор этих частных случаев определяется двумяобстоятельствами:
каждое из приведенных выше преобразований
имеет простой и наглядный геометрический
смысл;
как доказывается в курсе аналитической
геометрии, любое преобразование всегда можно
представить как последовательное исполнение
(суперпозицию) простейших преобразований I-IV.
23. 2D АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
Для применения перечисленных вышепреобразований в задачах КГ применяется их
матричная запись:
cos
sin
sin
,
cos
0
0 ,
1 0
0 1
24. 2D АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
Преобразование переноса (IV) вматричном виде записать невозможно.
Для простоты алгоритмизации любого
преобразования необходимо иметь
матричный вид записи всех четырех
преобразований .
25. ОДНОРОДНЫЕ КООРДИНАТЫ
Однородными координатами точкиM(x,y) называется тройка
одновременно не равных нулю чисел
x1 , x 2 , x3 , если:
x1
x2
x , y .
x3
x3
26. ОДНОРОДНЫЕ КООРДИНАТЫ
Точке М(x, y) ставится всоответствие точка М’(x, y, 1) в
Z
пространстве.
M’(x,y,1)
1
прямой, соединяющей начало
Y
M(x, y)
0
X
Произвольная точка на
координат, точку О(0,0,0), с
точкой М’(x, y, 1), может быть
задана тройкой (hx, hy, h).
Исключая точку О из
рассмотрения, будем считать,
что h 0.
27. ОДНОРОДНЫЕ КООРДИНАТЫ
Считая h=1 выражениепереписать в виде:
0
( x' , y ' ,1) ( x, y,1) 0
1
x'
или y '
1
(*)
можно
0 x
0 y
1 1
28. 2D АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
I. Матрица вращения (rotation):cos
R sin
0
sin
cos
0
0
0
1
29. 2D АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
II. Матрица масштабирования:0 0
D 0 0
0 0 1
30. 2D АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
III. Матрица отражения:1 0 0
M 0 1 0
0 0 1
31. 2D АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
IV. Матрица переноса:1
T 0
0
1
0
0
1
32.
Visual Studio, С#33. Visual Studio окно элементов Toolbox (Ctrl+Alt+X)
Visual Studio окно элементовToolbox (Ctrl+Alt+X)
Содержит список элементов
управления, которые можно
использовать на формах
приложения.
Мы будем использовать:
34.
Окно SolutionExplorer
•Окно Solution Explorer позволяет просматривать состав
проектов, входящих в решение, в виде иерархической
структуры, а также связи между проектами и их
компонентами.
•Компонентами проектов могут быть формы, классы,
модули, а также другие файлы, которые требуются для
создания приложения.
35. Окно Properties (F4)
Окно Properties (F4)Предназначено
для изменения
свойств
элементов
управления
создаваемого
приложения
36. Рисуем линию
37. Рисуем линию
Перед тем какрисовать линии и фигуры,
отображать текст,
выводить изображения и
управлять ими в GDI+
необходимо создать
объект Graphics.
Объект Graphics
представляет поверхность
рисования GDI+ и
используется для создания
графических
изображений.
38. Работа с графикой
Этап 1: Создание объекта Graphics. Ввызовите метод CreateGraphicsформы или элемента управления, на котором необходимо отобразить
графику:
Graphics g = this.CreateGraphics();
Этап 2. Использование объекта Graphics для рисования линий и фигур,
отображения текста или изображения и управления ими. После
создания объекта Graphics его можно использовать для рисования
линий и фигур, отображения текста или изображения и управления
ими. Основные объекты, используемые с объектом Graphics:
Класс Pen —
служит для рисования линий, контуров и
отрисовки других геометрических объектов.
Класс Brush —
служит для заливки областей, например
фигур, изображений или текста.