Evaluare:
Cartea „Collision Detection in Interactive 3D Environments” de Gino van den Bergen este apreciată pentru discuția sa cuprinzătoare despre algoritmii de detectare a coliziunilor. Este lăudată în special pentru profunzimea subiectului și includerea codului sursă. Cu toate acestea, cartea suferă de unele probleme legate de calitatea producției și de un accent matematic dificil, ceea ce o face mai puțin accesibilă pentru unii cititori.
Avantaje:Cartea prezintă o acoperire detaliată și riguroasă a algoritmilor de detectare a coliziunilor importanți pentru programarea geometriei 3D. Ea compilează o cantitate mare de conținut plin de resurse și include un CD cu codul sursă pentru biblioteca de detectare a coliziunilor SOLID. Esențial pentru cei implicați în programarea 3D.
Dezavantaje:Unii utilizatori au raportat probleme legate de calitatea producției, cum ar fi legături rupte. În plus, notația matematică grea face ca lectura să fie lentă și uneori plictisitoare, ceea ce poate limita accesibilitatea pentru anumite categorii de public.
(pe baza a 6 recenzii ale cititorilor)
Collision Detection in Interactive 3D Environments
Nucleul oricărui sistem care simulează interacțiunea fizică dintre obiecte este detectarea coliziunilor - capacitatea de a detecta când două obiecte au intrat în contact. Acest sistem este, de asemenea, unul dintre cele mai greu de implementat corect aspecte ale unei simulări fizice și, invariabil, este principalul consumator de cicluri CPU. Practicienii, noi în domeniu sau nu, descoperă rapid că încercarea de a construi un sistem rapid, precis și robust de detectare a coliziunilor îi poartă pe o cale lungă, plină de pericole și capcane, cum nu au mai întâlnit până acum. Fără o cunoaștere și o înțelegere aprofundată a problemelor asociate cu proiectarea unui sistem de detectare a coliziunilor, capătul acestei căi este un abis care a înghițit mulți programatori buni. Noua carte a lui Gino van den Bergen este povestea călătoriei sale de succes pe această cale. Rezultatul este cunoscutul său sistem de detectare a coliziunilor, SOftware Library for Interference Detection (SOLID). Pe parcurs, el abordează subiecte de algebră vectorială și geometrie, diferitele primitive geometrice de interes într-un sistem de coliziune, metoda puternică de separare a axelor în scopul testării intersecțiilor și algoritmul Gilbert-Johnson-Keerthi (GJK), la fel de puternic, pentru calcularea distanței dintre obiecte convexe. Dar această carte oferă mult mai mult decât un bun compendiu al ideilor care intră în construirea unui sistem de coliziune.
Blestemul geometriei computaționale practice este aritmetica în virgulă mobilă. Algoritmii cu implementări simple atunci când se utilizează aritmetica exactă pot avea eșecuri catastrofale într-un sistem în virgulă mobilă. Mai exact, algoritmii de intersecție și distanță implementați într-un sistem cu virgulă mobilă tind să eșueze exact în cel mai important caz într-un sistem de coliziune - atunci când două obiecte se ating. Trebuie avută mare grijă să se gestioneze corect erorile de rotunjire în virgulă mobilă. Realizarea finală a lui Gino în această carte este prezentarea modului de implementare corectă a algoritmului de distanță GJK în prezența aritmeticii în virgulă mobilă cu precizie unică. Și ce modalitate mai bună de a ilustra acest lucru decât cu un studiu de caz, capitolul final privind proiectarea și implementarea SOLID. Despre CD-ROM CD-ROM-ul însoțitor include codul sursă C++ complet al SOLID 3. 5, precum și documentația API în format HTML și PDF. Ambele versiuni de precizie simplă (32bit) și dublă (64bit) ale SDK SOLID plus programele de exemplu pot fi compilate pentru platformele Linux utilizând GNU g++ versiunea 2. 95 până la 3. 3 și pentru platformele Win32 utilizând Microsoft Visual C++ versiunea 6. 0 până la 7.1. Utilizarea codului sursă SOLID este reglementată de termenii GNU GPL sau Trolltech QPL (consultați documentația CD-ROM pentru detalii). Despre autorGino van den Bergen este un dezvoltator de jocuri care trăiește și lucrează în Olanda. El este creatorul SOLID și deține un doctorat.
în informatică la Universitatea de Tehnologie din Eindhoven. Gino a implementat detectarea coliziunilor și fizica în Blender de la NaN Technologies, o suită de creație pentru conținut 3D interactiv.
© Book1 Group - toate drepturile rezervate.
Conținutul acestui site nu poate fi copiat sau utilizat, nici parțial, nici integral, fără permisiunea scrisă a proprietarului.
Ultima modificare: 2024.11.08 07:02 (GMT)