mat4 m, ma, mb ; vec4 v, u; m *= mb ; // come dire: m = m * mb (non mb * m!) u = m * v ; // prodotto matrice-vettore

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "mat4 m, ma, mb ; vec4 v, u; m *= mb ; // come dire: m = m * mb (non mb * m!) u = m * v ; // prodotto matrice-vettore"

Transcript

1 Computer Graphics Università dell Insubria Corso di Laurea in Informatica Anno Accademico 24/5 Marco Tarini Trasformazioni 3D con three.js Matrici in GLSL mat4 m, ma, mb ; vec4 v, u; m = ma * mb ; // prodotto matrice matrice // (riga per colonna) m *= mb ; // come dire: m = m * mb (non mb * m!) u = m * v ; // prodotto matrice-vettore u = m[ ] ; // prendi la ma colonna di m m[ 3 ] = u ; // setta la 4ta colonna di m m = mat4( v ) ; // matrice diagonale m = mat4(. ) ; // nella diagonale (cioè l ide) Matrici in GLSL mat4 m, ma, mb ; vec4 v, u; m = transpose( m // non oneroso m = inverse( m // molto più oneroso! float k = determinant( m m = ma * 5; // moltipilca tutti gli elementi m = ma + mb; // somma fra matici mat3 submat = mat3( m // sottomatrice 3x3 m = mat4( submat // borda con, e sulla diago Vertex shader con transformazione 3D Trasformazioni 4x4 = matrici 4x4 (uniforms) attribute vec3 vertexpos ; attribute vec3 colattribute ; varying vec3 colvarying; Model-View- Projection (da spazio-oggetto a spazio-clip in un sol colpo) uniform mat4 mvp ; W (coord affine) X Y Z void main(void) { gl_position = mvp * vec4( vertexpos,. colvarying = colattribute ; VERTEX SHADER (GLSL)

