Transformation matrix

mi potreste darmi una spiegazione su un argomento delle guide nei RScript

sia nel Transform che con gli Xform c’è una tabella pitagorica 4x4

ma per le coordinate bastano i tre valori XYZ come mai sono 4x4?

Ciao Salvio

Scarica questo:

https://www.rhino3d.com/download/Rhino/4.0/EssentialMathematicsSecondEdition

Parla anche di matrici di trasformazione

EDIT:

Consiglio anche questo libro ( in generale, a tutti :slight_smile: )

https://www.ibs.it/mathematical-elements-for-computer-graphics-libri-vintage-mcgraw-hill/e/2560011665677?lgw_code=1121-W2560011665677&utm_source=criteo&utm_medium=remktg&utm_campaign=remkt_general_lf_criteo&utm_content=

C’e’ anche un’edizione successiva

EDIT 2:

Ho visto anche questo

… Non so se sia lo stesso materiale che trovi nel PDF …

Bocciato!
:grin:

Da’i prof … invecchio e perdo la memoria … non mi ricordo piu’ … :cry:

Ma giuro che ho studiato … anzi, beh … che avevo studiato …20…30 anni fa … :wink:

mi ha liquidato presto presto ahahahah
ovviamente scherzo, sono testi molto interessanti gli ho dato un’occhiata e di sicuro approfondirò
sempre grazie Emilio.

Giuseppe, se non errò in GH ci dovrebbero essere dei componenti per la visualizzazione delle matrici
nel caso potrei fare delle prove in GH così da visualizzare subito il risultato in modo da rendermi
subito conto come funziona e come modificare i parametri per ottenere un dato risultato . . . .

Mica tu… Salvio!!! :joy::joy::joy:

Hehe … OK
Dopo un rapido ripasso sul libro di cui sopra …

Dunque: la matrice 4x4 serve per poter traslare gli oggetti ( cioe’ i punti )

Con una matrice 3x3, calcolando la trasformazione, otteniamo (ad esempio) per la X un valore :
AX + BY +CZ
essendo A, B e C i valori nella prima colonna della matrice

Quindi se vogliamo spostare la X in modo che, diciamo, un valore 100 diventi 200 … non c’e’ modo.

Allora ci serve una ‘coordinata’ in piu’, cioe’ non e’ una coordinata, e’ semplicemente un numero aggiuntivo che ci serve per la nostra traslazione.

Il punto lo definiamo come X,Y,Z,1
Cioe’ aggiuingiamo un ‘uno’ come ‘quarta coordinata’

A questo punto possimao usare la matrice 4x4
La prima colonna avra’ dei valori

A, B, C, D

e calcolando la trasformazione, per la nostra X otteniamo:

AX + BY + CZ + D ( D essendo il valore di 1* D )

quindi se poniamo D = 100,
il nostro punto si sposta di 100 lungo la X.

OK, vediamo se il prof apprezza … cioe’ se non ho detto minch**te … :smile:

Alla prossima … :wink:

BRAVOOOOOOOOOOOOOOOO !!! :clap::clap::clap:

:rofl: … che banda di matti …

Per le coordinate cartesiane sì, per quelle omogenee no.
Fabio

Emilio, adesso devi postare anche una rotazione. :slight_smile:

Fabio.

ragazzi non me lo trattate troppo male il mio mentore :slight_smile:

Chi Emilio?!
Ci mancherebbe altro, è un piacere leggerlo, sempre disponibile e preparato.
L’argomento è interessante, anche se un po’ tecnico, sarebbe bello svilupparlo …

Fabio.

Raga … eh … :face_with_raised_eyebrow::wink:

Ci avessi la pensione, ci avessi … avrei piu’ tempo per sparare cavolate a valanga … (e sarebbe peggio per voi … :sleeping: )

Quindi … leggetevi il libro (che certo spiega la faccenda molto meglio) e non rompete i … determinanti :smile: … che quelli a rotazione non li batte nessuno … :wink:

La rotazione la lasciamo spiegare a Salvio, che ha una passione per seni e coseni … :wink:

Ciao !

ma come… questa è la ricompensa per aver preso le tue difese eeee mi dai i compiti da fare ahahahah

beh che dire non so in quanto tempo ma ci proverò :slight_smile:

2 Mi Piace

Ciao a tutti, mi inserisco facendo una domanda: restringendo il campo, ho un blocco, chiamiamolo blocco1, all’interno del modello, esso è stato copiato, traslato, ruotato e specchiato ma mai scalato. Ora mettiamo che nel modello ho un tot di blocco1. La mia domanda è come faccio guardando la matrice di trasformazione sapere quanti blocchi sono specchiati e quanti no. Saperlo mi servirà in fase di produzione ad esempio perchè se è stato solo traslato e/o ruotato non mi interessa, ma se è stato specchiato dovrò produrlo specchiato. Spero di essermi spiegato. Grazie.

Azzardo una risposta alla mia stessa domanda.
Forse lo si capisce dal determinante della matrice: se è 1 allora il blocco è stato solo rototraslato, se è -1 allora c’è stata anche una riflessione su un piano. Se qualcuno può darmi riscontro ne sarò lieto. Ciao.