Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Углы Эйлера и не только
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (1): [1]   

> Описание: Кто помнит?
Дмитрий Б.
Отправлено: 17 Августа, 2005 - 06:48:49
Post Id



Super Member


Покинул форум
Сообщений всего: 800
Дата рег-ции: Март 2005  
Откуда: Иркутск

Карма 0




Посоветовал мне тут один весьма уважаемый на этом форуме человек заняться 3D графикой в рамках Flash. Подумав насчёт того, чем чёрт шутит, а чем - увы, я, можно сказать, с энтузиазмом взялся за дело: купил в магазине книгу про Flash, поставил себе Flash MX 2004, и вот вчера поздно ночью занялся-таки кодированием. Сегодня столкнулся с первой крупной проблемой.
Как известно, поворот любого объекта в трёхмерной системе координат характеризуется тремя углами - углами Эйлера: мы три раза поворачиваем систему координат, связанную с объектом, вокруг её собственных осей, и таким образом можем сориентировать тело относительно базовой системы координат как нашей душе угодно. Дальше начинаются проблемы. Во-первых: вокруг каких осей мы крутим её? Там, насколько я помню, какое-то хитрое правило вроде этого: сначала крутим вокруг оси x на угол a, получаем систему xy'z'. Потом, по-моему, на угол b вокруг оси теперь уже y' - получаем x'y'z''. А потом - опять вокруг оси x', но уже на угол c, и получаем-таки нужную нам x'y''z''' (или XYZ).
Вопрос № 1: правильно ли я воспроизвёл процесс? Вопрос № 2: может быть, у кого-нибудь есть формулы, по которым можно получить матрицу преобразований для перевода векторов, неподвижных относительно той СК, над которой мы издевались, в неподвижную СК? В принципе, порядочно поматюгавшись, можно вывести эти формулы и самому, но как-то не хочется... Смутно помню, что на лекции препод пытался что-то такое вывести, но потом плюнул. Чем в это время занимался я - лучше и не спрашивать... Самое обидное, что в конспектах, возможно, эти формулы и имеются, но сессия прошла, начались каникулы, так что шанс найти свои конспекты у меня появится не раньше осени. По причине того же лета все книги в библиотеке...
Ладно, на худой конец воспоользуюсь в качестве основного приведённым выше алгоритмом, выведу формулы, но просто не хочется потом переделывать - а то, сдаётся мне, такой математики не будет больше нигде...
И ещё: как от упомянутой матрицы перейти обратно к углам?
 
 Top
Дмитрий Б.
Отправлено: 18 Августа, 2005 - 22:05:38
Post Id



Super Member


Покинул форум
Сообщений всего: 800
Дата рег-ции: Март 2005  
Откуда: Иркутск

Карма 0




А, всё, нашёл... Точнее - вывел. Если кому будет надо:
CODE:
x3=(x*Cosb-(y*Sina+z*Cosa)*Sinb)
y3=(y*Cosa-z*Sina)*Cosc-(x*Sinb+(y*Sina+z*Cosa)*Cosb)*Sinc
z3=(y*Cosa-z*Sina)*Sinc+(x*Sinb+(y*Sina+z*Cosa)*Cosb)*Cosc

Тут a - первый поворот вокруг оси x, b - поворот вокруг оси y, c - второй поворот вокруг оси x.
 
 Top
Леголегс Администратор
Отправлено: 21 Августа, 2005 - 07:55:53
Post Id



JS-маньяк


Покинул форум
Сообщений всего: 2109
Дата рег-ции: Июль 2004  
Откуда: Липецк

Карма 17




Дмитрий Б.
Я даже знаю, кто этот уважаемый человек Улыбка
Подумай над оптимизацией, потому что flash это очень тормозно. И советую в тридэ проектах засекать время исполнения частей скрипта и если оно будет очень большим, то останавливаться дабы избежать повисания машины юзера. Помню на 233 МГц просмотр работ ETC'a превращался в неторопливое слайдшоу.
 
 Top
Дмитрий Б.
Отправлено: 22 Августа, 2005 - 23:17:53
Post Id



Super Member


Покинул форум
Сообщений всего: 800
Дата рег-ции: Март 2005  
Откуда: Иркутск

Карма 0




Оптимизация? Это я пока флеш учу таким образом... Не думаю, что в будущем соберусь заниматься 3D графикой (равно как не думаю, что продолжу заниматься компами)...
 
 Top
ETC Администратор
Отправлено: 23 Августа, 2005 - 05:22:57
Post Id



Flash-coder


Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003  
Откуда: TimeZero

Карма 26




Дмитрий Б.
Эти углы применяются в моих исходниках, собственно это и есть самая главная составляющая, а всё остальное - в принципе мусор Улыбка
Оси выбираются не совсем верно, ось х вправо, y вниз, z или вглубь экрана или наружу. (у меня внутрь)
CODE:

// z rotate
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);
depth = 1/(1-z/perspective);
o.x = x*fscale;
o.y = y*fscale;
o.z = z*fscale;

собственно это выдрано из моего исходника. А на лекциях их не просто написали, а даже вывели, причём без особых проблем на основе двумерных преобразований поворота СК, ну и матриц...
 
 Top
FROZEN
Отправлено: 23 Августа, 2005 - 05:29:52
Post Id



Full Member


Покинул форум
Сообщений всего: 243
Дата рег-ции: Янв. 2005  

Карма -1




ETC

Только не обижайся - что-то похожее в action script'e я видел, когда декомпилировал твои флешки.
 
 Top
ETC Администратор
Отправлено: 23 Августа, 2005 - 05:41:14
Post Id



Flash-coder


Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003  
Откуда: TimeZero

Карма 26




Если речь идёт о сайтах etcs.ru и x100.etcs.ru, то там этого быть не может Улыбка
Если об исходниках - то там я ничего не шифровал, на то исходники.
Если ты о tx-03.narod.ru то там подобное есть и от декомпиляции он не защищён.
 
 Top
FROZEN
Отправлено: 23 Августа, 2005 - 05:56:55
Post Id



Full Member


Покинул форум
Сообщений всего: 243
Дата рег-ции: Янв. 2005  

Карма -1




ETC

Нет, речь о etcs.ru. Просто я во flash не шарю, вот примерно что-то похожее. Здесь выкладывать не буду.
А хотя... Может это и не action script совсем, может ты там так защитил, что фиг получишь исходник! Улыбка
 
 Top
ETC Администратор
Отправлено: 23 Августа, 2005 - 06:16:53
Post Id



Flash-coder


Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003  
Откуда: TimeZero

Карма 26




http://tvoyweb.ru/forums/topic.p...p;v=l#1124791973
см. сюда.
В общем то, что ты мне продемнострировал - это всего лишь данные и ничего более. Начиная с kernel.xml можно найти всё остальное, это несложно, гостевую найти так не получится, потому что ссылка внутри флешки... хотя задачу я тебе облегчил Улыбка
 
 Top
FROZEN
Отправлено: 23 Августа, 2005 - 07:27:29
Post Id



Full Member


Покинул форум
Сообщений всего: 243
Дата рег-ции: Янв. 2005  

Карма -1




ETC

Так я так и делал! Улыбка
Начинал с kernel.xml.
Ладно, все, это уже оффтоп. Улыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 3 (гостей: 3, зарегистрированных: 0, скрытых: 0)
« Поговорим обо всем »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0452]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33