Matrici & Matrici

scusate se mi aggrego alla discussione, essendo che si parla di costruire matrici etc:

volevo chiedere se sia possibile trasformare una matrice 3x3 in una 4x4 ?

che intendi per trasformare? Una matrice non può cambiare dimensione ex nihilo.

ciao Luca,

tipo come l’esempio di @giuseppe ha inserito nel panel manualmente i 16 valori

l’intento era quello di gestire con gli slider le coordinate per ogni singolo vettore

solo che ovviamente nel rettangolo rosso mi ritrovo col gestire un totale di 9 valori

mentre nell’ellisse rosso il trasform matrix mi richiede una matrice 4x4

ricordo male, non ci doveva essere anche una matrice 3x3?

in pratica una cosa simile a collegare il componente “move” ai vettori con lo slider

Non ricordo l’esempio di Giuseppe, tuttavia da quel poco che ricordo di algebra lineare, (l’argomento lo riprenderò in dinamica del volo più approfonditamente) una matrice di trasformazione M consente di passare da una base (leggi sistema di riferimento) ad un’altra. Cioè se tu ed io siamo due sistemi di riferimento differenti, possiamo descrivere gli stessi oggetti, in quella propria sede spaziale (e anche con stesse velocità e accelerazioni se siamo, noi, sistemi inerziali) utilizzando distanze (meglio raggi vettore) differenti, ma comunque puntando sempre allo stesso oggetto.
Pertanto un punto nello spazio è caratterizzato da tre coordinate di posizione, un oggetto invece, da sei coordinate (tre cartesiane e tre angolari), e la matrice di trasformazione ha una sua dimensione che non c’entra con quella dell’oggetto che stiamo osservando perché sono concettualmente cose diverse.
Correggetemi per favore, se e dove sbaglio.

Ciao Salvio

… forse questo ? :confused:

Emilio, mi potresti spiegare cosa hai fatto?

il risultato è quello usando un crea vettore da xyz collegato al componente move

Non so … forse non ho capito cosa serve a Salvio …
Ho letto questo

e ho ricavato la matrice di trasformazione, dato lo spostamento composto da 3 vettori paralleli agli assi …

Fatemi capire. La matrice di trasformazione è ricavabile se abbiamo due basi (ovvero passiamo da un sistema ad un altro), oppure se abbiamo una base ed una matrice di trasformazione, ricaviamo la nuova base: che sta facendo? :crazy_face: :rofl:

xyz

ciao Emilio, io stavo provando questa soluzione
e non torna errore con trasform matrix

ps il componente mass addition cosa comporta di differenza?

La puoi anche ricavare da una sequenza di rotazioni, spostamenti, scala, ecc.

https://developer.rhino3d.com/api/RhinoCommon/html/T_Rhino_Geometry_Transform.htm

si certo, avere una base questo significa. La base si muove e ruota.

Direi niente, la tua definizione e’ piu’ semplice.
La mia e’ inutilmente complicata.

siamo partiti da qui: se applichi una trasformazione ottieni una matrice della stessa dimensione iniziale, quindi non passi da una 3x3 ad una 4x4,…o qualsiasi altra.
A meno che non si intenda altro che non so.

PS… ma sapete che mi avete fatto capire e scoprire un’altra cosa nuova?

Posso usare la matrice di trasformazione per fare rototraslazioni in una botta evitando una serie di passaggi.

esatto con le tre coordinate puoi modificare i valori e quindi gestire il tutto

si infatti la domanda rimane aperta

se noti l’ultima quartina rimane invariata ed è quella la domanda: non esiste un componente che mi permetta di modificare gli ultimo 4 valori? se non ricordo male dovrebbe aiutare negli spostamenti?

Hehe … la magia delle coordinate omogenee … :wink:

1 Mi Piace

Scusa Salvio, in che senso invariata ?

Emilio meglio non far riporre troppe speranze nella magia per le matrici :wink:

scusa Luca non’è per smontare il tuo entusiasmo ma sia a 4 che a 3 ritengo non proprio semplice gestire le coordinate dei vettori sopratutto quando si parla di angoli oppure di ridimensionare.

ps poi se le sai gestire bene, non ti dimenticare di me che qualche spiegazione l’accetto volentieri :smile:

em

gli ultimi 4 valori non cambiano, e questa è la domanda col quale ero partito
sarebbe possibile aggiungere un’altro slider tramite un’altro componente per cambiare questi valori?

ps se non erro dovrebbero servire nel ridimensionamento degli oggetti?