Torna al corso

Corso di algebra lineare per programmazione di giochi 2D

Realizato da

Pubblicato il

algebra

lineare

corso

italiano

programmazione

giochi

2d


Ciao a tutti e benvenuti in questa terza parte del corso di sviluppo di giochi 2D

Nella parte precedente del corso abbiamo visto come sommare due vettori e le sue applicazioni nel mondo della creazione di giochi 2D. 

Oggi vedremo come eseguire l’operazione inversa: Sottrarre un vettore da un altro vettore.

Ma prima di parlare del metodo, parliamo dell’intuizione dietro a questa operazione matematica.

A cosa serve la sottrazione tra vettori?

Se ricordate dalla lezione precedente, sommare due vettori v1, v2 significa: posizionare la fine di v1 sulla punta di v2 o viceversa.

formula per sommare due vettori. tutorial programmazione per fare sottrazione tra due vettori

Beh la sottrazione funziona esattamente in questo modo. La differenza sta nel fatto che uno dei due vettori sarà invertito. (-v1 o –v2)

Vediamo con un esempio pratico.

come effettuare una sottrazione tra due vettori

Abbiamo detto che per eseguire una sottrazione tra vettori, dobbiamo invertire uno dei due vettori (In questo caso v1). Invertire un vettore significa semplicemente invertire la sua direzione, o in termini più matematici, significa moltiplicare il vettore per il valore -1

come sottrarre un vettore da un altro vettore

Ora possiamo eseguire una normale addizione come quella eseguita nella seconda parte del corso.

Se ricordate, dobbiamo posizionare la fine di un vettore sulla punta dell’altro. Il vettore risultante sarà la loro addizione.

come fare una sottrazione di un vettore meno un'altro

Il vettore risultante (in blu) rappresenta la sottrazione v2 – v1

Cosa significa sottrarre due vettori

Ora che avete visto la sottrazione tra vettori forse vi state chiedendo: Cosa mi rappresenta questo vettore in blu? La risposta è abbastanza semplice. Il vettore risultante alla sottrazione v2 – v1 rappresenta esattamente il vettore che punta da v1 a v2. Se ci pensate bene, questo concetto ha senso perché è simile alla sottrazione tra numeri. Infatti se sottraiamo 8 da 10 il risultato è 2, ovvero il numero che posizionato su 8 da 10. (scusate la confusione)

Come potete vedere il vettore in blu non punta direttamente a v2, ma è spostato più in basso. Ma se notate, il vettore blu sembra avere la giusta direzione e magnitudine ma con l’origine sbagliata. Fortunatamente possiamo cambiare l’origine del vettore senza problemi dato che i vettori in per sé non hanno un’origine definita, ma sono definiti solamente da direzione e magnitudine. Ovvero due vettori con la stessa magnitudine e direzione, sono in tutti gli effetti lo stesso vettore.

Se spostiamo l’origine del vettore blu otteniamo il vettore desiderato che punta da v1 a v2.

come fare una sottrazione tra due vettore nella programmazione, guida in italiano

Il concetto di sottrazione tra vettori è utilissimo nella programmazione di giochi 2D e 3D. Per esempio possiamo effettuare una simulazione di un magnete che attrae un oggetto metallico. Per ottenere la forza dell’attrazione magnetica, possiamo sottrarre il vettore dell’oggetto al vettore del magnete. Possiamo poi applicare questa forza all’oggetto per spostarlo verso il magnete.