ВУЗ:
Составители:
ОСНОВЫ КОМПЬЮТЕРНОЙ ГРАФИКИ, часть 1 37
Здесь верхняя матрица размером 33
×
называется ортогональной.
Важным ее свойством является то, что обратная к ней матрица является
транспонированной:
T
B
B
=
−1
. Это полезно тем, что при вычислениях
достаточно поменять индексы местами и обратное преобразование
получается автоматически.
После перемножения любого числа матриц вида
S
T
, и
R
результирующая матрица всегда будет иметь вид:
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
1
0
0
0
333231
232221
131211
zyx
ttt
rrr
rrr
rrr
.
Здесь верхняя часть размером 33
×
определяет суммарный поворот и
масштабирование, а три коэффициента последней строки – суммарный
перенос.
Вопросы эффективности вычислений
Рассмотрим проблему ускорения вычислений в одной из самых
трудоемких операций компьютерной графики – операции поворота точки
относительно начала координат. Как было показано ранее, для ее
выполнения необходимо произвести 4 операции умножения, 2 операции
сложения, а также вычислить значения синуса и косинуса угла поворота.
Напомним вид формул поворота:
αα
SinyCosxx ⋅−⋅=
'
αα
CosySinxy ⋅+⋅=
'
Одним из наиболее часто встречающихся способов ускорения операции
поворота является отказ от вычисления синуса и косинуса угла во время
выполнения программы, и использование их заранее подсчитанных значений,
которые занесены в специальную таблицу. Например, в этой таблице могут
храниться значения синусов и косинусов углов поворота с шагом в 1 градус.
Тогда целое
количество градусов угла поворота может служить в качестве
индекса при извлечении соответствующих значений синусов и косинусов из
таблицы. Такой прием называется табличным поворотом.
Дополнительным способом ускорения операции поворота является
уменьшение количества операций умножения. Рассмотрим вывод формулы
О. Бьюнемана с использованием тангенса половинного угла, в которой
ОСНОВЫ КОМПЬЮТЕРНОЙ ГРАФИКИ, часть 1 37
Здесь верхняя матрица размером 3 × 3 называется ортогональной.
Важным ее свойством является то, что обратная к ней матрица является
транспонированной: B −1 = B T . Это полезно тем, что при вычислениях
достаточно поменять индексы местами и обратное преобразование
получается автоматически.
После перемножения любого числа матриц вида T , S и R
результирующая матрица всегда будет иметь вид:
⎡ r11 r12 r13 0⎤
⎢r r r 0⎥
⎢ 21 22 23 ⎥.
⎢ r31 r32 r33 0⎥
⎢ ⎥
⎣ t x t y t z 1⎦
Здесь верхняя часть размером 3 × 3 определяет суммарный поворот и
масштабирование, а три коэффициента последней строки – суммарный
перенос.
Вопросы эффективности вычислений
Рассмотрим проблему ускорения вычислений в одной из самых
трудоемких операций компьютерной графики – операции поворота точки
относительно начала координат. Как было показано ранее, для ее
выполнения необходимо произвести 4 операции умножения, 2 операции
сложения, а также вычислить значения синуса и косинуса угла поворота.
Напомним вид формул поворота:
x ' = x ⋅ Cosα − y ⋅ Sinα
y ' = x ⋅ Sinα + y ⋅ Cosα
Одним из наиболее часто встречающихся способов ускорения операции
поворота является отказ от вычисления синуса и косинуса угла во время
выполнения программы, и использование их заранее подсчитанных значений,
которые занесены в специальную таблицу. Например, в этой таблице могут
храниться значения синусов и косинусов углов поворота с шагом в 1 градус.
Тогда целое количество градусов угла поворота может служить в качестве
индекса при извлечении соответствующих значений синусов и косинусов из
таблицы. Такой прием называется табличным поворотом.
Дополнительным способом ускорения операции поворота является
уменьшение количества операций умножения. Рассмотрим вывод формулы
О. Бьюнемана с использованием тангенса половинного угла, в которой
Страницы
- « первая
- ‹ предыдущая
- …
- 35
- 36
- 37
- 38
- 39
- …
- следующая ›
- последняя »
