Декодируем Xom, Тип за типом... шаг за шагом... - Страница 8 - Форум
W4Tweaks
Меню сайта
Последние файлы
Последние темы


Вход



Мини-чат
 
500

Статистика
Онлайн:

Сегодня заходили: firsacho, Joker, 4erveR, Unaited, 12sunflowers


Друзья сайта

Если вы хотите увидеть в этом спиcке свой сайт загляните сюда

Наш баннер:



· Регистрация · Вход
[ Новые сообщения · Участники · Подписки · Поиск · RSS ]
Страница 8 из 15«126789101415»
Форум » Worms 4 Mayhem » 4.3. Ваши идеи по моделированию » Декодируем Xom, Тип за типом... шаг за шагом... (Собираю группу психов не жалеющих свое время и мозги...)
Декодируем Xom, Тип за типом... шаг за шагом...
AlexBond
Дата: СБ, 11.07.2009, 21:40:33 | Сообщение # 106
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Еще кое что нашел... В W4 шейдеры идут по умолчанию, т.е. инфа про них не пишется... что усложняет отображение моделей в истинной форме....

 
AlexBond
Дата: ВС, 12.07.2009, 18:44:14 | Сообщение # 107
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
У меня ПРОГРЕСС!!!!! Import Image работает!!!!!!!

Червь после моего Тату Салона =)

Прикрепления: 2190860.jpg(51Kb)


 
vera34
Дата: ВС, 12.07.2009, 18:46:45 | Сообщение # 108
vera34
Его узнают в чате
Группа: Проверенные
Сообщений: 666
Репутация: 18
Статус: Offline
крутооо! cool



Затянись, и мир станет прекрасным.
С каждым днем я все больше убеждаюсь в том, что людей умышленно делают идиотами (С).
 
Symbianer
Дата: ВС, 12.07.2009, 18:50:34 | Сообщение # 109
Symbianer
Позитивный чел
Группа: Проверенные
Сообщений: 112
Репутация: 10
Статус: Offline
Супер!

