2012-05-10 13 views
9

Acabo de terminar un curso de estudio independiente para CS282 - simulación de física informática. Era la primera vez que se ofrecía en la universidad a la que asisto. El libro de texto fue "Desarrollo del motor de juego de física: cómo construir un motor de física de grado comercial robusto para su juego" por Ian Millington. Este libro está lleno de errores gramaticales y, aunque es una referencia útil, es difícil de codificar. El código fuente que se proporciona con el libro es mucho más completo de lo que muestra el libro y hay un nivel de dificultad para descifrar el código, especialmente con fines gráficos, ya que no hay ni siquiera un manual sobre cómo hacer algo por su cuenta con el motor , que de hecho está roto o no implementado en lugares, o cómo usar GLUT, que es la utilidad gráfica que usa el libro y ¡NO SE DESARROLLA MÁS! De hecho, la mayoría de las referencias en este libro no fueron de la última década, lo cual no es tan malo para enseñar el código que tiene 15 años, supongo. Si bien este texto es un gran recurso para el panorama general de la simulación de la física en un entorno para principiantes, no presenta una caja de arena amigable para los estudiantes de CS.Simulación física inicial

Esto fue básicamente un experimento para descubrir qué funciona y qué no 't. Mi profesor también incluyó un libro de texto para usar ActionScript con un motor de física, pero el texto requería un conocimiento previo de cómo funcionaban los motores de física, por lo que lo descartamos por su practicidad.

Mi pregunta es la siguiente:

Estoy en el proceso de escribir un documento de reflexión y me gustaría ser capaz de recomendar una alternativa a estos textos que proporciona una manera fácil para los estudiantes CS para saltar en y escriba el código y realmente pueda ver los frutos de sus trabajos, posiblemente con python. ¿Alguien puede recomendar un buen recurso y/o texto que sería útil para este fin? Para aquellos que han tomado este curso o similar, ¿cuáles han sido sus experiencias?

+0

No sé qué tan relevante es esto, pero hay un [libro] (http://www.amazon.com/Real-Time-Collision -Detection-Interactive-Technology/dp/1558607323/ref = sr_1_1? Ie = UTF8 & qid = 1336613300 & sr = 8-1) He leído sobre la detección de colisiones que pensé que estaba muy bien escrita. – moowiz2020

Respuesta

1

que es la utilidad gráfica que utiliza el libro y NO SE DESARROLLA MÁS!

Wrong. Consulte el proyecto FreeGLut.

¿Alguien puede recomendar un buen recurso y/o texto que sería útil para este fin? Para aquellos que han tomado este curso o similar, ¿cuáles han sido sus experiencias?

Es posible que desee echar un vistazo a Chris Hecker's physics articles. Son viejos, pero son útiles.

no introduce una caja de arena amigable para los estudiantes CS a jugar.

caja de arena friendly significa "nada que programar". Para "jugar" puede usar un motor de física listo para usar (Bullet Physics (viene con el código fuente), o PhysX), pero dudo que enseñe a escribir una simulación de física decente desde cero. Es un gran tema, y hay una razón por la cual los motores existentes estaban en desarrollo durante mucho tiempo ...

+0

Bueno, sí, hay derivados de GLUT como openGLUT, pero GLUT ya no se está desarrollando. Del artículo de GLUT en Wikipedia: "La biblioteca GLUT de Kilgard ya no se mantiene", – LavaHot

+0

Además, por "caja de arena" no quise decir que nosotros, como estudiantes, simplemente jugaríamos con un motor de física existente sin agregar código.Sí, esta clase fue difícil, pero hubo un montón de trabajo detectivesco innecesario para descubrir cómo hacer que algo funcione. Me gustaría una manera en que un alumno pueda escribir una clase que defina algún aspecto del motor como un generador de fuerza o un detector de colisión fino y conectarlo a algo y obtener una demostración gráfica de él. Los gráficos eran algo que se usaba mucho en el motor de autores, pero no estaba cubierto en absoluto en el libro. – LavaHot

+1

@LavaHot: "pero GLUT mismo" Siempre que la API sea la misma, no debería importar quién la mantiene o si es "original" o no. Esa es la belleza del diseño modular: puede usar otra biblioteca siempre que tenga la misma interfaz. "el alumno podría escribir una clase que defina algún aspecto" No puedo imaginar una manera fácil de hacerlo. Los motores existentes (con código fuente - ODE/Bullet) permiten cierta extensibilidad, pero dado que cada concepto debe interactuar con el motor de cierta manera, puede complicarse con bastante rapidez. Creo que tanto ODE/Bullet debería incluir algunas demostraciones de "clases de usuario", pero no estoy seguro. – SigTerm