Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuții   




Cartea de oaspeți   




Mesaje   





Agora   








Clic aici
PC Report - ultimul numar aparut


Soluții - PC Magazine Romania, Iunie  2003

Simularea ciocnirii a două bile folosind modulul de dinamică

Ionuț Ghionea

Modulul de dinamică implementat în 3D Studio Max este utilizat pentru producerea de animații care simulează procesele fizice din lumea reală. Acest modul are la bază teoria dinamicii corpurilor rigide, mișcarea realistă a unui obiect putând fi obținută pe baza proprietăților fizice ale sale și a forțelor care îl influențează. După cum se știe, în dinamica corpurilor rigide, poziția și rotația unui obiect se calculează pe baza forțelor care acționează asupra sa, fără ca acesta să se deformeze (rigid).

În această aplicație se prezintă modul în care se poate simula ciocnirea a două bile rigide, care își păstrează forma intactă după impact, dar își schimbă pozițiile.

În portul de vedere Top se creează un paralelipiped ([Create] -> [Geometry] -> [Standard Primitives] -> [Box]), având următorii parametri: Length=204, Width=350 și Height=3. Acest paralelipiped va fi suportul pe care se poziționează cele două bile care intră în coliziune.

În portul de vedere Top se creează o sferă cu raza Radius=17 și Segments=32. Din meniul Edit -> Clone se obține o a doua sferă identică cu prima. Cele două sfere se poziționează deasupra paralelipipedului, la oarecare distanță una de alta, ca în Figura 1:

Fig. 1 Poziționarea obiectelor în scenă
Din panoul de comenzi [Create] -> [Space Warps] -> [Forces] -> [Gravity] se adaugă în scenă o deformare spațială de tip gravitație, utilizată la deplasarea primei sfere, spre ciocnirea cu cea de-a doua. Gravitația se poziționează în scenă deasupra paralelipipedului, la distanță mică de a doua sferă, cu sensul orientat de la stânga spre dreapta (fig.2):

Fig. 2 Poziționarea deformării spațiale gravitație
Din panoul de comenzi [Utilities] -> [Dynamics], în zona Dynamics, se creează (butonul [New]) o nouă simulare, cu numele Dynamics00. Mai jos, în zona Objects in Simulation, se apasă butonul [Edit Object List] și este afișat meniul din Figura 3. În panoul din stânga se selectează cele două sfere și se adaugă în panoul din dreapta (fig.3):

Fig. 3 Includerea celor două sfere în simulare
Tot în zona Objects in Simulation, se apasă butonul [Edit Object] și este afișat meniul din Figura 4. Se alege prima sferă (Sphere01), din zona Assign Effects/Collisions, apăsând butonul [Assign Object Effects], i se adaugă gravitația (în panoul din dreapta), iar apăsând butonul [Assign Object Collisions] i se adaugă sfera a doua (Sphere02), ca obiect cu care intră în coliziune.

În zona Collision Test se bifează opțiunea Sphere, iar în zona Material Editor Physical Properties se stabilesc parametrii: Bounce=0,3, Static Friction=0,1 și Sliding Friction=0,1.

Parametrul Bounce precizează cât de mult va ricoșa obiectul în urma ciocnirii, parametrul Static Friction stabilește cât de greu este deplasat un obiect staționar, iar parametrul Sliding Friction precizează cât de greu este menținut un obiect în mișcare. Valorile parametrilor Bounce, Static Friction și Sliding Friction pot fi stabilite atât în meniul de comenzi Edit Object (cazul de față), cât și prin editorul de materiale, în secțiunea Dynamics Properties.

Fig. 4 Atribuirea efectelor pentru ambele sfere
Celei de-a doua sfere i se modifică doar valoarea Bounce=0,1, fără a-i adăuga efecte sau coliziuni.
În panoul de comenzi [Utilities] -> [Dynamics], zona Timing & Simulation se stabilesc valorile: Start Time=0, End Time=25 și Time Scale=0,1 (fig.5):

Fig. 5 Stabilirea timpului de animație a coliziunii
Următorul pas este legarea celor două sfere de deformarea spațială, gravitația. Se selectează sferele, se apasă butonul [Select and Link], aflat pe bara cu instrumentele de lucru (fig.6) și se leagă de gravitație.

Fig. 6 Instrumentele de selecție Select and Link și Select and Unlink
Pentru a lega sferele de deformarea spațială (gravitație), se apasă butonul [Select and Link]. Apoi, în momentul în care se indică sferele selectate, cursorul va lua forma Make Link. Se execută click pe sfere și, ținând butonul mouse-ului apăsat, se deplasează cursorul până la gravitație. Cele trei obiecte (două sfere și gravitația) vor fi unite cu o linie, iar cursorul ia forma Accept Link.

În panoul de comenzi [Utilities] -> [Dynamics], zona Dynamics, secțiunea Solve, se apasă butonul [Solve] pentru ca programul să efectueze toate calculele simulării (fig.7). Timpul de calcul este destul de mare, în funcție de complexitatea obiectelor incluse în simulare.

Fig. 7 Butonul Solve, important pentru calculul simulării
După ce s-a încheiat procesul de calcul al traiectoriei sferelor înainte și după coliziune (simularea), 3D Studio Max generează automat traiectoriile și cadrele cheie de mișcare ale acestora (fig.8):

Fig.8 Traiectoriile Și cadrele cheie de miȘcare ale sferelor
În Figurile 9 și 10 sunt prezentate două imagini succesive din animație:

Fig. 9 Poziția sferelor în momentul ciocnirii

Fig.10 Poziția sferelor după ciocnire
Renderizând animația se observă că sferele, în urma ciocnirii, capătă și o mișcare de rotație, exact ca în realitate, modulul de dinamică implementat în 3D Studio Max fiind foarte performant.


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2002 Agora Media.

[email protected]

LG - LifeŽs Good

deltafri

Concurs de Grafica Digitala si Web Design

www.agora.ro

www.agora.ro