| |
Labirinx
Programma OpenGL/SDL per Linux
Labirinx è il mio primo esperimento di programmazione openGL. Basato sul codice della lezione 10
dei tutorial di NeHe,
Labirinx è scritto in C; la prima versione è stata provata su Linux SuSE 7.0, con openGL (Mesa 5.0) e SDL 1.2.
Di recente è stato ricompilato per Windows.
Per compilare: scaricare e scompattare il file lab.tar.gz (tar zxvf); make. Per muoversi, si usano i tasti del cursore; Esc per uscire.
|
|
|
| |
Le differenze dal programma originale:
-
Ampliata l'ambientazione, da stanza singola a labirinto
-
Introdotto l'uso delle display list per la rappresentazione delle stanze
-
Implementata una semplice collision detection, per i movimenti con componente ortogonale alle pareti
-
Implementata la gestione dei i movimenti composti; premendo contemporaneamente i tasti avanti/indietro e destra/sinistra, si può rototraslare, invece di muoversi linearmente
-
Aggiunto l'effetto nebbia
Punti aperti, per quando ci sarà tempo:
- Temporizzare il frame-rate
- Migliorare la collision detection, introducendo pareti digonali, salite e discese
- Generare automaticamente il labirinto, che ora è fisso
- Aggiungere effetti di luce e differenziare le texture
- Aggiungere gli effetti sonori
- Completare come gioco questo semplice programma, sistemando da qualche parte un oggetto
che è necessario recuperare prima di tornare all'uscita nel minor tempo
possibile (o magari inseguiti da qualche mostro - un Minotauro? -)
|
| |
R*s*ko
Rivisitazione del celebre gioco di strategia (javascript)
|
R*s*ko nasce come esercizio di javascript; aggiunta dopo aggiunta, è diventato un gioco
a tutti gli effetti.
Scopo del gioco è conquistare tutte le città nemiche. Durante un turno è
possibile rinforzare le proprie città, se si hanno abbastanza monete, o
attaccare una città nemica confinante. Oltre alla finestra principale (quella
della mappa), appaiono due finestre, una per la Cronaca dei turni, l'altra per
le informazioni sulla cittą puntata dal mouse. E' meglio non chiudere queste
due finestre, lo script non lo gradisce. Con "Fine Turno", si passa il
turno al giocatore successivo. Il gioco è configurato per partite solitarie,
ma con piccole modifiche allo script è possibile aggiungere, togliere,
modificare i giocatori, modificare i segnalini, le condizioni iniziali, la
mappa, ecc. ecc.
Provato con Konqueror e Internet Explorer
|
Gioca a R*s*ko on-line!
Scarica R*s*ko
|

|
| |
Punti aperti:
- Debug e miglioramento dell'A.I.
- Studiare un metodo per il "salvataggio partita"
- Permettere la configurazione della partita senza modificare lo script,
magari salvando i dati in un file apposito
- Aggiungere elementi per le nuove versioni: ogni città ha un tesoro diverso, le armate
hanno un'abilità che varia nel tempo, inserire elementi casuali, ...
|
| |
| Il mio lavoro di laurea trattava dello studio di
campioni di rocce carbonatiche ricavati da carotaggi e ingranditi al microscopio
elettronico, con l'ausilio di metodi basati sull'analisi di immagine. Il
lavoro non si limitava al solo studio teorico, mirava invece a realizzare
un software funzionante in Visual C++ per Windows 95/98. Lo
scopo finale del tool era di aiutare geologi e ricercatori a valutare la
presenza di petrolio e gas naturali nel sottosuolo. |
| |
Le immagini analizzate mostravano parti molto scure (zone
porose) e zone a varia gradazione di grigio. Le zone porose erano l'oggetto
dell'analisi. I metodi di analisi scelti (momenti di Hu, descrittori
di Fourier) richiedevano strutture con forti caratteristiche di
regolaritą e scarsa connessione, simili a macchie.
Due immagini di esempio: |
| |
|
|
| |
Le fasi principali dell'analisi di immagine erano due:
- Una fase di prefiltraggio con filtri passa-basso, filtri mediani,
morfologici, anisotropi, bilivello...; il risultato della fase era un'immagine
in bianco e nero, un insieme di macchie nere (le zone porose oggetto
dello studio) su sfondo bianco (tutte le altre zone, i "grigi"
dell'immagine originale), pronta per la fase di analisi successiva.
- L'analisi vera e propria. L'utente poteva scegliere l'insieme di metodi
che riteneva pił idonei per l'analisi ed alternare a piacere
nuove fasi di prefiltraggio a fasi di analisi successive.
- Il metodo dei momenti permetteva di ottenere informazioni
di vario tipo, p.es. sull'area o sugli assi principali di ogni macchia.
In particolare, i momenti di Hu davano informazioni sulla similitudine
di ogni macchia. Per aiutare l'interpretazione dei dati, una volta
calcolati i momenti le macchie potevano essere colorate, associando
tre variabili a scelta ai canali RGB o YUV.
- Il metodo basato sui Descrittori di Fourier dava informazioni
sulla regolaritą del contorno di ogni macchia.
Per velocizzare l'analisi di pił immagini con le stesse caratteristiche,
era stata prevista la registrazione di "macro", ovvero sequenze
di operazioni da ripetere per ogni immagine. Una volta ottenuti i dati da
diversi campioni, era possibile confrontarli con un'analisi "interframe".
I dati erano esportabili in formato txt, pronti per successive elaborazioni. |
| |
| Screenshot del programma realizzato: prefiltraggio con filtro morfologico
e analisi dei momenti |
| |
|
|
|
|
| |
|
|
|