Loading
Note di Apprendimento
Study Reminders
Support
Text Version

Trasformazioni in 3D

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Ciao e benvenuto alla lezione numero 12 nella grafica del corso Computer. Quindi, siamo, come potrete riscuotere, discutendo la pipeline grafica, e come stiamo facendo per le ultime lezioni, inizieremo con l'avere un risguardo alle fasi di pipeline in modo da poterla ricordare meglio.Così, ci sono 5 tappe nella pipeline grafica, la prima fase è la rappresentazione dell'oggetto, la seconda fase è la modellazione o la trasformazione geometrica terza fase è l'illuminazione o l'assegnazione del colore ai punti sugli oggetti, la quarta fase sta visualizzando pipeline dove trasferiamo un oggetto 3D ad un piano di visualizzazione 2D. La trasformazione avviene attraverso 5 sub fasi di visualizzazione della trasformazione, clipping, rimozione della superficie nascosta, trasformazione della proiezione e finestra per visualizzare i trasformatori e la quinta e ultima fase è la conversione della scansione. Qui, in realtà mettiamo in mappa l'oggetto piano della vista sulla griglia dei pixel sullo schermo.E come abbiamo accennato in precedenza, ognuna di queste fasi si svolge in specifici sistemi di coordinate, la rappresentazione dell'oggetto è fatta in sistema di coordinate locali o oggetto, la trasformazione di modellazione qui in realtà trasferiamo da locale a sistema di coordinate mondiali, l'illuminazione avviene in coordinate mondiali, poi la visualizzazione della pipeline avviene in 3 sistemi di coordinate; il coordinamento mondiale, la coordinata vista e poi il dispositivo si coordinano. E infine, la conversione di scansione avviene nel sistema di coordinate dello schermo. Quindi, le diverse coordinate sono coinvolte in diverse fasi della pipeline. Tra queste fasi, finora abbiamo discusso la prima rappresentazione degli oggetti di scena. Attualmente stiamo discutendo la seconda fase che è la modellazione o la trasformazione geometrica. E nell'ultimo paio di lezioni abbiamo discusso dell'idea di trasformazione di base tra cui come eseguire complicate trasformazioni in termini di sequenza di trasformazione di base, ma tutta la nostra discussione si basava su trasformazioni 2D.In altre parole, stavamo eseguendo trasformazioni in frame di riferimento dimensionale 2. Ora, diamo uno sguardo alla trasformazione 3D. Dunque, la trasformazione 3D sarà l'argomento di discussione per la nostra lezione di oggi.Così, quando parliamo di trasformazione 3D, essenzialmente ci riferiamo a tutte le trasformazioni di base che abbiamo già discusso in 2D ma in forma modificata. E le trasformazioni sono in realtà uguali a 2D, ma la loro rappresentazione è diversa. In 2D abbiamo discusso 4 trasformazioni di base, ovvero la traduzione, la rotazione, la scalatura e l'aratura. Ora, questi 4 restano le trasformazioni di base in 3D parola anche. Così, prima avevamo usato un sistema di coordinate omogeneo per rappresentare la trasformazione. Utilizzeremo lo stesso sistema di coordinate qui per rappresentare anche la trasformazione 3D, ma con la differenza. Ora, in precedenza nella rappresentazione della matrice, abbiamo usato 3 × 3 matrici nel sistema di coordinate omogenee per rappresentare ciascuna delle trasformazioni. In 3D usiamo 4 × 4 matrici per rappresentare ogni trasformazione. Tuttavia, il fattore omogeneo h rimane lo stesso che è h=1.Così, essenzialmente stiamo usando invece di 3 × 3, stiamo usando 4 × 4 matrici di trasformazione per rappresentare una trasformazione in 3D, e il fattore omogeneo h rimane pari a 1 perché ci occupiamo di trasformazione modellistica. Ma ci sono certe differenze e dovremmo tenere a mente queste differenze, le differenze sono primariamente rispetto alle 2 trasformazioni; la rotazione e lo shearing. è diverso.In rotazione in precedenza, abbiamo ipotizziamo che le rotazioni si stiano svolgendo rispetto all'asse z o ad un qualche asse che è parallelo ad esso. Quella era la nostra supposizione base nelle rotazioni 2D. In 3D questo presupposto non è più valido, qui abbiamo 3 rotazioni di base rispetto ad ogni asse di principio x, y e z. In precedenza avevamo definito una sola rotazione rispetto all'asse z. Ora, in 3D stiamo definendo 3 rotazioni di base rispetto all'asse di principio 3 x, y e z, così sono cambiate le trasformazioni di base. Così, prima ne avevamo uno per la rotazione, ora ne abbiamo 3 anche per la rotazione. Anche in precedenza, non abbiamo affrontato questa situazione quando abbiamo definito la rotazione rispetto all'asse z. Ora qui, matrice di trasformazione che dovremmo utilizzare per rappresentare la rotazione su qualsiasi asse arbitrario che significhi, qualsiasi asse che non sia l'asse di principio, è più complicato che in 2D. Così, in 2D possiamo avere solo z come asse di principio, in 3D abbiamo 3 asse di principio, dobbiamo prendere in considerazione tutti i 3.Così, quando cerchiamo di definire una rotazione arbitraria rispetto a qualsiasi asse arbitrario poi derivare la matrice di trasformazione diventa più complicato. E anche la forma della matrice è più complicata di quello che abbiamo incontrato in 2D. Avremo uno sguardo a questa derivazione di matrice di rotazione rispetto a qualsiasi asse arbitrario successivamente nella lezione che riguarda la rotazione.Ora come ho detto, l'aratura sta avendo anche qualche differenza rispetto al suo omologo 2D. In realtà è più complicato rispetto a quello che abbiamo visto in 2D.Così, iniziamo la nostra discussione con lo shearing in 3D poi parleremo delle differenze di rotazione e poi vedremo come ricavare una matrice di trasformazione composita per la rotazione su qualsiasi asse arbitrario. Ora, quando si parla di aratura, come abbiamo visto prima stiamo cercando di cambiare in sostanza la forma dell'oggetto. Quindi, essenzialmente per introdurre qualche deformità nella forma oggetto. Ora questa distorsione o deformazione può essere definita lungo 1 o 2 direzioni alla volta mantenendo 1 direzione fissa che è 1 vincola che seguiamo per definire lo shearing in 3D.Ad esempio, se cerchiamo di gustare lungo x e y direzioni poi dobbiamo tenere fisso la direzione di z direzione, la forma generale è diversa da quella in 2D. Infatti possiamo definire 6 fattori di taglio. Raccogliere quel fattore di taglio si riferisce alla quantità di distorsione o deformazione che vogliamo introdurre lungo un asse particolare. Così, in questo caso in caso di 3D shearing possiamo definire 6 fattori di taglio e ogni fattore può assumere qualsiasi valore reale o zero se non si svolge alcuna guaina lungo quella particolare direzione, quindi quando il fattore di taglio è di 0 che significa, lungo quella direzione non c'è l'avambraccio. E rispetto ai sei fattori, la matrice di taglio sembra una cosa del genere, dove shxy, shxz, shyx, shyz, shzx e shzy sono i sei fattori di ricerca.Tra questi fattori shxy e shxz vengono utilizzati per gustare lungo y e z direzioni rispettivamente lasciando invariato il valore di coordinate x. Prima abbiamo accennato che mentre si esibisce una direzione una direzione deve essere lasciata invariata. Quindi, in questo caso, stiamo eseguendo lo shearing lungo y e z direzioni mentre, lo shearing lungo x direzione rimane 0.Allo stesso modo, shyx e shyz si riferiscono ai fattori di taglio lungo x e z direzione quando il valore di coordinate y rimane invariato. E allo stesso modo, gli altri 2 fattori di taglio possono essere definiti che sono shzx e shzy, questi 2 si riferiscono all'arredamento lungo x e y direction lasciando z valore invariato. Così, ogni coppia in realtà si riferisce all'aratura lungo 2 direzioni mentre le terze direzioni rimangono invariate che significa arbusto lungo che la terza direzione non ha luogo.Così, questo è circa l'aratura come si può vedere è più complicato rispetto alla matrice di shearing che abbiamo visto per la trasformazione 2D che è perché ora abbiamo 6 fattori di taglio. Ora, diamo uno sguardo ad altre matrici di trasformazione di base di base.Traduzione è la più semplice e la forma rimane quasi la stessa con l'aggiunta di un'altra dimensione. Quindi, abbiamo tx riferiti alla traduzione lungo x direzione, ty riferendosi alla traduzione lungo y direction e tz riferiti a tr. Come ho detto prima, per la rotazione, non abbiamo una matrice unica. Abbiamo invece 3 matrici separate, ciascuna matrice corrispondente alla rotazione lungo un determinato asse di principio. Quindi, quindi, visto che ci sono 3 asse, quindi abbiamo 3 matrici di rotazione lungo la direzione z. Rotazione sull'asse x, quando l'angolo di rotazione è sguardo sembra qualcosa come questa matrice.Rotazione lungo l'asse y di nuovo, assumendo l'angolo di rotazione da provare qui.E infine, la rotazione sull'asse z da un angolo angoli viene mostrata qui in questa matrice. Quindi, abbiamo 3 matrici che rappresentano 3 rotazioni di base; una di asse x, una di asse y e una circa l'asse z.Scaling è anche simile alla controparte 2D, Sx è il fattore di scaling lungo x direzione, Sy è il fattore di scala lungo y direction, Sz è il fattore di scaling lungo la direzione z. Quindi, se non vogliamo eseguire scaling lungo una determinata direzione, impostiamo semplicemente quel particolare fattore di scaling come 1. Quindi, se non vogliamo scaldare lungo diciamo la direzione y, allora imposteremo Sy=1. E se si può riraccogliere il fattore di scaling inferiore a 1 significa, in quella particolare direzione vogliamo ridurre la dimensione e il fattore di scala maggiore di 1 significa in quella particolare direzione che vogliamo aumentare la dimensione.Così, la scalatura è correlata alla dimensione, l'arredamento è correlato alla forma, alla traslazione e alla rotazione è correlato alla posizione. Quindi, poi abbiamo in 3D più di 3 matrici di base, ne abbiamo una per la traduzione, una per la scaletta, una per l'aratura e tre per la rotazione così totale 6 matrici di base che rappresentano 6 trasformazioni di base in 3D. L'altra differenza che ho menzionato rispetto alla trasformazione 2D è la rotazione di un oggetto rispetto a qualsiasi asse arbitrario che significhi, qualsiasi asse che non sia uno degli assi di principio x, y e z.Quindi, qual è l'idea che vogliamo ruotare un oggetto da un angolo θ in senso orario intorno ad un asse di rotazione che passa per 2 punti P1 e P2. Quindi, qui stiamo definendo questi due punti perché con questi due punti possiamo definire un segmento di linea o di linea che rappresenta l'asse di rotazione. Quindi, a meno che non abbiamo citato i punti, sarà difficile rappresentare l'asse. Quindi, allora abbiamo un asse definito dai 2 punti, abbiamo un angolo di rotazione theta, che è in senso antiorario.Ricordiamo che stiamo usando una convenzione che se l'angolo di rotazione è in senso orario allora è un angolo positivo, se l'angolo di rotazione è in senso orario, allora lo consideriamo come un angolo negativo. Quindi, se stiamo ruotando l'oggetto da un angolo   in senso orario, allora sarà semplicemente θ ma se stiamo ruotando lo stesso oggetto da un angolo θ in senso orario, poi sostituiremo θ con - θ. Ora, vediamo cosa succede quando cerchiamo di eseguire questa rotazione rispetto a qualsiasi asse arbitrario, come possiamo ricavare una matrice composita che rappresenti questa rotazione.L'idea è illustrata nella serie di passi. Così, questa figura in alto a sinistra mostra la situazione iniziale in cui P1 e P2 definiscono l'asse di rotazione rappresentato con la linea tratteggiata rispetto al telaio di riferimento 3D o al telaio di coordinate. Ora poi, al passo 1, cosa facciamo? Traduce la linea all'origine. Ricordate, in precedenza nella nostra discussione sulla composizione della trasformazione, abbiamo discusso di come combinare più trasformazioni.Quindi, ecco cosa abbiamo detto che se stiamo cercando di eseguire qualche operazione di base rispetto a qualsiasi punto fisso arbitrario diverso dall'origine, allora cosa seguiamo? Noi prima traduce il punto all'origine, eseguiamo la trasformazione di base e poi la traduce nella sua posizione originale. Quindi, lo stesso principio di base che stiamo seguendo qui, ci viene dato l'asse arbitrario o la linea fissa arbitraria. Nel primo passo lo traduce all'origine che significa che l'asse passa attraverso l'origine.Al passo 2, cosa facciamo? Ora l'asse passa per l'origine, ma non c'è alcuna garanzia che si allinei con qualsiasi asse di principio. Quindi, in questo passo 2, allineiamo la linea con l'asse z nella nostra particolare spiegazione, ma non è necessario allinearsi sempre con l'asse z, invece è sempre possibile allinearlo anche con asse x o y. Ma supponiamo che lo stiamo allineando con l'asse z. Quindi, allora che comporta la rotazione su asse x e y.Così, ora il nostro asse arbitrario è allineato con l'asse z. Quindi, la rotazione avverrà intorno o sull'asse z che facciamo al Passo 3, applichiamo la rotazione sull'asse z. Dopo che la rotazione è fatta al passo 4, quello che facciamo è ruotare la linea al suo orientamento originale. Così, quando l'abbiamo portato o tradotto nel passo 1 per passarlo all'origine, ha avuto un orientamento. Così al passo 4, lo restituiamo a quell' orientamento e al passo 5 o al passo finale, lo tradutiamo nella sua posizione originaria.Così al passo 4 la stiamo restituendo al suo orientamento originale e al passo 5 lo stiamo traducendo alla sua posizione originaria. Quindi, questi 5 passi sono necessari per costruire la matrice composita che rappresenta la rotazione di un oggetto rispetto a qualsiasi asse arbitrario. Quindi, cerchiamo di ricavarlo allora. Come abbiamo visto nella figura, quindi ci sono 5 trasformazioni. Quindi, la matrice composita o la finale finale, la matrice di trasformazione finale sarebbe una composizione di queste 5 trasformazioni di base.Così, la prima trasformazione è la traduzione. Tradurre la linea in modo che passi attraverso l'origine. Ora, l'importo della traduzione sarebbe meno x, meno y, meno z da quando ci stiamo muovendo lungo la direzione negativa z dove x, y, z è la coordinata di P2, uno degli endpoint.Poi al passo 2, allineiamo la linea all'asse z, ma come ho detto non serve essere sempre l'asse z, può essere x o asse y anche. Quindi, per fare quello che dobbiamo fare? Dobbiamo eseguire alcune rotazioni su asse x e y. Per prima cosa, supponiamo che prima stiamo ruotando la linea su x asse per mettere l'asse sul piano x - z e l'angolo di rotazione è α. Poi, lo stiamo ruotando sull'asse y per allineare l'asse con l'asse z.Così, prima lo ruottiamo sull'asse x per metterlo sul piano x - z e poi lo ruottiamo sull'asse y per allinearlo con l'asse z. Così, nel primo caso l'angolo di rotazione ci lascia denotare da α e nel secondo caso, diciamocelo per mezzo, entrambi sono la rotazione anticlockwise così entrambe sono positive in questa fase.Poi nella fase 3, cosa facciamo? Ora abbiamo allineato l'asse con l'asse z e poi eseguiamo la rotazione sull'asse z che è il nostro obiettivo originale. Quindi, usiamo la matrice di rotazione rispetto all'asse z, quindi qui θ è l'angolo di rotazione dell'oggetto. Ricordate che questo angolo di rotazione θ rispetto all'asse arbitrario, ora lo stiamo usando per ruotare sull'asse z perché abbiamo allineato asse arbitrario con l'asse z. Poi, al passo 4 e 5, invertiamo le operazioni che abbiamo eseguito al passo 1 e 2. Così prima prendiamo la linea al suo allineamento originale, che comporta la rotazione inversa su y e x asse per riportare l'asse di rotazione al suo orientamento originale. Mentre si allineava, abbiamo ruotato rispetto a x prima e poi y. Da ora stiamo invertendo l'operazione, quindi la ruottiamo rispetto a y prima e poi x.E nel Passo 5, cosa facciamo? Lo si traduce poi nella sua posizione originaria, che è l'ultimo passo. Quindi, allora quale sarebbe la matrice composita?Possiamo ottenerlo per moltiplicazione di matrice e seguiremo il diritto di sinistra. Così, prima eseguiamo la traduzione per prendere la linea che passa per l'origine, poi abbiamo eseguito una rotazione su x asse da un angolo α per portare la linea sul piano x - z poi eseguiamo una rotazione da un angolo che avvolge l'asse y per allinearlo con asse z, poi abbiamo eseguito la rotazione effettiva da un angolo θ rispetto all'asse z. Poi invertiamo i passi precedenti che è prima eseguiamo la rotazione rispetto a y, poi la rotazione rispetto a x per la stessa cifra d'angolo come nei casi precedenti e poi la conversione inversa.Ora, dato che ci stiamo ruotando in inverso di quello che abbiamo fatto al passo 2, ora queste rotazioni inverse possono essere semplicemente rappresentate da un cambio di segno dell'angolo. Quindi, prima se l'angolo era più alto di quanto non lo sarà - qui e se l'angolo era α, allora sarà - α qui. Quindi, quando la ruottiamo su x asse con α in caso di rotazione inversa ruoterà circa x asse da - α. Allo stesso modo, abbiamo ruotato qui con il vaccino, qui ruoteremo per - minuti. Quindi, la rotazione inversa significa cambiare l'angolo di rotazione perché dal contatore in senso orario ci stiamo ruotando in senso orario.Così, queste matrici, moltiplicate nella particolare sequenza mostrata qui ci daranno la matrice composita per ruotare un oggetto da un angolo θ circa qualsiasi asse arbitrario di rotazione. Così è in sintesi, cosa ci sono nella trasformazione 3D. Quindi, è perlopiù lo stesso con la trasformazione 2D con alcune differenze. La prima differenza è che in un sistema di coordinate omogenee, ora richiediamo 4 × 4 matrici invece di 3 × 3 matrici per rappresentare ogni trasformazione.Poi in precedenza abbiamo definito 4 trasformazioni di base ovvero, traduzione, rotazioni, scaling e shearing nel contesto della trasformazione 2D. Ora abbiamo 6 trasformazioni di base; traduzione, rotazione su x asse, rotazione su asse y, rotazione su asse z, scaling e rasatura. In precedenza avevamo definito 2 fattori di taglio, ora ci sono 6 fattori di taglio, è un po' più complicato del caso precedente.Ora, nell'aratura, quando si esibita a shearing lungo 2 asse, 2 asse di principio, non c'è l'avambraccio lungo l'asse del terzo principio che seguiamo in 3D shearing. A prescindere da queste differenze, c'è un'altra grande differenza nel modo in cui ricaviamo matrice di trasformazione composita per rotazione su qualsiasi asse arbitrario.Quindi, per farlo, seguiamo 5 processo passo, prima traduce la linea per passare all'origine, poi la allungiamo con uno degli assi di principio, poi eseguiamo la rotazione dall'angolo desiderato su quell' asse, poi posizioniamo la linea al suo orientamento originale eseguendo rotazioni inverse, e poi la trasmettiamo alla sua posizione originale. E mettiamo le singole matrici di base in modo giusto a sinistra per ottenere la matrice composita finale come abbiamo mostrato nella discussione. Ora, cerchiamo di capire la trasformazione 3D rispetto al 1 esempio illustrativo.Consideriamo una situazione, c'è un oggetto definito con i vertici definiti con i vertici A B C D qui in questa figura superiore figura, come potete vedere è sul piano x - y Questa è la situazione iniziale, ora vogliamo usare questo particolare oggetto per costruire una parete partizione definitadai vertici A, B, C e D, in una scena in cui A un simbolo corrisponde a A, B corrisponde a B, C corrisponde a C e D corrispondono al vertice D.Così, qui come possiamo chiaramente si vede una certa trasformazione, la domanda prova a calcolare la matrice di trasformazione composita che permette di posizionare questo oggetto come un muro di partizione in questa scena. Vediamo come possiamo fare questo.Così, inizialmente la piazza è nel piano x - y e ogni lato aveva 2 unità di lunghezza e il centro è dato come (2, 2, 0). La piazza finale è sul piano y - z con ogni lato pari a 4 unità e il centro è ora a (0, 2, 2). Ora, queste lunghezze e centri possono essere scovati dalle coordinate dei vertici.Quindi, allora cosa dobbiamo fare? Quindi, in questo caso, abbiamo bisogno di una rotazione dal piano x - y al piano y - z, ma l'asse di rotazione non è l'asse z, è parallelo all'asse z quindi seguiremo questo approccio di creazione di trasformazione della matrice composita. Così, prima traduce il centro all'origine, centro di questo oggetto originale così poi l'importo della traduzione sarà di -2, -2 e 0.Così, se stiamo traducendo il centro in origine allora l'asse di rotazione che era parallelo all'asse z ora sarà automaticamente allineato con l'asse z. Quindi, allora eseguiamo la rotazione di 90 gradi antiorario intorno all'asse z. Quindi, utilizzeremo la matrice di rotazione definita per la rotazione su asse z con l'angolo di rotazione 90. Dato che la rotazione è antiorario, quindi sarà un angolo positivo.Poi ruotiamo di 90 gradi antiorario intorno all'asse y. Così, di nuovo useremo Ry (90) dove Ry θ è la matrice di rotazione di base su asse y.Poi eseguiamo scaling perché la dimensione è aumentata in scala da 2 in y e z direzione, quindi x direzione avrà un fattore di scaling 1, non c'è cambiamento e la direzione z e y avrà il fattore di scaling 2, la dimensione raddoppierà. E poi traduciamo il centro verso il nuovo centro oggetti usando la matrice di traslazione.Così, allora la matrice di trasformazione composita può essere ottenuta moltiplicando queste singole matrici di trasformazione di base insieme dove abbiamo seguito la regola di sinistra che è, prima è la traduzione all'origine, poi la rotazione sull'asse z, poi la rotazione sull'asse y, poi scalando di 2 lungo y e z direzione, poi la traduzione alla nuova origine. Quindi se ci moltiplichiamo, otterremo la nuova matrice di trasformazione composita.E dopo che avremo questa matrice, solo per ricucire la procedura, cosa dobbiamo fare? Dobbiamo moltiplicare ogni vertice con questa matrice di trasformazione composita. Quindi, se il vertice è rappresentato dal vettore colonna P e questa matrice di trasformazione composita è M, allora eseguiamo questo (M. P) per ogni vertice per ottenere la nuova posizione di vertice in coordinate omogenee. Così, alla fine per ottenere la coordinata fisica, eseguiamo questa operazione, dividiamo la coordinata x per fattore omogeneo, y coordinati per fattore omogeneo e z coordinati dal fattore omogeneo.Così nel nostro caso di corso, h=1. Quindi, davvero non importa, le coordinate x, x e z rimarranno le stesse. Ma più avanti, come accennavo prima, vedremo che ci sono situazioni in cui h ≠ 1. Quindi, in quel caso, questa divisione è molto importante che vedremo nelle lezioni successive.Così, con questo, arriviamo a una conclusione alla nostra discussione sulla trasformazione 3D. E inoltre siamo giunti a una conclusione alla nostra discussione sulla seconda fase che sta modellando la trasformazione. Così, abbiamo iniziato la nostra discussione con le trasformazioni 2D, lì abbiamo introdotto l'idea di base della trasformazione modellistica che è quella di assemblare oggetti definiti nel loro sistema di coordinate o locali in una scena di coordinate mondiali. Per fare ciò, eseguiamo trasformazioni geometriche, qualsiasi trasformazione può essere considerata una sequenza di trasformazioni di base nelle trasformazioni 2D.Abbiamo discusso 4 trasformazioni di base, quelle sono la traduzione, la rotazione, la scalatura e l'aratura. Abbiamo anche discusso perché è importante rappresentare trasformazioni in termini di matrici, a causa di modularità e compatibilità con le fasi successive quando stiamo implementando un pacchetto sotto forma di funzioni di biblioteca o di API o funzioni standard. Ora, per la rappresentazione della matrice abbiamo discusso dell'importanza e del significato di sistema di coordinate omogenee e abbiamo visto come utilizzare il sistema di coordinate omogenee per rappresentare trasformazioni di base o qualsiasi trasformazione composita.Così, in sintesi, nella trasformazione modellistica, eseguiamo la trasformazione considerando singolarmente o in sequenza trasformazioni di base, queste trasformazioni sono rappresentate sotto forma di matrici, dove le matrici sono stesse rappresentazioni in sistema di coordinate omogenee. E nella trasformazione 2D abbiamo 4 trasformazioni di base. Nelle trasformazioni modellistiche 3D abbiamo 6 trasformatori di base. E qualsiasi trasformazione rispetto a qualsiasi punto arbitrario o asse di rotazione può essere ricavata utilizzando una sequenza di trasformazione di base. Così nella prossima lezione inizieremo la nostra discussione sulla terza fase della pipeline grafica che sta assegnando il colore o l'illuminazione.