Вы находитесь на странице: 1из 98

Пространственные

преобразования и
построение проекции
Часть 6
Содержание
1. Трехмерная система координат
2. Базовые преобразования в 3D
3. Композиция 3D преобразований
4. Изображение 3D объектов
5. Видовое преобразование как
композиция базовых преобразований
6. Перспективное преобразование
7. Команды для работы с проекциями в
OpenGL
1. Трехмерная система
координат

3
3D правосторонняя система координат

zw • Декартовы координаты X1, Y1, Z1


• Сферические координаты 1 , 1 , 1
z1 • Положительные направления вращения вокруг осей
• 2D-частный случай 3D
y

P1
1
1
z
x
y1
x1 1 yw
xw
4
Пересчет систем координат

• Из декартовых в сферические

 x 2  y 2  z 2 при  = 0, считаем ==0


z
  arccos
 z
 arctg ( y / x ), при x  0
  arctg ( y / x ), при x  0

 
  / 2 , при x  0 , y  0 
P

 3 / 2 , при x  0 , y  0 
 Из сферических в декартовы
y
x   sin  cos  x 
y   sin  sin 
z   cos  5
2. Базовые преобразования в
3D

6
Базовые преобразования в 3D (1)

• Перенос точки
• Масштабирование точки (относительно
z
центра системы координат)
• Поворот точки (относительно центра
системы координат)
• вокруг x P
• вокруг y 

• вокруг z
• Изменение знака (как частный случай
y
масштабирования)
x 
• x координаты
• y координаты
• z координаты
7
Базовые преобразования в 3D (2)
Перенос точки

1 0 0 0
P1*  x1 y1 z1 1 0 1 0 0
T ( x , y , z ) 
*

0 0 1 0
P2*  x2 y2 z2 1 x y z 1

z2=z1+z

P2*  P1*  T * z

z1 P1 P2

y1
x1 y
x y2=y1+y
x2=x1+x

8
Базовые преобразования в 3D (3)
Масштабирование точки

Sx 0 0 0
P1*  x1 y1 z1 1 0 Sy 0 0
S ( Sx , Sy , Sz ) 
*

0 0 Sz 0
P2*  x2 y2 z2 1 0 0 0 1

z2 =z1 Sz
P2*  P1*  S *
z1 P1 P2

y1
x1 y2 =y1 Sy
x2 =x1 Sx

9
Базовые преобразования в 3D (4)
Поворот точки вокруг z

cos  sin  0 0 c s 0 0
P1*  x1 y1 z1 1  sin  cos  0 0 s c 0 0
R ( ) 
*
z 
0 0 1 0 0 0 1 0
P2*  x2 y2 z2 1 0 0 0 1 0 0 0 1
z2=z1

P2*  P1*  R*z P2

P1

y1 y2
x2

x1
10
Базовые преобразования в 3D (5)
Поворот точки вокруг x

c s 0 0 0 1 P1*  x1 y1 z1 1
Rz (  )   s c 0 c s 0 P2*  x2 y2 z2 1
0 0 1 s c 0
z P2*  P1*  R*x

1 0 0
Rx (  )  0 c s
0 s c

x 11
Базовые преобразования в 3D (6)
Поворот точки вокруг y

1 0 0 0 s c P1*  x1 y1 z1 1
Rx ( )  0 c s 1 0 0 P2*  x2 y2 z2 1
0 s c 0 c s
z P2*  P1*  R *y

c 0 s
R y ( )  0 1 0
s 0 c

x 12
Базовые преобразования в 3D (7)
Изменение знака точки

P1*  x1 y1 z1 1
1 0 0
P2*  x2 y2 z2 1
Mx  0 1 0
0 0 1 z P2*  P1*  M i*
1 0 0
M y  0 1 0
0 0 1

1 0 0
Mz  0 1 0
y
0 0 1

x 13
Базовые преобразования в 3D (8)
Сводные результаты

