miniatura|300x300px|Els objectes en gràfics per ordinador no tenen propietats físiques intrínseques. Requereix una simulació per fer que els objectes formats per polígons virtuals (gràfics per ordinador) es comportin com s'esperaria en el món real. S'han de tenir en compte molts paràmetres diferents, com ara la gravetat, les col·lisions i la rotació.Aquests són quatre exemples de diferents nivells de detall de simulacions de motors físics o d'un objecte que cau sobre un pendent: 1.Sense física. 2.Gravetat, sense detecció de col·lisions. 3.Detecció de gravetat i col·lisió, sense càlculs de rotació. 4.Càlculs de gravetat, detecció de col·lisions i rotació.

Un motor de física és un programari informàtic que proporciona una simulació aproximada de certs sistemes físics, normalment dinàmica clàssica, inclosa la dinàmica del cos rígid (inclosa la detecció de col·lisions), la dinàmica del cos tou i la dinàmica de fluids. És d'ús en els dominis d'infografia, videojocs i cinema (CGI). Els seus usos principals són en videojocs (normalment com a middleware), en aquest cas les simulacions són en temps real. El terme de vegades s'utilitza de manera més general per descriure qualsevol sistema de programari per simular fenòmens físics, com ara la simulació científica d'alt rendiment.

Descripció En general, hi ha dues classes de motors físics: en temps real i d'alta precisió. Els motors físics d'alta precisió requereixen més potència de processament per calcular una física molt precisa i solen ser utilitzats pels científics i pel·lícules animades per ordinador. Els motors físics en temps real, com s'utilitzen en videojocs i altres formes d'informàtica interactiva, utilitzen càlculs simplificats i una precisió reduïda per calcular a temps perquè el joc respongui a un ritme adequat per al joc. Un motor de física és essencialment una gran calculadora que fa les matemàtiques necessàries per simular la física.

Motors científics Un dels primers ordinadors de propòsit general, ENIAC, es va utilitzar com un tipus de motor físic molt senzill. Es va utilitzar per dissenyar taules de balística per ajudar l'exèrcit dels Estats Units a estimar on aterrarien els obusos d'artilleria de diversa massa quan es disparaven amb diferents angles i càrregues de pólvora, també explicant la deriva causada pel vent. Els resultats es van calcular una sola vegada i es van tabular en taules impreses lliurades als comandants d'artilleria.

Els motors físics s'han utilitzat habitualment en superordinadors des de la dècada de 1980 per realitzar modelatge de dinàmica de fluids computacional, on les partícules se'ls assignen vectors de força que es combinen per mostrar la circulació. A causa dels requisits de velocitat i alta precisió, es van desenvolupar processadors informàtics especials coneguts com a processadors vectorials per accelerar els càlculs. Les tècniques es poden utilitzar per modelar patrons meteorològics en previsions meteorològiques, dades del túnel de vent per dissenyar embarcacions aèries i aquàtiques o vehicles de motor, inclosos cotxes de carreres, i refrigeració tèrmica de processadors d'ordinador per millorar els dissipadors de calor. Com passa amb molts processos de càlcul en informàtica, la precisió de la simulació està relacionada amb la resolució de la simulació i la precisió dels càlculs; petites fluctuacions no modelades a la simulació poden canviar dràsticament els resultats previstos.

Els fabricants de pneumàtics utilitzen simulacions físiques per examinar com funcionaran els nous tipus de banda de rodadura en condicions humides i seques, utilitzant nous materials de pneumàtics de flexibilitat variable i amb diferents nivells de càrrega de pes.

Motors de joc En la majoria dels jocs d'ordinador, la velocitat dels processadors i la jugabilitat són més importants que la precisió de la simulació. Això condueix a dissenys per a motors físics que produeixen resultats en temps real però que reprodueixen la física del món real només per a casos senzills i normalment amb alguna aproximació. La majoria de les vegades, la simulació està orientada a proporcionar una aproximació "perceptivament correcta" en lloc d'una simulació real. Tanmateix, alguns motors de joc, com Source, utilitzen la física en trencaclosques o en situacions de combat. Això requereix una física més precisa perquè, per exemple, l'impuls d'un objecte pugui tombar un obstacle o aixecar un objecte que s'enfonsa.

Limitacions Un límit primari del realisme dels motors físics és el resultat aproximat de les resolucions de restriccions i el resultat de la col·lisió a causa de la lenta convergència dels algorismes. La detecció de col·lisions calculada a una freqüència massa baixa pot provocar que els objectes passin entre si i després es repel·leixen amb una força de correcció anormal. D'altra banda, els resultats aproximats de la força de reacció es deuen a la lenta convergència del típic solucionador de Gauss Seidel projectat que resulta en un rebot anormal. Qualsevol tipus d'objecte de física composta en moviment lliure pot demostrar aquest problema, però és especialment propens a afectar els enllaços de la cadena sota alta tensió i els objectes amb rodes amb superfícies de suport físiques activament. Una major precisió redueix els errors de posició/força, però a costa de necessitar una major potència de CPU per als càlculs.

Unitat de processament de física (PPU) Una unitat de processament de física (PPU) és un microprocessador dedicat dissenyat per gestionar els càlculs de la física, especialment en el motor físic dels videojocs. Exemples de càlculs que impliquen una PPU poden incloure la dinàmica del cos rígid, la dinàmica del cos tou, la detecció de col·lisions, la dinàmica de fluids, la simulació de cabells i roba, l'anàlisi d'elements finits i la fractura d'objectes. La idea és que els processadors especialitzats descarreguen les tasques que requereixen temps de la CPU d'un ordinador, de la mateixa manera que una GPU realitza operacions gràfiques al lloc de la CPU principal. El terme va ser encunyat pel màrqueting d'Ageia per descriure el seu xip PhysX als consumidors. Diverses altres tecnologies de l'espectre CPU-GPU tenen algunes característiques en comú, tot i que la solució d'Ageia va ser l'única completa dissenyada, comercialitzada, suportada i col·locada dins d'un sistema exclusivament com a PPU.

Informàtica de propòsit general amb unitat de processament gràfic (GPGPU) L'acceleració de maquinari per al processament físic ara és proporcionada per unitats de processament de gràfics que admeten càlculs més generals, un concepte conegut com a càlcul de propòsit general en unitats de processament de gràfics (GPGPU). AMD i NVIDIA ofereixen suport per a càlculs de la dinàmica del cos rígid a les seves últimes targetes gràfiques.

La sèrie GeForce 8 de NVIDIA admet una tecnologia d'acceleració física newtoniana basada en GPU anomenada Quantum Effects Technology. NVIDIA ofereix un kit d'eines SDK per a la tecnologia CUDA (Compute Unified Device Architecture) que ofereix una API de baix i alt nivell a la GPU. Per a les seves GPU, AMD ofereix un SDK similar, anomenat Close to Metal (CTM), que proporciona una interfície de maquinari fina.

PhysX és un exemple de motor físic que pot utilitzar l'acceleració de maquinari basada en GPGPU quan està disponible.

Referències

Categoria:Programari científic