Newton Wrapper sample

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

StimorolD3DX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 293
Зарегистрирован: 03.04.2007 (Вт) 18:19
Откуда: Kiev city

Newton Wrapper sample

Сообщение StimorolD3DX » 26.12.2007 (Ср) 22:47

Протестируйте, пожалуйста физику newton на vb6.
У вас нет доступа для просмотра вложений в этом сообщении.

Ktulhu
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 132
Зарегистрирован: 14.07.2007 (Сб) 14:03
Откуда: Киев, Р'льех

Сообщение Ktulhu » 27.12.2007 (Чт) 0:56

кубики сильно прыгучие. ускорение свободного падения надо увеличить.
В момент, когда желтый куб отталкнулся и подпрыгнул вверх, на него сверху падает другой куб. По-идее после этого они оба должны упасть, но они ведут себя по другому. (хз я в физке несилен)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 27.12.2007 (Чт) 1:17

Всё зависит от отношения массы желтого куба и синего. Если масса желтого во много раз больше, то всё правильно происходит.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

StimorolD3DX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 293
Зарегистрирован: 03.04.2007 (Вт) 18:19
Откуда: Kiev city

Сообщение StimorolD3DX » 27.12.2007 (Чт) 10:51

Да, Хакер верно сказал, масса желтого кубика действительно во много раз больше. Кстати, нажав пробел желтый кубик можно запустить вверх.

Прикрепил исходник.
У вас нет доступа для просмотра вложений в этом сообщении.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 27.12.2007 (Чт) 12:33

Кстати, нажав пробел желтый кубик можно запустить вверх.

Это было и в первой версии. ЖК застревал в потолке.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

StimorolD3DX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 293
Зарегистрирован: 03.04.2007 (Вт) 18:19
Откуда: Kiev city

Сообщение StimorolD3DX » 27.12.2007 (Чт) 13:07

Хакер писал(а):Это было и в первой версии. ЖК застревал в потолке.


Я ограничил размер физического мира. (phWorldSetSize)

homeworld
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 110
Зарегистрирован: 07.12.2006 (Чт) 13:17

Сообщение homeworld » 27.12.2007 (Чт) 15:44

Мне понравилось, только вот кубики при остановке, переварачиваются на месте несколько раз.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 27.12.2007 (Чт) 15:45

StimorolD3DX
Предлагаю описать функции в TLB - вызовы будут происходить в десятки раз быстрее.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 27.12.2007 (Чт) 21:46

StimorolD3DX
Какой формулой описывается падение кубика, подпрыгивание от земли и опять падение?

з.ы.
Ура :!: Полкилопоста! Ну и нафлудил же я в этих 500 сообщениях. :lol: Пришло время немного остановиться и призадуматься о дальнейших приоритетах своего развития. :twisted:
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

StimorolD3DX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 293
Зарегистрирован: 03.04.2007 (Вт) 18:19
Откуда: Kiev city

Сообщение StimorolD3DX » 27.12.2007 (Чт) 22:29

Хакер писал(а):StimorolD3DX
Предлагаю описать функции в TLB - вызовы будут происходить в десятки раз быстрее.

Верю, но я не знаю как это делается.

Денис
Насчет формул не знаю, все делает Newton.
Последний раз редактировалось StimorolD3DX 27.12.2007 (Чт) 22:31, всего редактировалось 1 раз.

Ktulhu
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 132
Зарегистрирован: 14.07.2007 (Сб) 14:03
Откуда: Киев, Р'льех

Сообщение Ktulhu » 27.12.2007 (Чт) 22:29

законами равноускоренного движения из курса механики, наверное.
по всей видимости, сам физический двиг писал не StimorolD3DX, поэтому вопрос не к нему, скорее всего

StimorolD3DX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 293
Зарегистрирован: 03.04.2007 (Вт) 18:19
Откуда: Kiev city

Сообщение StimorolD3DX » 05.01.2008 (Сб) 19:04

Вот еще одна демка с мячиком. Исходник и ключ к врапперу прилагается.
У вас нет доступа для просмотра вложений в этом сообщении.

Ktulhu
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 132
Зарегистрирован: 14.07.2007 (Сб) 14:03
Откуда: Киев, Р'льех

Сообщение Ktulhu » 05.01.2008 (Сб) 19:53

Вроде все гуд, только вращатся мячик явно не так должен

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 05.01.2008 (Сб) 20:39

Да кстати. Ещё в первой демке я заметил анормальные вращения кубиков. Видимо какие-то косяки с матрицами либо в самом движке, либо в обёртке.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

StimorolD3DX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 293
Зарегистрирован: 03.04.2007 (Вт) 18:19
Откуда: Kiev city

Сообщение StimorolD3DX » 05.01.2008 (Сб) 23:09

Да, видать нужно использовать PhysX, правда у меня нет ключика для PhysX Wrapper

Ktulhu
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 132
Зарегистрирован: 14.07.2007 (Сб) 14:03
Откуда: Киев, Р'льех

Сообщение Ktulhu » 05.01.2008 (Сб) 23:18

Код: Выделить всё
D3DXMatrixRotationYawPitchRoll Mtrx, Dir.x, Dir.y, Dir.z

а по-моему достаточно вместо вектора Dir в эту строку подставлять правильно посчитанную ротацию

StimorolD3DX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 293
Зарегистрирован: 03.04.2007 (Вт) 18:19
Откуда: Kiev city

Сообщение StimorolD3DX » 06.01.2008 (Вс) 13:20

Покажи как

Ktulhu
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 132
Зарегистрирован: 14.07.2007 (Сб) 14:03
Откуда: Киев, Р'льех

Сообщение Ktulhu » 06.01.2008 (Вс) 22:50

я вот попробовал чет написать. все равно коряво вращается, но уже получше:

все изменения в классе classModelX

это в обьявлениях дописать
Код: Выделить всё
Dim dPos As D3DVECTOR
Dim bRot As D3DVECTOR



в функции Draw() заменить это
Код: Выделить всё
D3DXMatrixRotationYawPitchRoll Mtrx, Dir.x, Dir.y, Dir.z
D3DDevice.MultiplyTransform D3DTS_WORLD, Mtrx


на это
Код: Выделить всё
On Error Resume Next
bRot.z = bRot.z - dPos.x
bRot.x = bRot.x + dPos.z
D3DXMatrixRotationY Mtrx, -Atn(dPos.z / dPos.x)
D3DDevice.MultiplyTransform D3DTS_WORLD, Mtrx
D3DXMatrixRotationZ Mtrx, bRot.z
D3DDevice.MultiplyTransform D3DTS_WORLD, Mtrx
D3DXMatrixRotationX Mtrx, bRot.x
D3DDevice.MultiplyTransform D3DTS_WORLD, Mtrx
D3DXVec3Subtract dPos, Pos, cPos


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27

    TopList