Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вот решил поделится открытием :), Вращение 3D объектов 
:(
    Опции темы
takedo
Дата 14.10.2005, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 1.6.2005

Репутация: нет
Всего: 3



cardinal Я чего-то не понял, если ты вращаешь свободно вокруг оси x,y,z чем тебе прямая то не ось? Взял да повернул координаты, визуализировал в новой СК и обратно(что-то типа того). Я и вдаваться то толком не хочу в эту тему - яйца она выыыеденнооого не стоит! smile Такие вещи все-таки удобнее делать с помощью Якобианов преобразования. Почитай тензорный анализ, все будет тебе ясно и понятно, только в Корне не читай - там для слишком умных, мне не все понятно. Лучшая книга справочник по математике Бронштейн, Семендяев. А по тензорному не могу сказать, забыл я про авторов и книгами этими уже не пользуюсь, сорри. smile


--------------------
я не гольфист - я хоккеист
PM MAIL   Вверх
cardinal
Дата 14.10.2005, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Цитата(takedo @ 14.10.2005, 12:08)
Я и вдаваться то толком не хочу в эту тему - яйца она выыыеденнооого не стоит!

Чего, чего, а его она стоит!
Цитата(takedo @ 14.10.2005, 12:08)
Такие вещи все-таки удобнее делать с помощью Якобианов преобразования. Почитай тензорный анализ, все будет тебе ясно и понятно

Может быть. Тензорным анализом, когда я это намудрил еще и не пахло, а теперь меня больше интересуют проблемы глобального коммунизма! smile
Цитата(takedo @ 14.10.2005, 12:08)
Лучшая книга справочник по математике Бронштейн, Семендяев.

И она имеется... smile


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
takedo
Дата 17.10.2005, 06:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 1.6.2005

Репутация: нет
Всего: 3



cardinal
так я смотрю, для глобализации коммунизма у тебя все есть и яйца smile на проблему и справочники нужные smile


--------------------
я не гольфист - я хоккеист
PM MAIL   Вверх
Elfet
Дата 5.6.2007, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Код

        public void Spin(Vector axis, double angle, Vector basePoint)
        {
            // двигаем в начало координат
            Move(-basePoint);
            // матрица вращения вокруг произвольной оси
            MyMatrix spinMatrix = new MyMatrix(
                new float[3, 3]
                {
                    {
                        (float)(Math.Cos(angle) + (1 - Math.Cos(angle)) * axis.X * axis.X),
                        (float)((1 - Math.Cos(angle)) * axis.X * axis.Y - Math.Sin(angle) * axis.Z),
                        (float)((1 - Math.Cos(angle)) * axis.X * axis.Z + Math.Sin(angle) * axis.Y) 
                    },
                    {
                        (float)((1 - Math.Cos(angle)) * axis.Y * axis.X + Math.Sin(angle) * axis.Z),
                        (float)(Math.Cos(angle) + (1 - Math.Cos(angle)) * axis.Y * axis.Y),
                        (float)((1 - Math.Cos(angle)) * axis.Y * axis.Z - Math.Sin(angle) * axis.X)                         
                    },
                    {
                        (float)((1 - Math.Cos(angle)) * axis.Z * axis.X - Math.Sin(angle) * axis.Y),  
                        (float)((1 - Math.Cos(angle)) * axis.Z * axis.Y + Math.Sin(angle) * axis.X),                                        
                        (float)(Math.Cos(angle) + (1 - Math.Cos(angle)) * axis.Z * axis.Z)
                    }
                }
                );
            // применяем матрицу
            for (int i = 0; i < points.Length; i++)
            {
                points[i] = new Vector(MyMatrix.MatrixMultiplication(points[i], spinMatrix));
            }
            // двигаем в исходное положение
            Move(basePoint);
        }



--------------------
PM MAIL WWW Skype   Вверх
cardinal
Дата 5.6.2007, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Elfet, хехе, тема старовата... smile

Ну может кому и интересно будет это встроить.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Elfet
Дата 5.6.2007, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Ну, да нужно в faq или куда там постнуть smile


--------------------
PM MAIL WWW Skype   Вверх
cardinal
Дата 19.2.2010, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Подниму как я тему, которой почти три года... smile Гляди кому интересно будет.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1187 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.