2012-05-10 15 views
9

Ho appena finito di seguire un corso di studi indipendente per CS282 - Computer Physics Simulation. Era la prima volta che veniva offerto al college che frequentavo. Il libro di testo era "Game Physics Engine Development: come costruire un robusto motore di fisica di livello commerciale per il tuo gioco" di Ian Millington. Questo libro è pieno di errori grammaticali e, mentre un utile riferimento, è difficile da codificare. Il codice sorgente fornito con il libro è molto più completo di quanto illustrato nel libro e c'è un livello di difficoltà nel decifrare il codice, specialmente per scopi grafici, poiché non c'è nemmeno un primer su come fare qualcosa da soli con il motore , che in effetti è rotto o non implementato in alcuni punti, o come usare GLUT, che è l'utilità grafica che il libro usa e NON È SVILUPPATO MAI PIÙ! In effetti, la maggior parte dei riferimenti in questo libro non erano dell'ultimo decennio, il che non è male per l'insegnamento del codice che ha 15 anni, suppongo. Sebbene questo testo sia una grande risorsa per la simulazione della fisica in un ambiente principiante, non introduce una sandbox amichevole per gli studenti CS.Simulazione fisica iniziale

Questo è stato fondamentalmente un esperimento per scoprire cosa funziona e cosa non funziona 't. Il mio professore ha anche incluso un libro di testo per l'utilizzo di ActionScript con un motore fisico, ma il testo richiedeva una conoscenza preliminare di come funzionavano i motori fisici, quindi l'abbiamo lasciato cadere per praticità.

mia domanda è questa:

Sono in procinto di scrivere un documento di riflessione e mi piacerebbe essere in grado di raccomandare un'alternativa a questi testi che fornisce un modo facile per gli studenti CS di saltare in e scrivere codice e in realtà essere in grado di vedere i frutti del loro lavoro, possibilmente con python. Qualcuno può raccomandare una buona risorsa e/o un testo che sarebbe utile a tal fine? Per coloro che hanno seguito questo corso o simili, quali sono state le tue esperienze?

+0

Non so quanto sia rilevante, ma c'è 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) Ho letto sul rilevamento delle collisioni che pensavo fosse scritto abbastanza bene. – moowiz2020

risposta

1

che è l'utilità grafica utilizzata dal libro e NON È SVILUPPATA IN PIÙ!

Errore. Controllare il progetto FreeGLut.

Qualcuno può raccomandare una buona risorsa e/o testo che sarebbe utile a tal fine? Per coloro che hanno seguito questo corso o simili, quali sono state le tue esperienze?

Si potrebbe voler dare un'occhiata a Chris Hecker's physics articles. Sono vecchi, ma sono utili.

non introduce una sandbox accogliente per gli studenti CS a giocare.

amichevole sandbox significa "niente da programmare". Per "giocare" è possibile utilizzare un motore di fisica pronto all'uso (Bullet Physics (fornito con il codice sorgente) o PhysX), ma dubito che insegnerebbe come scrivere una simulazione fisica decente da zero - è un grande argomento, e c'è un motivo per cui i motori esistenti erano in sviluppo da molto tempo ...

+0

Beh sì, ci sono derivati ​​GLUT come openGLUT, ma GLUT non è più sviluppato. Dall'articolo GLUT su Wikipedia: "La libreria GLUT di Kilgard non viene più mantenuta", – LavaHot

+0

Inoltre, con "sandbox" non intendevo che noi, come studenti, giocheremmo semplicemente con un motore fisico esistente senza aggiungere codice.Sì, questa lezione è stata dura, ma c'era un sacco di lavoro investigativo non necessario per scoprire come ottenere qualcosa lavorando. Mi piacerebbe che uno studente potesse scrivere una classe che definisce alcuni aspetti del motore come un generatore di forza o un rilevatore di collisione fine e collegarlo a qualcosa e ricavarne una demo grafica. La grafica era qualcosa che era molto usato nel motore degli autori, ma non era affatto trattato nel libro. – LavaHot

+1

@LavaHot: "ma GLUT stesso" Fintanto che l'API è la stessa, non dovrebbe importare chi la gestisce o se è "originale" o meno. Questa è la bellezza del design modulare: puoi utilizzare un'altra libreria purché abbia la stessa interfaccia. "lo studente potrebbe scrivere una classe che definisce alcuni aspetti" Non riesco a immaginare un modo semplice per farlo. I motori esistenti (con codice sorgente - ODE/Bullet) consentono una certa estensibilità, ma dal momento che ogni concetto dovrebbe interagire con il motore in un determinato modo, può diventare complicato abbastanza rapidamente. Penso che sia ODE/Bullet dovrebbero includere alcune demo di "classi utente", ma io non sono certian. – SigTerm