Pagine

martedì 23 luglio 2013

Computer Graphics - Introduzione

Una delle mie passioni informatiche è sempre stata la Computer Graphics, conosciuta con la sigla di CG. Essendo un appassionato di videogiochi ho sempre ammirato coloro che riuscivano a creare filmati e animazioni, sempre più realistiche. Uno degli ultimi che ho potuto ammirare, ad esempio, è il trailer del nuovo capitolo online di Final Fantasy, della Square Enix. Per chi non lo conoscesse, ecco di cosa parlo:




E' banale dire che una creazione del genere richiede un team specializzato e davvero molto lavoro. Però un giorno potremmo essere anche noi all'interno di progetti simili, perché no?

L'universo della CG è cresciuto enormemente negli ultimi anni, anche grazie a programmi di sviluppo sempre più avanzati e ricchi di funzionalità, come ad esempio 3D Studio, Maya, Cinema 4D, Blender, etc.
La maggior parte sono davvero molto costosi, ma si trovano anche progetti Open Source davvero interessanti. Purtroppo non ho ancora le competenze tecniche per padroneggiare e parlare di come si sviluppa con questi tool, ma posso ugualmente fornirvi una base da cui partire, quantomeno per approcciarsi a questo mondo.

Il corso più interessante che ho avuto nella Laurea Magistrale di Ingegneria Informatica alla Sapienza, è stato proprio sulla CG. Come tutti prevedeva un test scritto, ma anche un progetto personale, dove veniva richiesta la realizzazione di un modello 3D capace di eseguire azioni e movimenti all'interno di ambienti con luci e texture. Tutti argomenti che prima avevo solo sentito nominare e che, grazie a quel corso, ho potuto conoscere più a fondo. Lo strumento di programmazione per realizzare tutto questo era lo storico OpenGL!

Nei prossimi articoli parlerò di OpenGL, ma per il momento lo lascio come un piccolo tesoro da scoprire. Vorrei concludere questa breve introduzione con la definizione vera e propria di Computer Graphics, ripresa dai miei appunti, ancora ben conservati.

Generalmente, significa creazione, memorizzazione e manipolazione di modelli e di immagini. Questi modelli vengono da un insieme di numerosi campi, anche in espansione, quali fisico, matematico, artistico, biologico e persino strutture concettuali (astratte).
William Fetter coniò il termine “computer graphics” nel 1960 per descrivere nuovi metodi di progetto che stava perseguendo a Boeing. Fetter disse che il modo migliore per definirla era dire cosa non è. La CG non è una macchina, non è un computer e nemmeno una serie di programmi. Non è una guida di un grafico, di un programmatore, di uno scrittore o di altri specialisti. La CG è tutte queste cose, è una tecnologia consapevolmente gestita e diretta attraverso la comunicazione delle informazioni in modo accurato e descrittivo.

Devo precisare che questo è un campo dove anche io sono alle prime armi, quindi potrei facilmente scrivere qualcosa che esperti del settore potrebbero correggere, ma se qualcuno di loro si presentasse qui, sarebbe per me una stupenda occasione per imparare molto. Quindi, questo lo considero un work in progress :)

Giorgio

domenica 21 luglio 2013

La Programmazione - Introduzione

Credo che il primo post su questo blog non possa che essere una veloce introduzione alla programmazione.

Ovviamente si parla di quella Informatica, ma il nome non è un caso. Un'etimologia molto spicciola del termine fa comprendere molto sul significato di questa parola, infatti il termine "programma" viene dal greco ed è l'unione di due parole: "pro", che vuol dire avanti, prima, e "gramma", scrittura. Cioè qualcosa da scrivere prima. Non essendo un Prof. di Italiano, credo sia meglio fermarmi qui, prima di fare troppi danni, ma spero che l'idea sia arrivata.

Passiamo a quello che ci compete, ossia la programmazione informatica. Ricordo che quando ero più piccolo e cercavo di completare ogni videogioco presente sulle console, ormai datate, mi domandavo come era possibile che tutte quelle storie prendessero vita all'interno del computer. Una volta cresciuto ho trovato risposta a quella domanda: i videogiochi venivano programmati. Questo non ha reso la visione di quel mondo meno fantastica, come avviene per molti aspetti della vita quando si cresce, anzi tutt'altro, perché la programmazione è davvero un universo enorme, capace di lasciarti a bocca aperta e spingerti a volere tu stesso farne parte, creando i tuoi programmi e cercando di lasciare un piccolo segno più o meno visibile.

Dunque, che cos'è un programma? Un programma indica al computer, in maniera davvero precisa, la sequenza di operazioni che sono necessarie per eseguire il compito di cui abbiamo bisogno. L'attività di creazione dei programmi è detta Programmazione.

Prima ho citato uno dei tanti campi di applicazione della programmazione, cioè i videogiochi, ma ce ne sono moltissimi altri, per nostra fortuna. Alcuni già consolidati e affermati, come la programmazione per la gestione di archivi di dati o la prenotazione e l'acquisto di prodotti, mentre altri ancora in via di sviluppo, ad esempio la programmazione per i dispositivi mobile (smartphone, tablet, etc.). Tutti loro sono sempre in continua evoluzione, alla ricerca di miglioramenti e di tecniche di programmazione che possano perfezionare sempre più il compito richiesto.

Molti programmatori sanno da subito quale settore attira il loro interesse e la loro passione, mentre altri si alternano da uno all'altro, senza sentirsi obbligati a sceglierne uno in particolare. E' importante sapere che l'esperienza sul campo è quella che davvero ci fa capire che cosa ci piace programmare. Allo stesso modo, bisogna ricordarsi che molte aree di sviluppo sono davvero distanti tra loro, e questo vuol dire che dedicare il proprio tempo e i propri studi verso una direzione, per forza di cose, allontana dalle altre.

Qui si conclude questa veloce introduzione sul significato del termine "programmazione". Non sono entrato in dettagli tecnici, ma non mancheranno occasioni per farlo.

Un saluto a tutti, alla prossima!

Giorgio