1 0 0 0
1 0 0 0 1 0 0 0
0 1 0 0
0 1 0 0 0 c s 0 M x* 
T ( x , y , z ) 
* Rx* ( )  0 0 1 0
0 0 1 0 0 s c 0
0 0 0 1
x y z 1 0 0 0 1
c 0 s 0 1 0 0 0
Sx 0 0 0
0 1 0 0 0 1 0 0
0 Sy 0 0 R ( ) 
*
M *y 
S ( Sx , Sy , Sz ) 
* y
s 0 c 0 0 0 1 0
0 0 Sz 0
0 0 0 1 0 0 0 1
0 0 0 1
c s 0 0 1 0 0 0
T 1 (x, y, z )  T ( x, y,z ) s c 0 0 0 1 0 0
Rz* ( )  M z* 
0 0 1 0 0 0 1 0
1 1 1
S 1 ( Sx, Sy, Sz )  S ( , , ) 0 0 0 1 0 0 0 1
Sx Sy Sy
Ri1 ( )  Ri ( ) 14
3. Композиция 3D
преобразований

15
Композиция 3D преобразований (1)
Поворот точки относительно линии, проходящей через
начало СК на угол α

zv  V=|xv, yv, zv|


 xv, yv, zv =>v, v, v

P2 V
v P1
v

α
yv
xv v

16
Композиция 3D преобразований (1)
Поворот точки относительно линии, проходящей через
начало СК на угол α (1)

zv 1. Поворот СК на угол +θv вокруг z

R ( v )
1
z
P2 V
v P1
v

α
yv
xv v

17
Композиция 3D преобразований (1)
Поворот точки относительно линии, проходящей через
начало СК на угол α (2)

zv 2. Поворот СК на угол +φv вокруг y

R ( v )
1
y
P2 V
v P1
v

α
yv
xv v

18
Композиция 3D преобразований (1)
Поворот точки относительно линии, проходящей через
начало СК на угол α (3)

zv
3. Поворот точки на угол α вокруг z

Rz ( )
P2 V
v P1
v

α
yv
xv v

19
Композиция 3D преобразований (1)
Поворот точки относительно линии, проходящей через
начало СК на угол α (4)

zv
4. Поворот СК на угол -φv вокруг y

R ( v )
1
y
P2 V
v P1
v

α
yv
xv v

20
Композиция 3D преобразований (1)
Поворот точки относительно линии, проходящей через
начало СК на угол α (5)

zv 5. Поворот СК на угол -θv вокруг z

Rz1 ( v )
P2 V
v P1
v

α
yv
xv v

21
Композиция 3D преобразований (1)
Поворот точки относительно линии, проходящей через начало
СК на угол α (6)

P2  P1[ R ( v ) R ( v ) Rz ( ) R ( v ) R ( v )] 


1
z
1
y
1
y
1
z

 P1 R0 ( )
zv
r11 r12 r13
R0 ( )  r21 r22 r23 v P1
P2 V
v
r31 r32 r33 α
yv
xv v

22
Композиция 3D преобразований (2)
Поворот точки относительно произвольной линии на
угол α

1. Перенос СК в A T *1 ( x A , y A , z A )
P 2 V
P 1
2. Вычисление v и v в новой СК
A
3. Поворот
α
0
R0 ( ) 0
R ( ) 
*
0
0
0 0 0 1

4. Перенос СК назад T * 1 (  x A , y A , z A )
23
4. Изображение 3D
объектов

24
Изображение 3D объектов

y
 Объект имеет 3
измерения - x, y, z (3D)
z y
 Экран не имеет 3-го x
измерения - x, y (2D)
x

проекция

 Проекция – отображение 3D объекта на поверхность


(экран)
 Формально – преобразование мировых x, y, z в
экранные x,y координаты (3D->2D)

25
Геометрическое проецирование
 Элементы проекции:  Проекция 3D объекта - точки
пересечения проекторов с
 Исходные данные экраном
 Объект  Проекторы – прямые лучи,
 Объектная точка (ОТ) соединяющие точки объекта
 Точка наблюдения (E) или с центром проекции
 Центр проекции == точка
Линия наблюдения (ЛН - y e
наблюдения (E)
соединяет Е и ОТ) xe
 Экран
E
 Проекторы
z
w  Проекция
y
s

f E
xs
o
F
g

O OT
e
z yw
G

H
Центральная проекция Параллельная проекция
x w (OE соизмеримо с размерами объекта) (проекторы параллельны)
26
Типы проекций
 По расстоянию ОТ-Е:  По типу экрана:  По положению экрана:
 Центральная  Плоские  Прямоугольные
 Параллельная  Неплоские  Косоугольные

 Центральная проекция – присутствует эффект перспективы (укорочения)


 Эффект перспективы проявляется в том, что равные, параллельные в
