Knowledge
Aided
Engineering
Manufacturing
and
Related
Technologies
INFORMATICA GRAFICA!
6 Maggio!
Proposte progetti finali!
Michele Antolini – michele.antolini@mail.polimi.it!
Norme generali!
• Gruppi formati da 2-3 studenti!
• Registrazione al sito:!
• http://www.kaemart.it/infografica/unibg/!
• Formazione gruppi e descrizione preliminare del
progetto entro 20 maggio!
!
• Upload sul sito della relazione (15-20 pagg) 7gg prima
della consegna del progetto!
• Discussione del progetto anche fuori appello!
• Dietro appuntamento: venerdi 17 giugno e nei venerdi
di luglio!
KAEMaRT
Norme generali!
• Eʼ possibile proporre un progetto !
• anche legato ad un altro corso!
• discuterne sempre prima con il docente!
• Verranno valutati i seguenti aspetti:!
• Architettura!
• Implementazione (struttura, modularità, ottimizzazioni)!
• Descrizione della struttura del progetto!
• Approfondimento su aspetti critici o soluzioni a
problemi sopraggiunti durante lo svolgimento del
progetto!
KAEMaRT
Proposte!
Alcuni progetti svolti lʼanno scorso!
KAEMaRT
Val Brembana Racer!
• Simulatore di circuito automobilistico!
KAEMaRT
Cloth simulator!
• Simulatore di tessuto!
KAEMaRT
QuTe Viewer!
• Visualizzatore 3D di immagini (simile a Colliris)!
KAEMaRT
Carambola!
KAEMaRT
“La Balina”!
• Gioco del bilancere + editor livelli!
KAEMaRT
GL TrueType!
• Testo True Type 3D!
KAEMaRT
Proposte!
Proposte per progetti di fine anno!
KAEMaRT
3D Text - Menu!
• In OpenGL non ci sono primitive per disegnare testo
vettoriale!
• Implementare libreria per visualizzazione di testo 3D!
• Specifiche font true type:!
• http://www.truetype-typography.com/ttspec.htm!
• Non solo estrusione della forma!
• Gestione menu!
!
• Implementazione come libreria!
KAEMaRT
Tris 3D !
• Gioco del tris in 3D!
• Pick degli oggetti!
• Interattività, gestione della vista!
KAEMaRT
Biliardo!
• Scenario!
• Urti elastici tra le palle da biliardo!
• A scelta carambola o allʼitaliana!
KAEMaRT
OpenGL ES!
• Sviluppo di unʼapplicazione 3D interattiva per
iPhone/iPod/iPad!
- (void)drawView:(GLView*)view;
{
Vertex3D
vertex1 = Vertex3DMake(0.0, 1.0, -3.0);
Vertex3D
vertex2 = Vertex3DMake(1.0, 0.0, -3.0);
Vertex3D
vertex3 = Vertex3DMake(-1.0, 0.0, -3.0);
Triangle3D triangle = Triangle3DMake(vertex1, vertex2,
vertex3);
glLoadIdentity();
glClearColor(0.7, 0.7, 0.7, 1.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnableClientState(GL_VERTEX_ARRAY);
glColor4f(1.0, 0.0, 0.0, 1.0);
glVertexPointer(3, GL_FLOAT, 0, &triangle);
glDrawArrays(GL_TRIANGLES, 0, 9);
glDisableClientState(GL_VERTEX_ARRAY);
}
KAEMaRT
Screensaver!
• Sviluppo di uno screensaver (o di unʼanimazione 3D generata in
tempo reale)!
• Realistico o astratto (es.: acquario o solar wind)!
KAEMaRT