2 Setting the uniforms: caso matrici Serializzare le matrici «trascrivere come serie di numeri» (in memoria, su disco, etc) uniform mat4 mvp; var mvp_loc = gl.getuniformlocation( myprog, mvp" «dammi un vettore (non i valori)» «column major order» gl.uniformmatrix4fv ( mvp_loc, false, xxx reneder( // sends the primitives GPU CPU un Float32Array (6 el) a b c d e f g h i j k l m n o p Row-major Order (per riga): a e i m b f j n c g k o d h l p trasposta di Column-Major Order (per colonna): a b c d e f g h i j k l m n o p più standard Settare la matrice di MVP Come una matrice di scalatura? // da invocare nella draw, prima di mandare le primitive function setuniforms(){ gl.uniformmatrix4fv( mvp_loc, false, new Float32Array( [.5,,,, // first column!!!! (not row),.5,,,,,.5,,,,,, ] ) Settare la matrice di MVP Come una matrice di rot di 45 sull asse Z? // da invocare nella draw, prima di mandare le primitive function setuniforms(){ gl.uniformmatrix4fv( mvp_loc, false, new Float32Array( [ +.77, -.77,,, // first column!!!! (not row) +.77, +.77,,,,,,,,,,, ] ) nota: sin(45 ) = cos(45 ) =.77 2

3 Rotazione attorno all'asse x, y, o z R X ( θ ) = -sinθ sinθ R Y ( θ ) = -sinθ - sinθ = sinθ ( θ ) R Z sinθ Ci serve una libreria JavaScript per matrici, vettori, etc three.js GLGE SpiderGL adottiamo questa three.js quick start Matrici in three.js download it ( ) dal package prendere i builds three.js three.min.js (versione minimale, ci basta per ora) metterli a dispozisione della pagina html (es dentro una cartella js/ ) inlcuderli: <html> <head> <script src="js/three.min.js"></script> <script type="text/javascript"> </script> </head> head (come tutte le librerie JavaScript) var m = new THREE.Matrix4( // m = identità /* costruzioni di matrici utili, comprese quelle che abbiamo visto: */ m.maketranslation( dx, dy, dz m.makescale( sx, sx, sz m.makerotationx( radiants m.makerotationy( radiants m.makerotationz( radiants m.makeaxis( axisx, axisy, axisz // dai tre vettori asse m.makeperspective( fov, aspect, nearz, farz /* accesso agli elementi */ m.elements( // un Float32Array con i 6 elementi 3

4 Matrici in three.js Un modo per definire la matrice di vista var m = new THREE.Matrix4( var b = new THREE.Matrix4( /* moltipilcazione riga colonna: */ m.multiply( b // a destra! m *= b; // cioè m = m*b; // (equivale a fare prima b, poi m) una semplice Trackball : var trackball = { phi:., // degrees theta:., dist: 5. ; y /* inversioni etc */ var det = m.determinant( // un float m.transpose( // in place, cioe m = transposta di m ; m.getinverse( b // m = inversa di b theta /* e molto altro, per es: */ // costruisce una matr. vista (vedi esercizio di trasformazione) m.lookat ( eyepos, targetpos, upvec phi z -x Soluz (traccia): Se la camera fosse un oggetto qualsiasi, per portarla nella pos giusta: ricetta: partenza: camera nello, puntata verso Z, etc. prima la sposto sulla Z di dist poi lo ruoto attorno alla X di theta poi lo ruoto attorno alla Y di phi Soluz (traccia): Allora la matrice di vista V si ottiene invertendo (sia ciascuna op che il loro ordine) : ricetta: partenza: spazio mondo prima lo ruoto attorno alla Y di phi poi lo ruoto attorno alla X di theta poi la sposto sulla Z di dist arrivo: spazio vista M M M2 V = M2*M*M 4

5 Setting della view matrix In Javascript (con three.js ) : Setting della projection matrix In Javascript (con three.js ) : Distanze del Near e Far Clipping Plane (in spazio vista!) var view = new THREE.Matrix4( var m = new THREE.Matrix4( var m = new THREE.Matrix4( var m2 = new THREE.Matrix4( var view = ; var projection = new THREE.Matrix4( projection.makeperspective( 6,.,.5,. m2.maketranslation(,, -trackball.dist view.multiply( m2 m.makerotationx( -trackball.theta / 8. * 3.45 view.multiply( m var mvp = new THREE.Matrix4( mvp.multiply( projection mvp.multiply( view Field of View (degrees) Aspect Ratio del viewport m.makerotationy( -trackball.phi / 8. * 3.45 view.multiply( m gl.uniformmatrix4fv( mvp_loc, false, mvp.elements conversione da degree a rad M a r c o T a r i n i C o m p u t e r G r a p h i c s 2 4 / 5 U n i v e r s (ma i t à d meglio e l l I n usare s u b r i Math.PI) a mandiamo la matrice di MVP allo shader come uniform precedentemente trovato (dopo la costruz. dello shader) convenientemente, un Float32Array Proiezione prospettica Paradigmi di interazione 3D matrice di trasformazione per la proiezione prospettica P = / d World in Hand (or Object in Hand) mi immagino la camera fissa, manipolo l oggetto davanti alla camera es: un visualizzatore di oggetti 3D x y P z x y = z z / d divisione per 4ta comp x z / d y z / d d Camera in Hand mi immagino un oggetto / il mondo fermo, muovo la camera intorno es: un game st person shooter 5

6 primitive qui manipolazioni di stato (es. settare la matrice) stato di OpenGL tutto il pipeline (proiezione, setup, rasterizzazione) pixels Depth test, in OpenGL Depth test, in WebGL (o OpenGL) Abilitarlo: gl.enable(gl.depth_test Quando si cancella lo schermo, cancellare anche il depth buffer Determinare la condizione per passare il test: gl.never gl.equal gl.lequal gl.greater gl.notequal gl.depthfunc( GL_LESS gl.less ) gl.gequal gl.always (dafault) gl.clear( gl.color_buffer_bit gl.depth_buffer_bit OR bit a bit (la clear prende una maschera di bits che specifica quali buffer cancellare) Depth test, in WebGL (o OpenGL) Il rasterizzatore produce un valore di depth di default per ogni frammento prodotto interpolando la Z dei vertici proiettati in input Possiamo sovrascrivere questo valore (se vogliamo) nel fragment shader // fragment shader void main() { gl_fragcolor = // un vec4 gl_fragdepth = // un float assegnamento opzionale. (ha un costo grande farlo! depth test va rimandato e alcune ottimizzazioni HW disabilitate) Per i dettagli, vedere l implementazione sul sito (come al solito): lez 9B 6

Aggiungiamo attributi (per vertice!)

Aggiungiamo attributi (per vertice!) Prossimo passo: Aggiungiamo attributi (per vertice!) Roadmap: 1. includiamoli nel buffer 2. facciamoli prendere dal vetex puller 3. usiamoli nel vertex shader 4. (verranno inteprolati autmaticamente nel

Dettagli

Computer Graphics. Preambolo: piccolo prontuario di JavaScript. Modellazione procedurale di semplici forme

Computer Graphics. Preambolo: piccolo prontuario di JavaScript. Modellazione procedurale di semplici forme Computer Graphics Università dell Insubria Corso di Laurea in Informatica Anno Accademico / Marco Tarini Modellazione procedurale di semplici forme JavaScript ha molti difetti non tipato sintassi molto

Dettagli

Computer Graphics. Mesh import. Piano: Let s Import Meshes! Guardiamo dentro la nostra mesh con un plain text editor. 1. Procurarsi alcune mesh

Computer Graphics. Mesh import. Piano: Let s Import Meshes! Guardiamo dentro la nostra mesh con un plain text editor. 1. Procurarsi alcune mesh Computer Graphics Università dell Insubria Corso di Laurea in Informatica Anno Accademico 2014/15 Marco Tarini Let s Import Meshes! Mesh import Funzioni esistenti (non cambia nulla) Piano: 1. procurarsi

Dettagli

Marco Tarini, Università dell'insubria AA 2016/2017. Computer Graphics. Facciamo una primissima applicaizone grafica rasterization based

Marco Tarini, Università dell'insubria AA 2016/2017. Computer Graphics. Facciamo una primissima applicaizone grafica rasterization based Computer Graphics Hello Triangle Università dell Insubria Corso di Laurea in Informatica Anno Accademico 2016/17 HELLO WORLD, I M A TRIANGLE! Marco Tarini Piano Facciamo una primissima applicaizone grafica

Dettagli

Grafica Computazionale

Grafica Computazionale Grafica Computazionale Laboratorio: Le trasformazioni Laboratorio: Il progetto SoftOgl: Software OpenGL Fabio Ganovelli fabio.ganovelli@isti.cnr.it a.a. 2005-2006 Obiettivi (oggi) le trasformazioni della

Dettagli

Computer Graphics. Stack di matrici di modellazione: reminder! (vedi lez 13) comporre una scena con la Model Transform. Note implementative

Computer Graphics. Stack di matrici di modellazione: reminder! (vedi lez 13) comporre una scena con la Model Transform. Note implementative Computer Graphics Università dell Insubria Corso di Laurea in Informatica Anno Accademico 2014/15 Marco Tarini comporre una scena con la Model Transform Stack di matrici di modellaione: reminder! (vedi

Dettagli

Computer Graphics. Reminder: API. Il primo Hello World. Storia. Open Graphic Language Libreria C-like. Specifiche API. ver 4.

Computer Graphics. Reminder: API. Il primo Hello World. Storia. Open Graphic Language Libreria C-like. Specifiche API. ver 4. Computer Graphics Il primo Hello World Reminder: API Applicazioni Università dell Insubria Corso di Laurea in Informatica Anno Accademico 2014/15 HELLO WORLD, I M A TRIANGLE! SDK Algoritmi API Driver Scheda

Dettagli

Videogame e rendering 3D. Enrico Colombini (Erix) µhackademy 1 Marzo 2019

Videogame e rendering 3D. Enrico Colombini (Erix) µhackademy 1 Marzo 2019 Videogame e rendering 3D Enrico Colombini (Erix) µhackademy 1 Marzo 2019 Volete creare un videogame? Strumenti comodi: game engine Editor 3D, componenti Runtime engine (PC, console, mobile) Scripting,

Dettagli

Rendering 13/01/2014. Marco Tarini - Video Game Dev - Univ Insubria (recall?) Game Engine

Rendering 13/01/2014. Marco Tarini - Video Game Dev - Univ Insubria (recall?) Game Engine Rendering (recall?) Game Engine Parte del game che si occupa di alcuni dei task comuni Scena / livello Renderer Real time transofrm + lighting Models, materials Phsics engine (soft real-time) newtonian

Dettagli

Corso di Tecniche Avanzate per la Grafica

Corso di Tecniche Avanzate per la Grafica Corso di Tecniche Avanzate per la Grafica GLSL Docente: Massimiliano Corsini Laurea Specialistica in Informatica Università di Ferrara Cosa sono gli shaders? Gli shaders sono programmi che vengono eseguiti

Dettagli

Ricordiamo brevemente come possono essere rappresentate le rette nel piano: 1) mediante un'equazione cartesiana. = ( p 1

Ricordiamo brevemente come possono essere rappresentate le rette nel piano: 1) mediante un'equazione cartesiana. = ( p 1 Introduzione Nella computer grafica, gli oggetti geometrici sono definiti a partire da un certo numero di elementi di base chiamati primitive grafiche Possono essere punti, rette e segmenti, curve, superfici

Dettagli

Introduzione al Real Time Shading

Introduzione al Real Time Shading Introduzione al Real Time Shading Ing. Davide Vercelli, PERCRO davide.vercelli@sssup.it Sommario dal software all'hardware e ritorno cenni storici la pipeline grafica com'era: la pipeline fissa com'è:

Dettagli

Computer Graphics. Computer Graphics. Alcuni argomenti che non abbiamo trattato (o abbiamo trattato poco) Modelling: Rendering:

Computer Graphics. Computer Graphics. Alcuni argomenti che non abbiamo trattato (o abbiamo trattato poco) Modelling: Rendering: pillole varie di CG Alcuni argomenti che non abbiamo trattato (o abbiamo trattato poco) Modelling: superfici di suddivisione NURBS Rendering: HDR images Modelling and Rendering: HW programmabile bump-maps

Dettagli

Computer Graphics LIGHTING. (local) Lighting in breve. lo Shading. Baked lighting VS dynamic lighting. Es: equazione di Lighting.

Computer Graphics LIGHTING. (local) Lighting in breve. lo Shading. Baked lighting VS dynamic lighting. Es: equazione di Lighting. Computer Graphics Lighting in breve Lezione : Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 20/2 Marco arini lo Shading Proprietà del materiale

Dettagli

0) transformazione di modellazione 1) transformazione di vista 2) transformazione di proiezione 3) transformazione di viewport.

0) transformazione di modellazione 1) transformazione di vista 2) transformazione di proiezione 3) transformazione di viewport. Transform object Coordinates ) transformaione di modellaione ) transformaione di vista 2) transformaione di proieione 3) transformaione di viewport - world Coordinates view Coordinates - Clip M a r c o

Dettagli

Corso Grafica Computazionale

Corso Grafica Computazionale Corso Grafica Computazionale Trasformazioni Geometriche Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Trasformazioni Geometriche Le trasformazioni

Dettagli

Corso GraficaComputazionale

Corso GraficaComputazionale Corso GraficaComputazionale Trasformazioni Geometriche Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Overview Trasformazioni geometriche e matrici

Dettagli

Computer Graphics. Digital representation of 3D objects. 3D Rendering. Scena 3D rendering image. Marco Tarini - univ insubria AA 2016/2017

Computer Graphics. Digital representation of 3D objects. 3D Rendering. Scena 3D rendering image. Marco Tarini - univ insubria AA 2016/2017 Computer Graphics Digital representation of 3D objects Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2016/17 Marco Tarini 3D Rendering Scena 3D

Dettagli

DOUBLE BUFFERING. serve a nascondere la fase di drawing utilizzato soprattutto nelle animazioni INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING

DOUBLE BUFFERING. serve a nascondere la fase di drawing utilizzato soprattutto nelle animazioni INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING DOUBLE BUFFERING INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING DOUBLE BUFFERING Z-BUFFERING LIGHTING serve a nascondere la fase di drawing utilizzato soprattutto nelle animazioni back buffer front buffer

Dettagli

Il texture fetch (o: texture lookup) Operazione molto semplice in GLSL, es: e si memorizza le coord texture (s,t) per ogni vertice

Il texture fetch (o: texture lookup) Operazione molto semplice in GLSL, es: e si memorizza le coord texture (s,t) per ogni vertice e si memorizza le coord texture (s,t) per ogni vertice Index Buffer Verex Buffer s 0 t 0 s t s t coord texture per ogni vertice Vertici in obj. space + attributi s t vertex shader pass down di ( s, t )

Dettagli

Caveat. Sintesi di Immagini. Sintesi di Immagini. Rendering: Approccio Fisico

Caveat. Sintesi di Immagini. Sintesi di Immagini. Rendering: Approccio Fisico Sintesi di Immagini Metafora fondamentale Object vs viewer Object (scene): rappresentazione digitale (forma e caratteristiche) di un oggetto reale tridimensionale Viewer: strumento che permette di otternere

Dettagli

Caveat. Object e viewer, come tutte le metafore, sono entità non definite rigidamente. La luce fa parte del viewer? Il viewer è anch esso un object?

Caveat. Object e viewer, come tutte le metafore, sono entità non definite rigidamente. La luce fa parte del viewer? Il viewer è anch esso un object? Sintesi di Immagini Metafora fondamentale Object vs viewer Object (scene): rappresentazione digitale (forma e caratteristiche) di un oggetto reale tridimensionale Viewer: strumento che permette di otternere

Dettagli

Computer Graphics. I 4 fattori che consideriamo. luce finale = lo Shading. ambient. + riflessione diffusa + riflessione speculare + emissione

Computer Graphics. I 4 fattori che consideriamo. luce finale = lo Shading. ambient. + riflessione diffusa + riflessione speculare + emissione Computer Graphics Lezione : Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2008/09 Marco Tarini lo Shading I 4 fattori che consideriamo luce finale

Dettagli

Computer Graphics. v 1. Rasterizer: lines (segmenti) la rasterizzazione from vertex to pixels. Rasterizzazione: lines (segmenti)

Computer Graphics. v 1. Rasterizer: lines (segmenti) la rasterizzazione from vertex to pixels. Rasterizzazione: lines (segmenti) Computer Graphics Università dell Insubria Corso di Laurea in Informatica la rasterizzazione from vertex to pixels Rasterizer: lines (segmenti) Vertici (punti in R 3 ) computazioni per vertice Z Vertici

Dettagli

Trasf. di rotazione (in 2D) (di un angolo β ) (x,y) x f y. (x,y ) β α. Trasf. di rotazione (in due D)

Trasf. di rotazione (in 2D) (di un angolo β ) (x,y) x f y. (x,y ) β α. Trasf. di rotazione (in due D) Tras. di rotaione in 2D di un angolo +, ρ, 2 4 / 5 U n i v e r s i t à d e l l I n s u b r i a Tras. di rotaione in due D di un angolo +, ρ, 2 4 / 5 U n i v e r s i t à d e l l I n s u b r i a Rotaione

Dettagli

2. Coordinate omogenee e trasformazioni del piano

2. Coordinate omogenee e trasformazioni del piano . Coordinate omogenee e trasformazioni del piano Nella prima sezione si è visto come la composizione di applicazioni lineari e di traslazioni porta ad una scomoda combinazione di prodotti matriciali e

Dettagli

3. Vettori, Spazi Vettoriali e Matrici

3. Vettori, Spazi Vettoriali e Matrici 3. Vettori, Spazi Vettoriali e Matrici Vettori e Spazi Vettoriali Operazioni tra vettori Basi Trasformazioni ed Operatori Operazioni tra Matrici Autovalori ed autovettori Forme quadratiche, quadriche e

Dettagli

Computer Graphics. I 4 fattori che consideriamo. luce finale = lo Shading. ambient

Computer Graphics. I 4 fattori che consideriamo. luce finale = lo Shading. ambient Computer Graphics Lezione: Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 Marco Tarini lo Shading I 4 fattori che consideriamo luce finale

Dettagli

Anno 4 Matrice inversa

Anno 4 Matrice inversa Anno 4 Matrice inversa 1 Introduzione In questa lezione parleremo della matrice inversa di una matrice quadrata: definizione metodo per individuarla Al termine della lezione sarai in grado di: descrivere

Dettagli

Costruzione di Interfacce Lezione 4 Sistemi di riferimento e trasformazioni. cignoni@iei.pi.cnr.it http://vcg.iei.pi.cnr.

Costruzione di Interfacce Lezione 4 Sistemi di riferimento e trasformazioni. cignoni@iei.pi.cnr.it http://vcg.iei.pi.cnr. Costruzione di Interfacce Lezione 4 Sistemi di riferimento e trasformazioni cignoni@iei.pi.cnr.it http://cg.iei.pi.cnr.it/~cignoni Introduzione Punti e ettori sono due cose dierse Basi e sistemi di riferimento

Dettagli

Computer Graphics. Memoria RAM nelle schede grafiche. Texture Mapping: paradigma di memoria. Concetto. Tessiture: Caso più comune.

Computer Graphics. Memoria RAM nelle schede grafiche. Texture Mapping: paradigma di memoria. Concetto. Tessiture: Caso più comune. Computer Graphics Memoria RAM nelle schede grafiche Lezione 3: Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 202/3 molti dettagli a poco prezzo:

Dettagli

Capitolo 3 Matrici. Marco Robutti. Facoltà di ingegneria Università degli studi di Pavia. Anno accademico

Capitolo 3 Matrici. Marco Robutti. Facoltà di ingegneria Università degli studi di Pavia. Anno accademico Capitolo 3 Matrici Marco Robutti Facoltà di ingegneria Università degli studi di Pavia Anno accademico 2017-2018 Tutorato di geometria e algebra lineare Definizione (Matrice) Una matrice A M R (k, n) è

Dettagli

3. Vettori, Spazi Vettoriali e Matrici

3. Vettori, Spazi Vettoriali e Matrici 3. Vettori, Spazi Vettoriali e Matrici Vettori e Spazi Vettoriali Operazioni tra vettori Basi Trasformazioni ed Operatori Operazioni tra Matrici Autovalori ed autovettori Forme quadratiche, quadriche e

Dettagli

Computer Graphics. Semitrasparenze: come? Un vecchio trucco di imaging 2D: Quando scrivo un colore nello screen buffer, invece di: eseguo:

Computer Graphics. Semitrasparenze: come? Un vecchio trucco di imaging 2D: Quando scrivo un colore nello screen buffer, invece di: eseguo: Computer Graphics Lezione 14: Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2008/09 Marco Tarini 14: alpha blending Un vecchio trucco di imaging

Dettagli

WebGL. Lezione 18: 15 Maggio 2014

WebGL. Lezione 18: 15 Maggio 2014 WebGL Lezione 18: 15 Maggio 2014 Cronologia: Grafica 3D nell Hardware In principio (giurassico informatico) postazioni specializzate La Silicon Graphics si afferma come produttrice di workstation grafiche

Dettagli

Vettori e Transformazioni Spaziali

Vettori e Transformazioni Spaziali Game Dev Verona 2014 Rappresentazione Trasformazioni Marco Tarini Vettori e Transformazioni Spaziali Mathematics for 3D Game Progr. and C.G. (3za ed) Eric Lengyel Capitoli 2, 3, 4 1 Intro Vettori n-ple

Dettagli

Local Lighting 13/01/2014. Marco Tarini - Video Game Dev - Univ Insubria (recall?) Game Engine

Local Lighting 13/01/2014. Marco Tarini - Video Game Dev - Univ Insubria (recall?) Game Engine Local Lighting (recall?) Game Engine Parte del game che si occupa di alcuni dei task comuni Scena / livello Renderer Real time transofrm + lighting Models, materials Physics engine (soft real-time) newtonian

Dettagli

Esercizi Di Geometria 1 (BAER) Canale 1 Da consegnare Lunedi 19 Ottobre

Esercizi Di Geometria 1 (BAER) Canale 1 Da consegnare Lunedi 19 Ottobre Esercizi Di Geometria (BAER Canale Da consegnare Lunedi 9 Ottobre SETTIMANA 3 (2 8 Ottobre Moltiplicazione di matrici Gli esercizi sono presi dal libro Intorduction to Linear Algebra di Serge Lang Esercizio

Dettagli

La matematica del CAD. Vettori e Matrici

La matematica del CAD. Vettori e Matrici La matematica del CAD Vettori e Matrici IUAV Disegno Digitale Camillo Trevisan I programmi CAD riducono tutti i problemi geometrici in problemi analitici: la proiezione di un punto su un piano viene, ad

Dettagli

Grafica Real-Time, Hardware Grafico e Linguaggi di Shading. Alessandro Martinelli

Grafica Real-Time, Hardware Grafico e Linguaggi di Shading. Alessandro Martinelli Grafica Real-Time, Hardware Grafico e Linguaggi di Shading Alessandro Martinelli Grafica Real Time Il concetto di 'Real Time' in ambito grafico ha una valenza molto particolare: Fino agli anni '80, solo

Dettagli

Computer Graphics. Se non si vede, che non ci sia CULLING. Notazione. Lo chiamiamo culling se si scartano primitive intere.

Computer Graphics. Se non si vede, che non ci sia CULLING. Notazione. Lo chiamiamo culling se si scartano primitive intere. Computer Graphics Lezione 6: culling: se c è ma non si vede! Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2010/11 Marco Tarini Se non si vede,

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica al calcolatore - Computer Graphics Grafica al calcolatore - Computer Graphics Pipeline di rasterizzazione 13/03/17 Grafica 2017 1 Rasterization pipeline Abbiamo descritto la procedura intuitiva del ray-casting Abbiamo tuttavia già visto

Dettagli

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO V Indice

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO V Indice LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 20.V.2015 VINCENZO MARRA Indice Parte 1. Input/Output standard da file 2 Esercizio 1 2 Eco di file

Dettagli

Rappresentazioni alternative dell orientamento

Rappresentazioni alternative dell orientamento Corso di Robotica 1 Rappresentazioni alternative dell orientamento (angoli di Eulero e roll-pitch-yaw) Trasformazioni omogenee Prof. lessandro De Luca Robotica 1 1 Rappresentazioni minimali matrici di

Dettagli

1 Trasformazione di vettori e 1-forme per cambiamenti

1 Trasformazione di vettori e 1-forme per cambiamenti PRIMA ESERCITAZIONE Trasformazione di vettori e -forme per cambiamenti di coordinate Consideriamo lo spazio di Minkowski in coordinate cartesiane {x } (x,x,x 2,x 3 ). La sua metrica è ds 2 (dx ) 2 +(dx

Dettagli

Geometria BAER Canale I Esercizi 11

Geometria BAER Canale I Esercizi 11 Geometria BAER Canale I Esercizi Esercizio. Scrivere la matrice delle seguenti trasformazioni ortogonali del piano (a Proiezione ortogonale sulla retta x + y = 0 (b Rotazione di π/4 seguita da riflessione

Dettagli

Introduzione. Costruzione di Interfacce Primi passi in OpenGL. Sierpinski Gasket. Sierpinski gasket. Event driven programming. Stuttura del programma

Introduzione. Costruzione di Interfacce Primi passi in OpenGL. Sierpinski Gasket. Sierpinski gasket. Event driven programming. Stuttura del programma Introduzione Costruzione di Interfacce Primi passi in OpenGL cignoni@iei.pi.cnr.it http://vcg.iei.pi.cnr.it/~cignoni Abbiamo visto Cosa significa rendering L approccio object viewer Mettiamo in pratica

Dettagli

Aritmetica dei Calcolatori 2

Aritmetica dei Calcolatori 2 Laboratorio di Architettura 1 aprile 2011 1 Operazioni bit a bit 2 Rappresentazione binaria con segno 3 Esercitazione Operazioni logiche bit a bit AND OR XOR NOT IN OUT A B A AND B 0 0 0 0 1 0 1 0 0 1

Dettagli

Computer Graphics. Se non si vede, che non ci sia CULLING. Tipi di Culling. Notazione. Occlusion culling

Computer Graphics. Se non si vede, che non ci sia CULLING. Tipi di Culling. Notazione. Occlusion culling Computer Graphics Lezione 6: culling: se c è ma non si vede! Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2011/12 Marco Tarini Se non si vede,

Dettagli

Laboratorio di Matematica e Informatica 1

Laboratorio di Matematica e Informatica 1 Laboratorio di Matematica e Informatica 1 Matteo Mondini Antonio E. Porreca matteo.mondini@gmail.com porreca@disco.unimib.it Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi

Dettagli

Geometria analitica - Esercizi 6

Geometria analitica - Esercizi 6 Geometria analitica - Esercizi 6 1. Si studi la conica di equazione 4 5 x2 + 24 5 xy + 11 5 y2 + 5x + 10y + 89 16 = 0, e se ne disegni il grafico. 2. Si studi dal punto di vista affine (senza determinare

Dettagli

Open Source 3D Engine. OpenGL Rendering System. Il Framework

Open Source 3D Engine. OpenGL Rendering System. Il Framework Open Source 3D Engine OpenGL Rendering System Il Framework I moderni mezzi di programmazione, consentono a noi sviluppatori di utilizzare librerie avanzate e testate che si prestano eccellentemente allo

Dettagli

Robotica I. Test 11 Novembre 2009

Robotica I. Test 11 Novembre 2009 Esercizio 1 Robotica I Test 11 Novembre 009 Si consideri una rappresentazione minimale dell orientamento data dalla seguente sequenza di angoli definiti rispetto a assi fissi: α intorno a Y ; β intorno

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica al calcolatore - Computer Graphics Grafica al calcolatore - Computer Graphics Pipeline di rasterizzazione 29/02/16 Grafica 2015 1 Rasterization pipeline Abbiamo descritto la procedura intuitiva del ray-casting Abbiamo tuttavia già visto

Dettagli

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario Cicli Concetti di base (MATrix LABoratory) programma interattivo per calcolo

Dettagli

Introduzione alla programmazione orientata agli oggetti

Introduzione alla programmazione orientata agli oggetti Introduzione alla programmazione orientata agli oggetti Oggetti, metodi e proprietà Nelle seguenti pagine, non solo si conosceranno nuovi concetti e nuovi termini, ma si vedranno anche alcune utili funzioni

Dettagli

ANALISI E SVILUPPO DI SHADER GRAFICI IN LINGUAGGIO GLSL ANALYSIS AND DEVELOPMENT OF GRAPHICS SHADERS USING GLSL

ANALISI E SVILUPPO DI SHADER GRAFICI IN LINGUAGGIO GLSL ANALYSIS AND DEVELOPMENT OF GRAPHICS SHADERS USING GLSL UNIVERSITÀ DEGLI STUDI DI PARMA FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica ANALISI E SVILUPPO DI SHADER GRAFICI IN LINGUAGGIO GLSL ANALYSIS AND DEVELOPMENT OF GRAPHICS SHADERS USING

Dettagli

Geometria BAER I canale Foglio esercizi 2

Geometria BAER I canale Foglio esercizi 2 Geometria BAER I canale Foglio esercizi Esercizio. ( ) Data la matrice, determinare tutte le matrici X Mat( ) tali che AX = 0 e tutte le matrici Y Mat( ) tali che Y 0. ( ) ( ) ( ) x y x + z y + w Soluzione:

Dettagli

Realtà Virtuale: il presente, il passato, il Shading futuro

Realtà Virtuale: il presente, il passato, il Shading futuro Lighting Illuminazione Determinare le caratteristiche della luce che arriva da un punto della scena all occhio di chi la osserva Problema computazionalmente oneroso Fenomeni fisici correlati: Illuminazione

Dettagli

1 Trasformazione di vettori e 1-forme per cambiamenti

1 Trasformazione di vettori e 1-forme per cambiamenti Trasformazione di vettori e -forme per cambiamenti di coordinate Consideriamo lo spazio di Minkowski in coordinate cartesiane {x µ } (x,x,x 2,x 3 ). La sua metrica è ds 2 (dx ) 2 +(dx ) 2 +(dx 2 ) 2 +(dx

Dettagli

1 Cambiamenti di riferimento nel piano

1 Cambiamenti di riferimento nel piano 1 Cambiamenti di riferimento nel piano Siano date due basi ortonormali ordinate di V : B = ( i, j) e B = ( i, j ) e supponiamo che i = a i + b j j = c i + d j allora per un generico vettore v V abbiamo

Dettagli

x1 + 1 x T p. x 2

x1 + 1 x T p. x 2 Geometria e Algebra Trasformazioni del piano Soluzioni Siano p e q i Trovare le formule per la traslazione T p ii Calcolare T p T p iii Calcolare T p T p iv Calcolare T q T p T p T q Sol i Si ha ii iii

Dettagli

Ripulire. Aggiungere al mainform. CIGLWidget. MainForm. designer. I dati principali dell app QTMoebius erano contenuti nella classe CIMoebius

Ripulire. Aggiungere al mainform. CIGLWidget. MainForm. designer. I dati principali dell app QTMoebius erano contenuti nella classe CIMoebius Ripulire Costruione di Interfacce Leione 1 cignoni@iei.pi.cnr.it http://vcg.isti.cnr.it/~cignoni I dati principali dell app QTMoebius erano contenuti nella classe CIMoebius chi possedeva l oggetto? soluione

Dettagli

INFORMATICA GRAFICA. 28 Aprile Trasformazioni - Illuminazione. Michele Antolini

INFORMATICA GRAFICA. 28 Aprile Trasformazioni - Illuminazione. Michele Antolini Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 28 Aprile Trasformazioni - Illuminazione michele.antolini@mail.polimi.it Trasformazioni Durante il ridisegno della

Dettagli

Game Dev Insubria 2014/ /10/2015. Funzione matematica prende punti 3D / vettori 3D restituisce punti 3D / vettori 3D

Game Dev Insubria 2014/ /10/2015. Funzione matematica prende punti 3D / vettori 3D restituisce punti 3D / vettori 3D Game Dev 2015/2016 Univ Insubria Scene composite: lo scene graph Marco Tarini Recap: trasformazioni spaziali Funzione matematica prende punti 3D / vettori 3D restituisce punti 3D / vettori 3D Es: traslazioni,

Dettagli

Geometria BAER Canale A-K Esercizi 11

Geometria BAER Canale A-K Esercizi 11 Geometria BAER 6-7 Canale A-K Esercizi Esercizio. Scrivere la matrice delle seguenti trasformazioni ortogonali del piano (a Proiezione ortogonale sulla retta x + y = (b Rotazione di π/4 seguita da riflessione

Dettagli

LE MATRICI NEL PIANO

LE MATRICI NEL PIANO LE MATRICI NEL PIANO A cura di Buon Laura, Carniel Chiara, Lucchetta Jessica, Spadetto Luca Realizzato nell'ambito del Progetto Archimede con la supervisione del Prof FZampieri ISISS MCasagrande, Pieve

Dettagli

Vettori e Matrici. Corso di Calcolo Numerico. 24 Aprile 2018

Vettori e Matrici. Corso di Calcolo Numerico. 24 Aprile 2018 Vettori e Matrici 24 Aprile 2018 Richiami In MATLAB, ogni variabile ha una struttura di tipo vettoriale o array. Un array è un insieme di valori ordinati, cioè memorizza più dati all interno di una struttura

Dettagli

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici

Dettagli

Database delle informazioni geometriche per descrivere il tetraedo (riferimento locale al tetraedo)

Database delle informazioni geometriche per descrivere il tetraedo (riferimento locale al tetraedo) Un esempio DIDATTICO esplicito relativo ai cambiamenti di coordinate e alla applicazione delle matrici di trasformazione relative alla formazione della immagine di un tetraedo. Passo 1. Definizione dell'oggetto:

Dettagli

INTRODUZIONE A MATLAB

INTRODUZIONE A MATLAB INTRODUZIONE A MATLAB INTRODUZIONE A MATLAB MATLAB (MATrix LABoratory) è un linguaggio di programmazione per applicazioni scientifiche (elaborazione numerica dei segnali, progetto di simulatori, sintesi

Dettagli

Obiettivi. Costruzione di interfacce. Esame. Programma. Strumenti. Concetti di base

Obiettivi. Costruzione di interfacce. Esame. Programma. Strumenti. Concetti di base Obiettivi Costruzione di interfacce Paolo Cignoni p.cignoni@isti.cnr.it http://vcg.isti.cnr.it/~cignoni Progettazione e realizzazione di applicazioni interattive, con un interfaccia utente non banale che

Dettagli

Piccola rassegna di Algebra delle Matrici

Piccola rassegna di Algebra delle Matrici Piccola rassegna di Algebra delle Matrici 1 Introduzione Questa nota va intesa semplicemente come un brevissimo sommario di alcuni concetti relativi alle Matrici, che dovete utilizzare nell ambito dello

Dettagli

Lighting. Realtà Virtuale: il presente, il passato, Lighting e il Shading futuro

Lighting. Realtà Virtuale: il presente, il passato, Lighting e il Shading futuro ighting Illuminazione Determinare le caratteristiche della luce che arriva da un punto della scena all occhio di chi la osserva Problema computazionalmente oneroso Fenomeni fisici correlati: Illuminazione

Dettagli

Cinematica. La cinematica riguarda lo studio delle 4 funzioni che legano le variabili giunto con le variabili cartesiane

Cinematica. La cinematica riguarda lo studio delle 4 funzioni che legano le variabili giunto con le variabili cartesiane Cinematica La cinematica riguarda lo studio delle 4 funzioni che legano le variabili giunto con le variabili cartesiane Cinematica diretta di posizione Cinematica inversa di posizione Cinematica diretta

Dettagli

Introduzione a MATLAB

Introduzione a MATLAB Introduzione a MATLAB Laboratorio 1 Segnali per le Telecomunicazioni Prof. Prati Claudio Maria Autore: Federico Borra Politecnico di Milano, DEIB Email: federico.borra@polimi.it Marzo 17, Ultima revisione:

Dettagli

GAME DEV: tools programming. Parte 2: programming

GAME DEV: tools programming. Parte 2: programming GAME DEV: tools programming Parte 2: programming Marco Tarini Tools per programmare un tool: 1. Tools per GUI programming 2. API grafiche (opengl, directx) 3. Interfacciamento con SO (sist. op.) finestre

Dettagli

WEBGL FOR DUMMIES [PARTE SETTE]: USO DELLE TEXTURE

WEBGL FOR DUMMIES [PARTE SETTE]: USO DELLE TEXTURE WEBGL FOR DUMMIES [PARTE SETTE]: USO DELLE TEXTURE Per dare infatti più realismo alla scena e contemporaneamente arricchirla, una pratica molto usata è quella di "incollare" sulle nostre superfici delle

Dettagli

Compito di Meccanica Razionale M-Z

Compito di Meccanica Razionale M-Z Compito di Meccanica Razionale M-Z 11 giugno 213 1. Tre piastre piane omogenee di massa m aventi la forma di triangoli rettangoli con cateti 4l e 3l sono saldate lungo il cateto più lungo come in figura

Dettagli

Grafica al Calcolatore Rasterizzazione - 1. Introduzione

Grafica al Calcolatore Rasterizzazione - 1. Introduzione Grafica al Calcolatore Rasterizzazione - 1 Introduzione Grafica al Calcolatore Rasterizzazione - 2 Rasterizzazione Grafica al Calcolatore Rasterizzazione - 3 In sintesi, la rasterizzazione prende un singolo

Dettagli

Rendering I - geometric processing

Rendering I - geometric processing Rendering I - geometric processing Dove si descrivono i principali metodi di alto livello utilizzati per ottenere una immagine a partire da una descrizione degli oggetti 3D Introduzione Trasformazioni

Dettagli

Computazione per l interazione naturale: Richiami di algebra lineare

Computazione per l interazione naturale: Richiami di algebra lineare Computazione per l interazione naturale: Richiami di algebra lineare Corso di Interazione uomo-macchina II Prof. Giuseppe Boccignone Dipartimento di Informatica Università di Milano boccignone@di.unimi.it

Dettagli

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I Novembre 06 Esercizio Valutazione espressioni con puntatori Valutare e definire il tipo delle seguenti espressioni. Inserire le parentesi per sotolineare l ordine della valutazione

Dettagli

OpenGL: visualizzazione 3D

OpenGL: visualizzazione 3D OpenGL: visualizzazione 3D La visualizzazione di una scena avviene come se si stesse usando una macchina fotografica per la quale si può controllare la posizione nello spazio 3D; si può cambiare il tipo

Dettagli

update Intro Stato Pallina che sembri tale Stato

update Intro Stato Pallina che sembri tale Stato update Costruzione di Interfacce Lezione 15 Moebius 3 cignoni@isti.cnr.it http://vcg.isti.cnr.it/~cignoni nelle versioni precedenti c era un piccolo bug: in risposta ad un evento resize si faceva anche

Dettagli

I sistemi lineari di n equazioni in n incognite

I sistemi lineari di n equazioni in n incognite I sistemi lineari I sistemi lineari di n equazioni in n incognite I sistemi lineari di n equazioni in n incognite, sono formati da equazioni di primo grado, in cui le incognite hanno tutte esponente uguale

Dettagli

Elementi di teoria delle trasformazioni

Elementi di teoria delle trasformazioni Elementi di teoria delle trasformazioni LA STRUTTURA DI GRUPPO La struttura di gruppo Un gruppo è un insieme G in cui è definita una operazione ("leggere tondino") inoltre c a,b 2 G allora a b 2 G d 1

Dettagli

Fondamenti di Grafica 3D Sistemi di riferimento e trasformazioni.

Fondamenti di Grafica 3D Sistemi di riferimento e trasformazioni. Fondamenti di Grafica D Sistemi di riferimento e trasformazioni paolo.cignoni@isti.cnr.it http://cg.isti.cnr.it/~cignoni Introduzione Punti e ettori sono due cose dierse Basi e sistemi di riferimento (coordinate

Dettagli

Geometria BAER Canale I Esercizi 12

Geometria BAER Canale I Esercizi 12 Geometria BAER Canale I Esercizi Alcuni di questi esercizi forse sono un po difficili visto che abbiamo fatto questa parte un po in fretta, ma si può sempre provare. Esercizio. Si scrivano le equazioni

Dettagli

Prodotto scalare e prodotto vettoriale. Elisabetta Colombo

Prodotto scalare e prodotto vettoriale. Elisabetta Colombo Corso di Approfondimenti di Matematica Biotecnologie, Anno Accademico 2010-2011, http://users.mat.unimi.it/users/colombo/programmabio.html Vettori Vettori 1 2 3 4 di di Ricordiamo il in R n Dati a = (a

Dettagli

Università degli Studi di Bergamo Modulo di Geometria e Algebra Lineare (vecchio programma) 2 settembre 2013 Tema A

Università degli Studi di Bergamo Modulo di Geometria e Algebra Lineare (vecchio programma) 2 settembre 2013 Tema A Università degli Studi di Bergamo Modulo di Geometria e Algebra Lineare (vecchio programma) settembre 013 Tema A Tempo a disposizione: ore. Calcolatrici, libri e appunti non sono ammessi. Ogni esercizio

Dettagli

Nome Cognome Matricola. e una base di R 2 che la diagonalizza

Nome Cognome Matricola. e una base di R 2 che la diagonalizza Geometria e Algebra Lineare / II parte Scritto del 14/2/19 Quesiti Nome Cognome Matricola 1. Se A M 5 5 (C) e p A (t) = (t+1) 3 (t i) 2, è possibile che A sia diagonalizzabile? Spiegare. 2. Trovare gli

Dettagli

La trasformazione di camera

La trasformazione di camera La trasformazione di camera 1 Introduzione Per rappresentare un oggetto tridimensionale nello spazio (scena) in un piano bidimensionale (spazio delle immagini, quale il monitor o un foglio) è necessario

Dettagli

0.1. MATRICI SIMILI 1

0.1. MATRICI SIMILI 1 0.1. MATRICI SIMILI 1 0.1 Matrici simili Definizione 0.1.1. Due matrici A, B di ordine n si dicono simili se esiste una matrice invertibile P con la proprietà che P 1 AP = B. Con questa terminologia dunque

Dettagli

Fondamenti di Informatica A.A. 2016/17

Fondamenti di Informatica A.A. 2016/17 Fondamenti di Informatica Int ro d u z i o n e a l l a p ro g ra m m a z i o n e i n M AT L A B : E s e rc i ta z i o n e 2 P ro f. C h r i st i a n E s p o s i to C o rs o d i L a u re a i n I n g e g

Dettagli

Processo di rendering

Processo di rendering Processo di rendering 1 Trasformazioni di vista Trasformazioni di vista Il processo di visione in tre dimensioni Le trasformazioni di proiezione I parametri della vista 3D I sistemi di coordinate 2 I parametri

Dettagli