пространстве отрезки прямых на проекции имеют длину обратно
пропорциональную расстоянию до точки наблюдения
 Параллельная проекция – частный случай центральной проекции (E->)

27
Параллельная проекция Центральная проекция
Этапы проецирования

Исходные данные :

 Объект в МСК (xw, yw, zw)

 Точка наблюдения (, , )


Учет положения
ОТ

Видовое преобразование
1
(МСК->ВСК)
Дополнительные данные :

 Положение экрана

(xe, ye, ze) (расстояние от ТН до


экрана)

Перспективное преобразование
2
(ВСК->ЭСК)

(xs, ys)
28
5. Видовое преобразование
как композиция базовых
преобразований

29
Видовое преобразование (1)
Мировая система координат

zw

zE

E


O
yE
xE  yw
xw
30
Видовое преобразование (2)
Видовая система координат

zw  В видовой системе координат:


ye Центр в ТН (E)

Ось z через ЦМСК (а не через


zE 

ОТ)
 Ось y вверх
 Ось x вправо

xe
E


O
e
z yE
xE  yw
xw
31
Видовое преобразование (3)
1. Перенос ЦМСК в точку наблюдения

zw
1 0 0 0
0 1 0 0
zE T *1 ( X E , YE , Z E ) 
0 0 1 0
 XE  YE  ZE 1

E


O
yE
xE  yw
xw
32
Видовое преобразование (3)
1. Перенос ЦМСК в точку наблюдения

zw
1 0 0 0
0 1 0 0
zE T *1 ( X E , YE , Z E ) 
0 0 1 0
 XE  YE  ZE 1

E


O
yE
xE  yw
xw
33
Видовое преобразование (3)
1. Перенос ЦМСК в точку наблюдения

zw
1 0 0 0
0 1 0 0
T *1 ( X E , YE , Z E ) 
zE 0 0 1 0
 XE  YE  ZE 1

E


O
yE
xE  yw
xw
34
Видовое преобразование (3)
1. Перенос ЦМСК в точку наблюдения

zw 1 0 0 0
0 1 0 0
T *1 ( X E , YE , Z E ) 
zE 0 0 1 0
 XE  YE  ZE 1

E


O
yE
xE  yw
xw
35
Видовое преобразование (3)
1. Перенос ЦМСК в точку наблюдения

zw 1 0 0 0
0 1 0 0
T *1 ( X E , YE , Z E ) 
zE 0 0 1 0
 XE  YE  ZE 1

E


O
yE
xE  yw
xw
36
Видовое преобразование (3)
1. Перенос ЦМСК в точку наблюдения

zw 1 0 0 0
0 1 0 0
T *1 ( X E , YE , Z E ) 
zE 0 0 1 0
 XE  YE  ZE 1

E


O
yE
xE  yw
xw
37
Видовое преобразование (3)
1. Перенос ЦМСК в точку наблюдения

zw 1 0 0 0
0 1 0 0
T *1 ( X E , YE , Z E ) 
zE 0 0 1 0
 XE  YE  ZE 1

E


O
yE
xE  yw
xw
38
Видовое преобразование (3)
1. Перенос ЦМСК в точку наблюдения

zw 1 0 0 0
0 1 0 0
T *1 ( X E , YE , Z E ) 
zE 0 0 1 0
 XE  YE  ZE 1

E


O
yE
xE  yw
xw
39
Видовое преобразование (3)
1. Перенос ЦМСК в точку наблюдения

zw 1 0 0 0
0 1 0 0
T *1 ( X E , YE , Z E ) 
zE 0 0 1 0
 XE  YE  ZE 1

E


O
yE
xE  yw
xw
40
Видовое преобразование (3)
1. Перенос ЦМСК в точку наблюдения

zw 1 0 0 0
0 1 0 0
T *1 ( X E , YE , Z E ) 
0 0 1 0
zE
 XE  YE  ZE 1

E


O
yE
xE  yw
xw
41
Видовое преобразование (3)
1. Перенос ЦМСК в точку наблюдения

zw 1 0 0 0
0 1 0 0
T *1 ( X E , YE , Z E ) 
zE 0 0 1 0
 XE  YE  ZE 1

E


O
yE
xE  yw
xw
42
Видовое преобразование (3)
1. Перенос ЦМСК в точку наблюдения

