fullKG
.pdf
Для проекции сверху
Повернуть вокруг оси x на 90 градусов, тогда верх окажется спереди и, после этого, матрицу проецирования.
объект
|
1 |
0 |
0 |
0 |
1 0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
* 0 |
0 |
1 |
0 |
* 0 1 |
0 |
0 |
|
|
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
Поворот на 90° |
Матрица |
cos90°=0 |
проецирования |
sin90°=1 |
|
Чтобы получить все проекции:
Для главного вида сразу определить охватывающий прямоугольник.
xmax, ymax
xmin, ymin
И, если следующий вид наложится, его надо сместить. Для всех поворотов (поворот, спроецировать)
08. Диметрическая проекция. Математические преобразования для получения элементов матрицы-преобразователя для построения этой проекции.
Изометрические и диаметрические проекции на плоскости ХОУ формируют изображение объемных тел, вид которых создает иллюзию объемности.
Смысл: тело вначале поворачивают вокруг оси у на некоторый угол, затем поворачивают вокруг оси х на некоторый угол и потом проецируют.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1у* |
|
|
|
|
||
|
|
1350 |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
* |
|
|||||
|
|
|
|
|
|
|
|
|
1х |
х |
||
|
450 |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1z* |
|
|
|
|
|
|
|
|
||
z |
|
|
|
|
|
|
|
|
|
|
|
|
1х |
* |
1у |
* |
|
|
2* 1z |
* |
|||||
|
|
|
|
|||||||||
Общий вид для изометрической и диаметрической проекций.
1х |
1 0 01 |
|
|
|
|
|
|
|
1 0 0 0 |
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
01 0 0 |
|
|
|
|
|
|
|
|
|
|
|||||||||
1у |
|
|
|
|
|
Т |
|
|
|
Т |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
01 01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 0 0 0 |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
1z |
0 011 |
поворот |
поворот |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
вокруг у |
вокруг х |
|
0 0 01 |
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
объект |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
проекцияна |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ось ХОУ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cos |
|
sin sin |
|
sin |
cos |
0 |
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
0 |
|
|
cos |
|
|
sin |
0 |
|
|
|
|
|
|
|
|||||
Т |
|
Т |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
sin |
sin |
cos |
|
cos |
cos |
0 |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
0 |
|
|
|
0 |
|
|
|
|
0 |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
cos |
sin |
0 |
|
0 |
|
|
|
1 |
|
0 |
|
0 |
0 |
|
|
cos |
0 |
sin |
0 |
||||||
|
|
sin |
cos |
0 |
|
0 |
|
|
|
0 |
|
cos |
|
sin |
0 |
|
|
|
0 |
1 |
0 |
0 |
|||||
Tz |
|
|
|
|
|
|
|
|
|
|
|
Tx |
|
|
|
|
|
|
|
Ty |
|
|
|
|
|
||
|
0 |
|
|
0 |
1 |
|
0 |
|
0 |
|
sin |
cos |
0 |
|
sin |
0 |
cos |
0 |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
0 |
0 1 |
|
|
|
0 |
|
0 |
|
0 |
1 |
|
|
|
0 |
0 |
0 |
1 |
||||
|
|
Поворот фигуры |
|
|
|
|
|
Поворот фигуры |
|
|
|
|
Поворот фигуры |
||||||||||||||
|
|
|
вокруг оси ‘z’ |
|
|
|
|
|
|
вокруг оси ‘х’ |
|
|
|
|
вокруг оси ‘y’ |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Углы поворота вокруг осей:
=20,7050 =22,2080
|
|
|
|
0,925820 |
0,133631 |
- 0,353553 |
0 |
||
|
|
|
|
|
0 |
0,935414 |
0,353553 |
0 |
|
Т |
|
Т |
|
|
|
||||
|
|
|
|
|
|
||||
|
|
0,377964 |
- 0,327329 |
0,866025 |
0 |
|
|||
|
|
|
|
||||||
|
|
|
|
|
0 |
0 |
0 |
1 |
|
|
|
|
|
|
|
||||
Если обнулить третий столбец, то мы получим координаты точек спроецированные на осях х,у,z (т.е. на плоскости визуализации).
Пример. Описание куба.
|
2 |
|
|
|
3 |
1т. 0111 |
5т. 0011 |
|
1 |
4 |
|
2т. 0101 |
6т. 0001 |
||||
|
6 |
|
|
7 |
3т. 1101 |
7т. 1001 |
||
|
|
|
|
|||||
5 |
|
|
|
4т. 1111 |
8т. 1011 |
|||
|
||||||||
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|||||
|
|
|
|
|||||
09. Изометрическая проекция и ее матричное представление, используемое в машинной графике.
Изометрические и диаметрические проекции на плоскости ХОУ формируют изображение объемных тел, вид которых создает иллюзию объемности.
Смысл: тело вначале поворачивают вокруг оси у на некоторый угол, затем поворачивают вокруг оси х на некоторый угол и потом проецируют.
y
|
|
|
|
1у |
* |
|
|
|
|
|
|
|
|
|
|
|
|
1200 |
|
|
|
|
|
* |
1x |
* |
|
|
1z |
|||||
|
|
|||||
Z |
|
|
||||
|
|
|
|
|||
|
|
|
|
|
|
|
1х* 1у* 1z*
x
Общий вид для изометрической и диаметрической проекций.
1х |
1 0 01 |
|
|
|
|
|
|
1 0 0 0 |
|
|||
|
|
|
|
|
|
|
01 0 0 |
|
||||
1у |
|
|
|
|
Т |
|
|
Т |
|
|
|
|
|
01 01 |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
0 0 0 0 |
|||
|
|
|
|
|
|
|
|
|
|
|
||
1z |
0 011 |
|
поворот |
|
поворот |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
вокруг у |
|
вокруг х |
0 0 01 |
|
||||
|
|
объект |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
проекцияна |
||
|
|
|
|
|
|
|
|
|
|
ось ХОУ |
|
|
|
|
|
|
cos |
|
|
|
|
|
|
0 |
|
|
Т Т |
|||
|
|
|
|
|
|
|
|
|
|
sin |
|
|
|
|
|
|
0 |
|
|
cos |
sin |
0 |
|
|
|
|
sin |
cos |
0 |
T |
|
|
|||
z |
|
|
|
||
|
|
0 |
0 |
1 |
|
|
|
||||
|
|
|
0 |
0 |
0 |
|
|
|
|||
Поворот фигуры вокруг оси ‘z’
|
sin sin |
sin cos |
||||||||||
|
|
cos |
|
|
sin |
|
|
|||||
sin cos |
cos cos |
|||||||||||
0 |
|
|
0 |
1 |
|
|
0 |
0 |
||||
|
|
|
|
|||||||||
|
|
|
0 |
|
0 |
|||||||
0 |
|
|
|
|
|
0 |
cos |
|
sin |
0 |
|
|
|
T |
|
|
|
|
|||||||
|
x |
|
|
|
|
|
||||||
0 |
0 |
sin |
cos |
0 |
||||||||
|
|
|||||||||||
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
0 |
0 |
|
0 |
1 |
||||
|
|
|
|
|
|
Поворот фигуры |
|
|
||||
|
|
|
|
|
|
|
вокруг оси ‘х’ |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
Углы поворота вокруг осей:
=35,264390=450
0
0
0
1
|
|
cos |
0 |
sin |
0 |
|||
|
|
|
0 |
|
1 |
0 |
0 |
|
T |
|
|
|
|
||||
y |
|
|
|
|
|
|||
|
sin |
|
0 |
cos |
0 |
|||
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
0 |
0 |
1 |
|
Поворот фигуры вокруг оси ‘y’
|
|
|
|
0,707107 |
0,408248 |
- 0,577353 |
0 |
||
|
|
|
|
|
0 |
0,816497 |
0,577345 |
0 |
|
Т |
|
Т |
|
|
|
||||
|
|
|
|
|
|
||||
|
|
0,707107 |
- 0,408248 |
0,577353 |
0 |
|
|||
|
|
|
|
||||||
|
|
|
|
|
0 |
0 |
0 |
1 |
|
|
|
|
|
|
|
||||
Если обнулить третий столбец, то мы получим координаты точек спроецированные на осях х,у,z (т.е. на плоскости визуализации).
Пример. Описание куба.
|
2 |
|
|
|
3 |
1т. 0111 |
5т. 0011 |
|
1 |
4 |
|
2т. 0101 |
6т. 0001 |
||||
|
6 |
|
|
7 |
3т. 1101 |
7т. 1001 |
||
|
|
|
|
|||||
5 |
|
|
|
4т. 1111 |
8т. 1011 |
|||
|
||||||||
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|||||
|
|
|
|
|||||
10. Перспективные преобразования и их геометрическая интерпретация на примере преобразования точек и прямых, параллельных оси Z.
|
|
|
|
|
|
|
|
a |
b |
c |
o |
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
y1 |
z1 |
1 |
|
d |
e f p |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
x |
2 |
y |
2 |
z |
2 |
1 * g |
h k r |
||||
|
|
|
|
|
|
|
|
|
|||
.......... |
|
......... |
|
|
|
|
|||||
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
......... |
|
|
|
|
|
|
|
.......... |
|
|
|
l |
m |
n |
s |
||||
Параметры o, p, r – перспективные преобразования объекта вдоль соответствующих осей.
x * |
x |
|
y * |
y |
z * |
z |
|
|
1 |
1 |
1 |
||||||
|
|
|
||||||
1 |
z r |
1 |
1 |
z r 1 |
1 |
z r |
1 |
|
|
|
|
||||||
|
1 |
|
|
1 |
|
1 |
|
|
Дали, что бы вернуться в |
||||||||
|
x |
y |
z |
|
|
1 |
0 |
|
|
1 |
|
||||||
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|||
.......... |
|
|
......... |
|
* |
|
0 |
1 |
|
|
|
|
|
0 |
0 |
||
|
......... |
|
|
|||||
|
|
|
|
|
|
|
|
|
.......... |
|
......... |
|
|
|
0 |
0 |
|
нужную систему координат |
|||||||
0 |
0 |
x |
y |
z |
z r |
||
|
|
|
|
1 |
1 |
1 |
1 |
|
|
|
|
||||
0 |
0 |
|
.......... |
|
|
......... |
|
|
|
|
|
|
|
||
1 |
r |
|
|
|
|
|
|
|
.......... |
|
......... |
|
|
||
0 |
1 |
.......... |
|
......... |
|
|
|
|
y1 |
|
|
|
|
|
|
надо все поделить на z1r+1 1
|
z1 |
P1(x1,y1,z1) |
||
|
|
|
||
|
|
|
x1 |
|
|
|
|
y |
|
|
|
|
y1* |
|
|
0 |
|
|
|
|
|
|
x1* |
|
|
|
|
x |
|
|
|
|
Н – это точка наблюдения (наблюдатель), |
|
|
|
|
находится |
на расстоянии z обратно |
Н |
|
|
пропорционально коэффициенту r |
|
z
|
|
|
|
|
1 |
x * |
|
H |
|
|
r |
1 |
|
|
|||
x |
H z |
1 |
|
||
|
|
z |
|||
1 |
|
1 |
|
|
|
|
|
|
|
r |
1 |
|
|
|
|
|
H |
1 |
|
1 |
|
|
x |
|
1 rz |
x * |
|
|||
|
r |
|
|
1 |
||
|
|
|
|
|||
|
|
|
1 |
1 |
1 |
rx |
|
|
|
|
|
||
|
|
|
|
|
|
1 |
Параллельные прямые будут сходиться в бесконечности.
(x2,y2,∞) x1,y1
P2(x1,y1,z1)
Z1
P1(x1,y1,z1)
(x1,y1,0)
Н
z |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если z=0, то |
x1* x1 |
|
|
не преобразуется |
|
|
|
|||||||
|
y1* y1 |
|
не преобразуется |
|
|
|
||||||||
|
z1* z1 0 |
не преобразуется |
|
|
|
|||||||||
Если z=∞, то |
x2* 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y2* 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
z2* |
|
z1 |
|
|
1 |
|
|
1 |
|
// |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
z1r |
1 |
|
1 |
|
r |
|
z1 |
|
||||
|
|
|
|
|
r z1 |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Точка схождения симметрична точке наблюдения.
o, p, r – это перспективные преобразования объекта вдоль соответствующих осей. r – это относительно оси z
Это одноточечное преобразование
r Н(xн1,yн1,zн))
Перенести так, чтобы z прошла через наблюдателя.
Здесь r – это модуль: |
r |
x |
2 |
y |
2 |
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
1 |
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
||
Можно перенос с поворотом: |
|
r |
|
|
x |
2 |
y |
2 |
z |
2 |
|
|
|||||||||||
|
|
|
|
|
|
|
|||||||||||||||||
11. |
|
|
|
|
|
|
Математическое |
|
|
1 |
|
|
1 |
|
1 |
|
1 |
представление |
прямых |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
линий и отрезков в машинной графике. |
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Прямая |
|
|
|
|
|
|
||||
Описания вида "y=ax+b" не используются в компьютерной графике |
|
||||||||||||||||||||||
задается координатами двух точек (начальной и конечной) |
|
||||||||||||||||||||||
Используется в основном матричное и параметрическое представление прямой. |
|||||||||||||||||||||||
P |
(x |
2 |
, y |
2 |
, z |
2 |
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P (x , y , z ) |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
1 |
|
1 |
|
|
|
Матричное представление:
x x1
x2 x1
x x1
x2 x1
y y |
|
|
|
|
|||
|
1 |
|
|
|
|
|
= 0 |
y |
y |
|
|
2 |
1 |
|
|
z z1
= 0
z2 z1
Для плоской прямой используется первое уравнение, а для пространственной используется два этих уравнения.
Они получаются из уравнения
x x |
|
y y |
|
z z |
||||
|
1 |
|
1 |
|
|
1 |
||
|
|
|
|
|
|
|||
x |
x |
|
y |
y |
|
z |
2 |
z |
2 |
1 |
|
2 |
1 |
|
|
1 |
|
Параметрическое представление
x(t) y(t) z(t)
x1 y1 z1
(x2 x1) t
( y2 y1) t
(z2 z1) t
Достоинства:
1.Не требует для точек операции деления и в этом случае не получается ситуации переполнения данных при делении на ноль, т. е. когда результат получается близким к бесконечности.
2.Описание прямой не зависит от положения этих точек, в этом случае эти уравнения позволяют создать тестовые функции:
f (x, y) (x x1 )( y2 y1 ) ( y y1 )(x2 x1 ) , используемые для |
|
определения положения этих точек. |
|
a. |
Если функция f (x, y) 0 ,то точка P3(x3,y3), подставленная в это |
|
выражение вместо x и y находится на этой прямой. |
b. |
Если f (x, y) > 0, то точка находится справа от прямой, идущей от |
|
точки Р1 к точке Р2. |
c.Если
f
(x,
P2
P1 y) < 0, то точка находится слева от точек Р1 и Р2
P2
P1
Параметрическое представление. Каждая координата не зависит друг от друга, а зависит от дополнительного параметра "t"
Особенность:
Если 0 ≤ t ≤1, то описывается отрезок.
Если t < 0, то это участок от "– |
" до точки |
Если t > 1, то это участок от точки |
P |
до "+ |
|
2 |
|
P1 .
"
Параметрическое описание используется для определения точек пересечения двух прямых. Точки для одной задаются в матричной форме, а для второй параметрической форме. Или же оба задаются в параметрическом виде, в одном случае используют “t”, а во втором “ ”. Если эти переменные лежат в диапазоне от
0 до 1, то они пересекаются своими отрезками. Если совпадают в других случаях, то совпадают на продолжениях.
Если мы приравняем
x3 (x4 x3 ) x1 (x2 x1 )t y3 ( y4 y3 ) y1 ( y2 y1 )t
(x3 x1 ) (x4 x3 ) (x2 x1 )t ( y3 y1 ) ( y4 y3 ) ( y2 y1 )t
(x |
|
x )( y |
2 |
y ) (x |
4 |
x )( y |
2 |
y ) |
|||||||||||
3 |
|
1 |
|
|
1 |
|
|
|
3 |
|
|
1 |
|||||||
( y |
y )(x |
x ) ( y |
|
y )(x |
|
x ) |
|||||||||||||
|
|
3 |
|
1 |
|
|
2 |
|
1 |
|
|
4 |
|
3 |
|
2 |
1 |
||
(x |
4 |
x )( y |
2 |
y ) ( y |
4 |
|
y |
)(x |
2 |
x ) |
|||||||||
|
|
3 |
|
|
|
1 |
|
|
|
|
3 |
|
|
|
1 |
||||
Если это выполняется, то они параллельны.
* ( y2 |
y1 ) |
* (x2 |
x1 ) |
и вычесть
x |
y |
|
x y |
|
|
|
|
Если воспользоваться матричным представлением, то можно записать отрезок, который будет перпендикулярен данному.
x x1
-( y2 y1 )
y y |
|
|
||
|
||||
|
|
1 |
|
|
|
|
|
|
=0 Так описывается отрезок перпендикулярный заданному отрезку. |
x |
2 |
x |
|
|
|
1 |
|
||
|
|
|
|
|
P2 
P3
P1
Если хотим перпендикулярный отрезок провести через заданную точку Р3, то такая прямая задается следующим образом:
-(
x x3
y |
2 |
y |
|
1 |
)
y y |
|
|
||
3 |
|
|||
|
|
|
|
|
|
|
|
|
=0 |
x |
2 |
x |
|
|
|
|
1 |
|
|
В первом Для того,
x x2 ,
-( y2 y1
случае перпендикулярная прямая проходит через точку Р1 чтобы она проходила через точку Р2:
y y |
2 |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
=0 |
|
), |
y2 y1 |
|
||
|
|
|
|
|
12. Математическое представление окружностей и эллипсов в машинной графике. Для описание правильных прямых
x |
|
y |
|
R |
|
|
|
|
Окружность |
|
2 |
2 |
2 |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|||
(x x |
) |
2 |
( y y |
) |
2 |
R |
2 |
|||
|
|
|
||||||||
|
|
0 |
|
|
|
0 |
|
|
|
|
Описания описанного выше вида не используется в компьютерной графике.
Используется параметрическое описание.
x Rcos
y Rsin
x x0 R cos y y0 R sin
Окружность преобразуется в растр.
Выбирается ближайшая точка и подсвечивается.
Каждую последующую точку считают из предыдущей и какогонибудь угла ∆α и получается многоугольник.
∆α
