Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.11.2011, 14:22
willis83 вне форума Посмотреть профиль Отправить личное сообщение для willis83 Найти все сообщения от willis83
  № 1  
Ответить с цитированием
willis83
 
Аватар для willis83

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
Question популярно о matrix3d

Пытаюсь основательно вникнуть в этот класс, но информации которую можно найти категорически не хватает.
На данный момент я понял, что matrix3d используется только для трансформации объекта, т.е. она реально не отображает какие-либо параметры объекта. Когда объект находится в спокойствии матрица имеет вид:
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Тут понятно только то, что диагональные единицы обозначают масштабирование объекта, т.е. текущий масштаб множенный на 1. Получается масштабирование высчитывается умножением, а другие преобразования сложением? Не понятно по другим элементам матрицы. Они, как я понимаю, отвечают за смещения по координатам и вращение объекта. Какие именно элементы за что отвечают? Матрица раскладывается на 4 вектора по строкам или столбцам? Каждый вектор который можно добавить в матрицу отвечает за масштабирование, смещение по координатам и вращение по конкретной оси?
Объясните пожалуйста,что к чему или дайте ссылочку на документацию в которой описывается это более подробней,чем даёт адобе.


Последний раз редактировалось willis83; 19.11.2011 в 14:28.
Старый 19.11.2011, 14:43
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 2  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Есть точка x, y, z. После применения матрицы получим вектор по такой формуле
Код:
x     a b c tx    x*a + y*b + z*c + 1*tx
y  x  d e f ty  = x*d + y*e + z*f + 1*ty
z     g h i tz    x*g + y*h + z*i + 1*tz
1     0 0 0 1                  1
Если не маяться с перспективой, то то, что у меня 0 и 1 - просто всегда 0 и 1, как данность свыше)
Что за точка? Все точки обьекта, к которому применяется трансформация матрицы меняют свои координаты по таким законам, в этом смысл весь собсно)
тут вроде как-то обьяснено ещё, подробнее местами
http://u3d.agava.ru/doc/theory/matrix_ops.shtml
PS: 1к мессаг, опять нет повода не...
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.


Последний раз редактировалось -De-; 19.11.2011 в 14:51.
Старый 19.11.2011, 14:46
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 3  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Не совсем так. Если везде кроме диагонали нули, то по диагонали - масштабирование. А если нет, то могут быть варианты.

Вот тебе для начала ссылка на вики: http://ru.wikipedia.org/wiki/%D0%9C%...BE%D0%B4%D0%B0
Тебя интересуют преобразования "В однородных трёхмерных координатах" (там табличка есть).

Резложение матрицы преобразований на векторы не делается по строкам или столбцам. Там разный алгоритм в зависимости от того - что ты хочешь получить. Для этого используют Matrix3D.decompose(), который в качестве параметра принимает одну из констант класса Orientation3D, которая задает - по какому алгоритму раскладывать на три вектора - позицию, масштабирование и поворот.

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:59.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.