zw 1 0 0 0
0 1 0 0
T *1 ( X E , YE , Z E ) 
zE 0 0 1 0
 XE  YE  ZE 1

E


O
yE
xE  yw
xw
43
Видовое преобразование (3)

zw

zE

E


O 
yE
xE  yw
xw
44
Видовое преобразование (4)
2. Поворот СК вокруг Z на -(/2 - )

zw cos(   )  sin(   ) 0 0
2 2
sin(   ) cos(   ) 0 0
RZ (   ) 
*1
2 2
2
zE 0 0 1 0
0 0 0 1
- π / 2-

E


O 
yE
xE  yw
xw
45
Видовое преобразование (4)
2. Поворот СК вокруг Z на -(/2 - )

zw cos(   )  sin(   )
2 2
0 0
sin(   ) cos(   ) 0 0
RZ (   ) 
*1
2 2
2 0 0 1 0
zE
0 0 0 1
-

E


O
yE
xE  yw
xw
46
Видовое преобразование (4)
2. Поворот СК вокруг Z на -(/2 - )

zw cos(   )  sin(   )
2 2
0 0
sin(   ) cos(   ) 0 0
RZ (   ) 
*1
2 2
2
zE 0 0 1 0
0 0 0 1
-

E


O
yE
xE  yw
xw
47
Видовое преобразование (4)
2. Поворот СК вокруг Z на -(/2 - )

zw cos(   )  sin(   ) 0 0
2 2
sin(   ) cos(   ) 0 0
RZ (   ) 
*1
2 2
2
zE 0 0 1 0
0 0 0 1
-

E


O
yE
xE  yw
xw
48
Видовое преобразование (4)
2. Поворот СК вокруг Z на -(/2 - )

zw cos(   )  sin(   )
2 2
0 0
sin(   ) cos(   ) 0 0
RZ (   ) 
*1
2 2
2 0 0 1 0
zE
0 0 0 1
-

E


O
yE
xE  yw
xw
49
Видовое преобразование (4)
2. Поворот СК вокруг Z на -(/2 - )

zw cos(   )  sin(   )
2 2
0 0
sin(   ) cos(   ) 0 0
RZ (   ) 
*1
2 2
2 0 0 1 0
zE
0 0 0 1
-

E


O
yE
xE  yw
xw
50
Видовое преобразование (4)

zw

zE

E


O
yE
xE  yw
xw
51
Видовое преобразование (5)
3. Поворот СК вокруг X на ( - )

zw 1 0 0 0
*1 0 cos(   )  sin(   ) 0
RX (   ) 
0 sin(   ) cos(   ) 0
zE 0 0 0 1
π-


E


O
+
yE
xE  yw
xw
52
Видовое преобразование (5)
3. Поворот СК вокруг X на ( - )

1 0 0 0
zw
*1 0 cos(   )  sin(   ) 0
RX (   ) 
0 sin(   ) cos(   ) 0
zE 0 0 0 1

E


O
+
yE
xE  yw
xw
53
Видовое преобразование (5)
3. Поворот СК вокруг X на ( - )

zw 1 0 0 0
*1 0 cos(   )  sin(   ) 0
RX (   ) 
0 sin(   ) cos(   ) 0
zE 0 0 0 1

E


O
+
yE
xE  yw
xw
54
Видовое преобразование (5)
3. Поворот СК вокруг X на ( - )

zw 1 0 0 0
*1 0 cos(   )  sin(   ) 0
RX (   ) 
0 sin(   ) cos(   ) 0
zE
0 0 0 1

E


O
+
yE
xE  yw
xw
55
Видовое преобразование (5)
3. Поворот СК вокруг X на ( - )

zw 1 0 0 0
*1 0 cos(   )  sin(   ) 0
RX (   ) 
0 sin(   ) cos(   ) 0
zE
0 0 0 1

E


O
+
yE
xE  yw
xw
56
Видовое преобразование (5)
3. Поворот СК вокруг X на ( - )

zw 1 0 0 0
*1 0 cos(   )  sin(   ) 0
RX (   ) 
0 sin(   ) cos(   ) 0
zE 0 0 0 1

E


O
+
yE
xE  yw
xw
57
Видовое преобразование (5)
3. Поворот СК вокруг X на ( - )

zw 1 0 0 0
*1 0 cos(   )  sin(   ) 0
RX (   ) 
0 sin(   ) cos(   ) 0
zE
0 0 0 1