^----------,--------,--------------,-----
.... `\\_,---------,---------,--------------------|
....../...SILA... /\'|......../\'
...../...SILA... /..`\\.... /\'
..../...SILA.../`-------\'
.../...SILA.../
../...SILA.../
.( _______
 
DrHitman27
Дата: ПН, 13.07.2009, 05:19:29 | Сообщение # 110
DrHitman27
•Polarized•
Группа: Заблокированные
Сообщений: 2107
Репутация: 52
Статус: Offline
ещё бы это круто тут выложил

 
AlexBond
Дата: ВТ, 14.07.2009, 03:11:39 | Сообщение # 111
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Quote (AlexBond)
-- Далее еще в проекте --
6. Редактируем нужные места
7. Сохраняем через Save *.xom3D

8. В XomView выделяем ту группу что хотим изменить и жмем Load *.xom3D
9. Программа сверяет дерево и имена в группе и файле и если они идентичны, производится замена.
10. Сохраняем Xom

Осталось два пункта cool

Прикрепления: 2711953.png(88Kb)


 
AlexBond
Дата: ВТ, 14.07.2009, 21:26:15 | Сообщение # 112
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Quote (AlexBond)
8. В XomView выделяем ту группу что хотим изменить и жмем Load *.xom3D
9. Программа сверяет дерево и имена в группе и файле и если они идентичны, производится замена.

Осталось только придумать, как реализовать сверку двух деревьев... И как его вообще строить...

Прикрепления: 5841531.png(17Kb)


 
AlexBond
Дата: ПТ, 17.07.2009, 21:06:40 | Сообщение # 113
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Дерево построил, только вот с матрицами проблема...

Прикрепления: 9860139.png(65Kb)


 
AlexBond
Дата: СБ, 18.07.2009, 00:27:28 | Сообщение # 114
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
завтра думаю допишу импорт, и выложу его тут, мало осталось....

 
AlexBond
Дата: СБ, 18.07.2009, 17:25:15 | Сообщение # 115
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Нужна функция MatrixDecompose(XMatrix,XPos,XRot,XSize)...

Чтобы разложить матрицу на позицию углы и размер.

углы XRot достаются так:

Code
The final algorithm is then as follows:

     -----------------------------------

     angle_y = D = -asin( mat[2]);        /* Calculate Y-axis angle */
     C           =  cos( angle_y );
     angle_y    *= RADIANS;

     if ( fabs( C ) > 0.005 )             /* Gimball lock? */
       {
       trx      =  mat[10] / C;           /* No, so get X-axis angle */
       try      = -mat[6]  / C;

       angle_x  = atan2( try, trx ) * RADIANS;

       trx      =  mat[0] / C;            /* Get Z-axis angle */
       try      = -mat[1] / C;

       angle_z  = atan2( try, trx ) * RADIANS;
       }
     else                    /* Gimball lock has occurred */
       {
       angle_x  = 0;                      /* Set X-axis angle to zero */

       trx      = mat[5];                 /* And calculate Z-axis angle */
       try      = mat[4];

       angle_z  = atan2( try, trx ) * RADIANS;
       }

     angle_x = clamp( angle_x, 0, 360 );  /* Clamp all angles to range */
     angle_y = clamp( angle_y, 0, 360 );
     angle_z = clamp( angle_z, 0, 360 );

     -----------------------------------

XPos достается из XMatrix[1][4]

Вопрос в следующем, как достать XSize?????


 
AlexBond
Дата: СБ, 18.07.2009, 18:00:45 | Сообщение # 116
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Последние достижения

P.S. глаза по дурацки сделаны в W4... за маской не видно зрачков...

Прикрепления: 9068548.jpg(37Kb) · 3726543.jpg(43Kb)


 
KROLь
Дата: СБ, 18.07.2009, 19:32:02 | Сообщение # 117
KROLь
Позитивный чел
Группа: Проверенные
Сообщений: 86
Репутация: 10
Статус: Offline
Класс! biggrin
 
Герыч
Дата: СБ, 18.07.2009, 22:30:22 | Сообщение # 118
Герыч
Админ
Группа: Админы
Сообщений: 1240
Репутация: 60
Статус: Offline
На всякий случай сюда сохраню мою идею:
Code
Дано матрица, назовём её G. В ней заложен растяжение(s_x,s_y,s_z), поворот(r_x,r_y,r_z), перенос(p_x,p_y,p_z)
ну ещё потребуется
cx=cos(rx),cy=cos(ry),cz=cos(rz)
sx=sin(rx),sy=sin(ry),sz=sin(rz)

Матрица G будет состоять из элементов:
a b c 0
d e f 0
g h i 0
j k l 1

1) Выделяем сдвиг:
p_x=j
p_y=k
p_z=l

2) Новая матрица M зануляем в G последнюю строку:
a b c 0
d e f 0
g h i 0
0 0 0 1

Из её элементов находим растяжение:

s_x=sqrt(a*a+b*b+c*c)
s_y=sqrt(d*d+e*e+f*f)
s_z=sqrt(g*g+h*h+i*i)

3) Ищем матрицу R:
a/s_x b/s_x c/s_x 0
d/s_y e/s_y f/s_y 0
g/s_z h/s_z i/s_z 0
0 0 0 1

ну и для простоты её элементы я назову:
ra rb rc 0
rd re rf 0
rg rh ri 0
0  0  0  1

Дальше ищем углы эйлера из матрицы R
r_x=arcsin(rh/sqrt(1-rg*rg))
r_y=arcsin(rg)
r_z=arcsin(rd/sqrt(1-rg*rg))

Только с arcsin могут быть проблемы, ибо иногда он даёт не то значение. Тогда наверно сверять результат с arccos:
r_x=arccos(ri/sqrt(1-rg*rg))
r_y=arcsin(rg)
r_z=arccos(ra/sqrt(1-rg*rg))


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
AlexBond
Дата: СБ, 18.07.2009, 23:23:27 | Сообщение # 119
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Идея вылетела... размеры всегда положительные... а это ошибка!

 
AlexBond
Дата: ВС, 19.07.2009, 00:44:12 | Сообщение # 120
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
cool
Прикрепления: 6433947.jpg(69Kb)


 
Форум » Worms 4 Mayhem » 4.3. Ваши идеи по моделированию » Декодируем Xom, Тип за типом... шаг за шагом... (Собираю группу психов не жалеющих свое время и мозги...)
Страница 8 из 15«126789101415»
Поиск:

Copyright W4Tweaks™ 2008-2016 Хостинг от uCoz