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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

Регистрация: Oct 2005
Адрес: Борисоглебск
Сообщений: 1,702
Отправить сообщение для miramax с помощью ICQ Отправить сообщение для miramax с помощью AIM Отправить сообщение для miramax с помощью MSN Отправить сообщение для miramax с помощью Yahoo Отправить сообщение для miramax с помощью Skype™
По умолчанию Преобразование 3D поворта

Как поворот вокруг произвольной оси разложить на последовательные повороты по осям Ох, Оу, Oz?
Или как абсолютные повороты по осям Ох, Оу, Оz представить в виде серии последовательных поворотов.
Хотелось бы почитать теорию, не могу сформулировать правильный запрос гуглу .....
То что нахожу - базовые понятия-отрывки.
__________________
AS3 | www.FLAPS.ru | Русские флэшеры самые умные флэшеры в мире. ©


Последний раз редактировалось miramax; 02.01.2007 в 19:32.
Старый 02.01.2007, 19:35
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
http://etcs.ru/portfolio/bricks.fla
Там шесть строк. Ничего не подскажу, потому что имел дело с этим очень давно и сейчас ничего не помню.

Старый 02.01.2007, 19:40
miramax вне форума Посмотреть профиль Отправить личное сообщение для miramax Посетить домашнюю страницу miramax Найти все сообщения от miramax
  № 3  
Ответить с цитированием
miramax
 
Аватар для miramax

Регистрация: Oct 2005
Адрес: Борисоглебск
Сообщений: 1,702
Отправить сообщение для miramax с помощью ICQ Отправить сообщение для miramax с помощью AIM Отправить сообщение для miramax с помощью MSN Отправить сообщение для miramax с помощью Yahoo Отправить сообщение для miramax с помощью Skype™
Это как раз последовательный поворот по трём осям, последовательное преобразование по трём матрицам, это мы умеем :
Код:
//цитата исходника __etc
y = o.y0*Math.cos(angleZ)+o.x0*Math.sin(angleZ);
x = o.x0*Math.cos(angleZ)-o.y0*Math.sin(angleZ);
// y rotate
z = o.z0*Math.cos(angleY)-x*Math.sin(angleY);
x = x*Math.cos(angleY)+o.z0*Math.sin(angleY);
// x rotate
oy = y;
y = y*Math.cos(angleX)-z*Math.sin(angleX);
z = oy*Math.sin(angleX)+z*Math.cos(angleX);
Было бы прекрасно разложить любой произвольный поворот на три последовательных, применив к ним код аналогичный твоему.
__________________
AS3 | www.FLAPS.ru | Русские флэшеры самые умные флэшеры в мире. ©

Старый 02.01.2007, 19:45
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Это тебе надо сделать преобразование координатных плоскостей, в смысле повернуть сами оси. Только, я мозг напрячь не могу, новый год вроде недавно был %)

Старый 02.01.2007, 19:52
miramax вне форума Посмотреть профиль Отправить личное сообщение для miramax Посетить домашнюю страницу miramax Найти все сообщения от miramax
  № 5  
Ответить с цитированием
miramax
 
Аватар для miramax

Регистрация: Oct 2005
Адрес: Борисоглебск
Сообщений: 1,702
Отправить сообщение для miramax с помощью ICQ Отправить сообщение для miramax с помощью AIM Отправить сообщение для miramax с помощью MSN Отправить сообщение для miramax с помощью Yahoo Отправить сообщение для miramax с помощью Skype™
Цитата:
Сообщение от __etc
Это тебе надо сделать преобразование координатных плоскостей, в смысле повернуть сами оси. Только, я мозг напрячь не могу, новый год вроде недавно был %)
Ну да, так можно сделать поворот вокруг произвольно оси....
Но как меня это приблизит к разложению поворота на 3 составляющих ?
__________________
AS3 | www.FLAPS.ru | Русские флэшеры самые умные флэшеры в мире. ©

Старый 02.01.2007, 20:03
miramax вне форума Посмотреть профиль Отправить личное сообщение для miramax Посетить домашнюю страницу miramax Найти все сообщения от miramax
  № 6  
Ответить с цитированием
miramax
 
Аватар для miramax

Регистрация: Oct 2005
Адрес: Борисоглебск
Сообщений: 1,702
Отправить сообщение для miramax с помощью ICQ Отправить сообщение для miramax с помощью AIM Отправить сообщение для miramax с помощью MSN Отправить сообщение для miramax с помощью Yahoo Отправить сообщение для miramax с помощью Skype™
Серия последовательных поворотов точки зависит от порядка применения поворотв. Допустим
поворот по Ox = 0.5;
поворот по Оу = 0,2;
поворот по Oz = 0.6;
Если будем поворачивать одну точку последовательно по осям Ох, Оу, Оz, а потом попробуем повернуть другую точку на эти же углы, но в последовательности Оz, Оу, Ох - то получим точки в разных местах.
Т.е. здесь всё зависти от порядка применения поворотов. Я хочу от этого порядка избавиться, вводя абсолютные значения поворотов относительно осей Ох, Оу, Oz.
__________________
AS3 | www.FLAPS.ru | Русские флэшеры самые умные флэшеры в мире. ©

Старый 03.01.2007, 01:36
valvika вне форума Посмотреть профиль Отправить личное сообщение для valvika Посетить домашнюю страницу valvika Найти все сообщения от valvika
  № 7  
Ответить с цитированием
valvika

Регистрация: May 2004
Адрес: West_UA , Rivne.
Сообщений: 533
Отправить сообщение для valvika с помощью ICQ Отправить сообщение для valvika с помощью Skype™
Цитата:
Сообщение от miramax
... от этого порядка избавиться, вводя абсолютные значения поворотов относительно осей Ох, Оу, Oz.
На сегодняшний день теория утверждает, что если АХ(.),АУ(.),АЗ(.) - матрицы поворотов вокруг координатных осей, то любой поворот можно представить в виде А=АХ(ф1)*АУ(ф2)*АЗ(ф3) и данное уравнение имеет шесть решений ( на интервале от 0 до 2П ). При другом порядке поворотов вновь 6 решений и т.д.
Более того любой поворот можно разложить на повороты вокруг только двух любых осей,
например А=АЗ(е1)*АУ(е2)*АЗ(е3) , где е1,е2,е3 так называемые углы Эйлера.
===
По видимому задача нахождения "абсолютных поворотов" неразрешима.


Последний раз редактировалось valvika; 03.01.2007 в 01:42.
Старый 02.01.2007, 21:31
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Мммм, надо тебя направить в сторону матричных преобразований поворота осей XYZ.
И ещё, как ты представляешь себе ось, заданную в пространстве не с помощью трех углов? XYZ? Если да, то синусы и косинусы рулят )

Старый 14.01.2007, 00:22
BigDan вне форума Посмотреть профиль Отправить личное сообщение для BigDan Найти все сообщения от BigDan
  № 9  
Ответить с цитированием
BigDan
 
Аватар для BigDan

Регистрация: Apr 2006
Адрес: Kiev
Сообщений: 1,675
Отправить сообщение для BigDan с помощью ICQ
Думаю тебе это поможет. Тоже с этим столкнулся, и вот кое-что нашел.

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

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

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


 


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


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