E


O
+
yE
xE  yw
xw
58
Видовое преобразование (5)
3. Поворот СК вокруг X на ( - )

zw 1 0 0 0
*1 0 cos(   )  sin(   ) 0
RX (   ) 
0 sin(   ) cos(   ) 0
zE
0 0 0 1

E


O
+
yE
xE  yw
xw
59
Видовое преобразование (5)
3. Поворот СК вокруг X на ( - )

zw 1 0 0 0
*1 0 cos(   )  sin(   ) 0
RX (   ) 
0 sin(   ) cos(   ) 0
zE
0 0 0 1

E


O
+
yE
xE  yw
xw
60
Видовое преобразование (5)
3. Поворот СК вокруг X на ( - )

zw 1 0 0 0
*1 0 cos(   )  sin(   ) 0
RX (   ) 
0 sin(   ) cos(   ) 0
zE
0 0 0 1

E


O
+
yE
xE  yw
xw
61
Видовое преобразование (5)
3. Поворот СК вокруг X на ( - )

zw 1 0 0 0
*1 0 cos(   )  sin(   ) 0
RX (   ) 
0 sin(   ) cos(   ) 0
zE 0 0 0 1

E


O
+
yE
xE  yw
xw
62
Видовое преобразование (5)

zw

zE

E


O
yE
xE  yw
xw
63
Видовое преобразование (6)
4. Изменение направления оси X

zw 1 0 0 0
*1 0 1 0 0
MX 
zE 0 0 1 0
0 0 0 1

E


O
yE
xE  yw
xw
64
Видовое преобразование (6)
4. Изменение направления оси X

zw 1 0 0 0
*1 0 1 0 0
MX 
zE 0 0 1 0
0 0 0 1

E


O
yE
xE  yw
xw
65
Видовое преобразование (6)
4. Изменение направления оси X

zw 1 0 0 0
*1 0 1 0 0
MX 
zE 0 0 1 0
0 0 0 1

E


O
yE
xE  yw
xw
66
Видовое преобразование (6)
4. Изменение направления оси X

zw 1 0 0 0
*1 0 1 0 0
MX 
zE 0 0 1 0
0 0 0 1

E


O
yE
xE  yw
xw
67
Видовое преобразование (6)
4. Изменение направления оси X

zw 1 0 0 0
*1 0 1 0 0
MX 
zE 0 0 1 0
0 0 0 1

E


O
yE
xE  yw
xw
68
Видовое преобразование (6)
4. Изменение направления оси X

zw 1 0 0 0
*1 0 1 0 0
MX 
zE 0 0 1 0
0 0 0 1

E


O
yE
xE  yw
xw
69
Видовое преобразование (6)
4. Изменение направления оси X

zw 1 0 0 0
*1 0 1 0 0
MX 
zE 0 0 1 0
0 0 0 1

E


O
yE
xE  yw
xw
70
Видовое преобразование (6)
4. Изменение направления оси X

zw 1 0 0 0
*1 0 1 0 0
MX 
zE 0 0 1 0
0 0 0 1

E


O
yE
xE  yw
xw
71
Видовое преобразование (6)
4. Изменение направления оси X

zw 1 0 0 0
*1 0 1 0 0
MX 
zE 0 0 1 0
0 0 0 1

E


O
yE
xE  yw
xw
72
Видовое преобразование (6)
4. Изменение направления оси X

zw 1 0 0 0
*1 0 1 0 0
MX 
zE 0 0 1 0
0 0 0 1

E


O
yE
xE  yw
xw
73
Видовое преобразование (6)
4. Изменение направления оси X

zw 1 0 0 0
*1 0 1 0 0
MX 
zE 0 0 1 0
0 0 0 1

E


O
yE
xE  yw
xw
74
Видовое преобразование (7)
Видовая система координат

zw
ye
zE

xe
E

O 
e
z yE
xE  yw
xw
75
Видовое преобразование (8)
Сводный перечень преобразований
z w
zw
zE
zE 3 π-


E

E 

 z w
O
+
O yE
yE xE  yw
zE
xE  yw
- xw
xw π/2-

E 4
1  zw
zw
O 
zE yE zE
xE  yw
xw
E E
 
 
O O
yE yE
xE  w xE  yw
y 2
xw xw
76
Матрица видового преобразования
6. Перспективное
преобразование

