Riešenie kolízie 3D objektov - Java

Sekcia o programovaní, programovacích jazykoch...
Používateľov profilový obrázok
zegee29
Nový používateľ
Nový používateľ
Príspevky: 32
Dátum registrácie: Pi 31. Aug, 2007, 08:00

Riešenie kolízie 3D objektov - Java

Príspevok od používateľa zegee29 »

Ahojte, programujem v Java3D a snažím sa o takú malú demonštráciu fyziky, napríklad pri náraze dvoch objektov. Problém mám ale pri zrážkach dvoch objektov, kde aj keď je objekt tvaru gule, alebo natočenej kocky, kolíziu hlási Java pri prieniku vituálnych kociek, ktoré opisujú daný objekt a sú vždy orientované rovnako. Vyzerá to nasledovne:
Gula smeruje pohybom dole, kde v jej trajektórií sa nachádza natočená kocka.
Mam naprogramovane, ze ak sa gula dotkne kocky, teda do nej narazi, tak sa jednoducho odrazí, avsak proces odrazu nastene príliž skoro, gula sa kocky este nedotkne. Pripadá mi to, ako keby boli objekty obalené v iných kockach, ktoré keď sa dotknú, tak nastane kolízia:
_________
I............I
I............I
I............I <-- Java hlási kolíziu a to sa ešte nedotkli.
/I
/.I
I................I
I................I
Používam triedu Behavior a na kolíziu WakeupOnCollisionEntry/Movement/Exit.
Vie mi niekto poradiť ako to spraviť alebo to sám musím spraviť?
Naposledy upravil/-a zegee29 v So 04. Sep, 2010, 20:29, upravené celkom 1 krát.
Používateľov profilový obrázok
pEpinko
Používateľ
Používateľ
Príspevky: 850
Dátum registrácie: Po 19. Máj, 2008, 09:31
Bydlisko: BA/NR

Re: Riešenie kolízie 3D objektov - Java

Príspevok od používateľa pEpinko »

Ano mas pravdu pravdepodobne tam je box, ktory ohranicuje objekt. Tato technika sa vola Bounding Box. S tvojim problemom ti ale neporadim, lebo v Jave 3D vobec nerobim.
Používateľov profilový obrázok
zegee29
Nový používateľ
Nový používateľ
Príspevky: 32
Dátum registrácie: Pi 31. Aug, 2007, 08:00

Re: Riešenie kolízie 3D objektov - Java

Príspevok od používateľa zegee29 »

Je mi to známe, ten bounding box, som v tomto este novy, a necital som cely java doc, ale sa aspon chapeme :-) Skusim sa na to pozriet tymto smerom a "neako" vypnut bounding box a mozno by to vtedy fungovalo... Nasiel som funkciu intersect na triedu Bounds, zial este s tym mam existencne problemy, nakolko nie kazda podtrieda Shape3D to asi zvlada... Proste sa pokusim nieco a zreferujem ;-) zatial dik

Návrat na "Programovanie"