Simulando la física con las computadoras por Richard P Feynman.
Esta lectura es una buena introducción, pero según la sugerencia de Jay Wackers, decidí elaborar. Ya estamos haciendo algunas de estas cosas y, de hecho, los fenómenos clásicos gravitacionales, electromagnéticos y ópticos están bastante bien simulados. Hay dos formas de ir aquí:
1) Ejecute la simulación completamente en números y reproduzca los resultados con números o gráficos
2) Ejecute la simulación mientras produce una representación gráfica del fenómeno
- ¿Cuál es la diferencia entre una cookie y un píxel?
- ¿El aprendizaje automático ha logrado mejoras tangibles en la eficacia del descubrimiento de fármacos?
- ¿Qué quiere decir Donald Knuth cuando dice "obtienes más prestigio haciendo buena ciencia que haciendo ciencia popular"?
- ¿Cuáles son todos los tipos de aprendizaje automático y todos utilizan los mismos principios?
- ¿Por qué P es desigual a NP en términos simples?
El primero se usa principalmente en la academia y el segundo principalmente en estudios de animación, como Pixar o compañías de Hardware de gráficos como Nvidia. La simulación con números permite un tratado más amplio de los fenómenos, mientras que el segundo se ocupa principalmente de representar el mundo clásico en 3D tal como lo vemos, pero ya se está extendiendo a otras áreas.
Me centraré principalmente en el segundo, ya que es mi campo de investigación, pero proporciona un subconjunto de lo que debería hacer para dar cuenta de la “programación del universo”.
Modelar el mundo 3D que nos rodea resulta ser un proceso bastante agotador para una computadora (pruebe cualquier juego de computadora de gráficos de alta gama o software CAD) tanto que hemos tenido que confiar en GPU, un componente de hardware adicional, en lugar de CPU para lograrlo
Considere simplemente un mundo virtual con muchos objetos entre los cuales está usted (la cámara) deambulando. La computadora tendrá que contener una referencia a cada objeto en su escena, su comportamiento físico y su apariencia física. Resulta que tanto la apariencia física como el comportamiento son muy complejos.
Por ejemplo, digamos que la luz del sol proviene de la derecha, entonces una escena realista debe reproducir una sombra a la izquierda para cada objeto en la escena de acuerdo con la posición de la fuente de luz y sus partes relevantes. Debe tener en cuenta la absorción de luz y la reflectancia de cada objeto. Y en general no solo hay una fuente de luz a su alrededor. Además, debe reproducir la difracción, la difusión y todas las demás propiedades ópticas. Y esto es solo para controlar la apariencia visual de los objetos en una escena. La ecuación para esto se conoce como la ecuación de representación y fue descrita por David Immel y James Kajiya.
Luego debe controlar el comportamiento físico, es decir, colisiones, elasticidad, velocidad, etc. Los pasos de procesamiento serán entonces de orden [matemática] N ^ 2 [/ matemática], ya que al menos verificará estas interacciones para cada par de objetos. Por supuesto, esta no es la forma en que se hace y se utilizan otros buenos trucos para producir su animación de juego sin problemas o la última película de animación que vio en el cine. Un ejemplo muy común de esto es no procesar objetos dentro de la vista de su cámara, algo que definitivamente no simula el comportamiento natural. Por lo tanto, no todos estos trucos son necesariamente científicamente sólidos.
Tome el desenfoque de movimiento, por ejemplo. Para simular un movimiento rápido en su escena, algo que ocurre naturalmente para usted, pero para una computadora, una escena es solo una serie de instantáneas de imágenes y representará todo el fenómeno foto por foto, lo que le permitirá seguirlo completamente sin desenfoques. Para modelar esta parte de la visión, utilizamos propiedades de píxeles, no necesariamente una parte de su sistema de visión natural.
Renderizado de cabello. La mayoría de nosotros no lo pensamos demasiado, pero cuando ves un personaje de animación peludo, ha sido renderizado por una computadora y cambia en relación con el movimiento del personaje. Un personaje peludo en la vida real tiene una gran cantidad de folículos pilosos, mucho más de lo que una PC normal puede explicar y en una escena virtual en 3D se trata como un sistema de resorte elástico masivo.
Luego hay cuerpos de partículas N como el agua:
waterdemo | GeForce
o fumar:
O sistemas de 1 cuerpo que se dividen en cuerpos N
y combinaciones de lo anterior:
todas las propiedades dinámicas de los cuerpos deben tenerse en cuenta al reproducir de manera realista un mundo virtual.
Y si todo eso no es suficiente para usted, debe tener en cuenta todas estas propiedades de manera gradual para simular el tiempo. Por lo tanto, debe calcular todo lo mencionado anteriormente en menos o igual tiempo que su paso de tiempo si está creando una simulación en tiempo real o debe representarlo todo dentro de ese paso de tiempo si está creando una animación. Eso sí, en una simulación cuántica, este paso de tiempo sería el tiempo de Planck o algo así …
Para hacer esto, los estudios de juegos y en su mayoría de animación tienen granjas de renderización y todavía lleva meses. Para las animaciones, puede llevar más de un día representar una sola escena de una película. Las técnicas más nuevas incluyen computación y renderización paralelas (comportamiento físico y motores de apariencia física ejecutados en sus propios hilos), física de nube distribuida que es lo que me interesa y otros.
Y todo esto fue para calcular la dinámica de su entorno con respecto a usted (la cámara).
Ahora imagina calcular todo esto (que solo trata la gravedad) y las 3 fuerzas adicionales con respecto a una partícula que deambula por el universo y que explica los fenómenos cuánticos sin representarlo, simplemente siguiendo todas sus propiedades en el tiempo. Luego imagine esto para todas las partículas en el universo. ¿Entonces tal vez? imagina renderizándolo. Y todo esto suponiendo que una computadora puede reproducir fenómenos cuánticos y probabilidades de manera confiable … Hablando optimistamente, tomará algún tiempo antes de que podamos hacerlo, y en caso de que tengamos tal poder computacional, ¿qué dice eso sobre la computadora real? capaz de hacerlo?
La última pregunta – Isaac Asimov
Algunos de los papeles de Pixars:
Biblioteca Pixar
Las últimas técnicas y algoritmos en gráficos y simulación física:
Inicio | SIGGRAPH ACM
Si tiene habilitado WebGL en su navegador, aquí hay un modelo de sistema solar:
http://planetoweb.net/app/
Y hay muchos más