78
Перспективное преобразование

ze
По оси x: AE AB zBe xBe A B
  s
aE ab d xB ys
d e
xB  e xB
s

zB ye
xs
Для проецирования ОТ в
a b
центр ЭСК:
Экран
d e
x  e x  xцОВ
s

z
d e xe
y  e y  yцОВ
s E
z
79
Учет положения объектной точки

 В видовой системе координат ось z проходит через центр


МСК
 Объектная точка может не совпадать с ЦМСК -> не будет
попадать на экран
zw
ye
zE

ОТ xe
 ЛН E
Перед видовым преобразованием 
перенести ЦМСК в ОТ! 

ze yE
*1
T ( xo , yo , zo ) xE  yw

xw

80
Влияние удаленности ТН и экрана на
проекцию

 Возможные изменения:
 размер проекции (РП)
 степень эффекта перспективы (ЭП)
 Увеличение удаленности точки наблюдения ()
    РП
    ЭП О О
(ЭП в параллельной проекции Э
отсутствует) 1
2
 Увеличение удаленности экрана от точки наблюдения (d)
2
 d   РП 1
 О2 О1
d    ЭП  const
 РП
E Э1 Э2 81
Параллельная и центральная проекции

C
D

A B
C1 D1
A1 B1

82
E
7. Команды для работы с
проекциями в OpenGL
Системы координат в OpenGL

Системы координат в OpenGL. (a) — правосторонняя,


(б) — левосторонняя, (в) — оконная.

84
Преобразования объектов в OpenGL
Работа с матрицами:

void glMatrixMode(Glenum mode)


void glLoadMatrix[f d] (Gltype *m)
Void LoadIdentity(void)
void glPushMatrix(void);
void glPopMatrix(void)
void glMultMatrix [f d] (Gltype *m)

85
Преобразования объектов в OpenGL
• Модельно-видовые преобразования:
void glTranslate[f d](GLtype x, GLtype y,
GLtype z)
void glRotate[f d](GLtype angle, GLtype
x, GLtype y, GLtype z)
void glScale[f d](GLtype x, GLtype y,
GLtype z)

86
Положение наблюдателя (точки наблюдения)

void gluLookAt(
GLdouble eyex, GLdouble eyey, GLdouble eyez,
GLdouble atx, GLdouble aty, GLdouble atz,
GLdouble upx, GLdouble upy, GLdouble upz)
• eyex, eyey, eyez– координаты точки
наблюдения,
• atx, aty, atz– координаты прицельной точки
(точки, на которую направлена камера) и
• upx, upy, upz направление, которое следует
считать верхним. 
gluLookAt
Виды проекции

Параллельная проекция Центральная проекция


Параллельная проекция (ортографическая)

void glOrtho(
GLdouble left,  GLdouble right, 
GLdouble bottom, GLdouble top, 
GLdouble near, GLdouble far );

void gluOrtho2D(
GLdouble left, GLdouble right, 
GLdouble bottom, GLdouble top );

90
Параллельная проекция
(ортографическая)
Центральная (перспективная)
проекция
• gluPerspective - данная команда строит
пирамиду охвата видимости, основываясь
на угле визуального охвата, отношении
сторон порта просмотра и установке
ближней и дальней плоскости просмотра
Центральная проекция
gluPerspective

void gluPerspective(
GLdouble angley, GLdouble aspect, GLdouble
zNear, GLdouble zFar);
• angley - область угла просмотра по вертикали
в градусах
• aspect - (ширина области просмотра) /
(высоту области просмотра).
• zNear - расстояние до ближней плоскости
отсечения (всё что ближе - не рисуется)
• zFar - расстояние до дальней плоскости
отсечения (всё что дальше - не рисуется)
Центральная проекция (перспективная)

Перспективная проекция

95
Задание области вывода
Область вывода представляет собой прямоугольник в оконной системе
координат, размеры которого задаются командой:

void glViewport( 
  GLint x, 
  GLint y, 
  GLsizei width, 
  GLsizei height 
);

Значения всех параметров задаются в пикселях и определяют ширину и


высоту области вывода с координатами левого нижнего угла (х,у) в
оконной системе координат. Размеры оконной системы координат
определяются текущими размерами окна приложения, точка (0,0)
находится в левом нижнем углу окна.
Конец