Capitolo 3: Calcolo vettoriale.
Come definire un comando per disegnare Vettori nello spazio
(leggere ed eseguire quanto richiesto).
Cosa bisogna fare subito. Prima di utilizzare il comando Arrow3D[...] è necessario scaricare dall'indirizzo:
http://www.di.unito.it/~stefano/MathMacro.txt
il file MathMacro.txt. Copiatelo nello stessa cartella delle dispense, quindi eseguite il comando:
SetDirectory["AttualeIndirizzoMathMacro"];
<<MathMacro.txt
In[328]:=
Il comando Arrow3D. Nel file "MathMacro.txt", contenuto nel sito del corso, viene tra l'altro definito un comando
Arrow3D[{x1,y1,z1}, {x2,y2,z2}, "etichetta"]
per disegnare un vettore da (x1,y1,z1) a (x2,y2,z2) come un segmento con punta conica, e una certa etichetta (che deve essere scritta tra virgolette). Il raggio del cono vale 0.1; per modificarlo, è sufficiente dare il comando:
ConeRadius = nuovovalore;
Arrow3D disegna il vettore nullo come una punta rivolta (arbitrariamente) verso l'alto, e priva di asta. L'etichetta si può omettere.
Casi particolari. Nel caso il vettore parta dall'origine (nel caso siano x1=y1=z1=0), si possono omettere {x1,y1,z1}. E' sufficiente scrivere:
Arrow3D[{x2,y2,z2}, etichetta]
Di nuovo, l'etichetta si può omettere. I vettori così ottenuti vanno visualizzati con il comando Show:
Show[
Arrow3D[{x1,y1,z1},{x2,y2,z2}],
Arrow3D[{x1,y1,z1},{x2,y2,z2}],
...]
Provate alcuni esempi di uso di Arrow3D (se volete inserire un'etichetta, ricordatevi di scriverla tra virgolette: il testo deve essere inserito tra virgolette nei comandi di Mathematica).
In[329]:=
Out[329]=
Esercizi di calcolo vettoriale
Esercizio 1, Capitolo 3 (Abbena-Gianella). Indichiamo con a×x, a.b, i prodotti vettoriali e scalari di a, b (vettori in 3D). Dati i vettori a = (h,-1,3), b=(1,-h,1), c= (-2,0,k), trovare due valori reali per h,k e un vettore X = (x1,x2,x3) tale che:
a×x + b×x = c
Suggerimenti. Ripulire (comando Clear) le variabili h,k. Definire a,b,c,X (come liste), e=(a×x+b×x). Il prodotto vettoriale di a, b si indica con Cross[a,b], il prodotto scalare con a.b. Infine, risolvere il sistema (e = c) rispetto alle variabili:
x1,x2,x3,k,h
E' necessario introdurre i parametri k, h tra le variabili. Se si cerca una soluzione rispetto alle sole variabili x1,x2,x3, si cerca una soluzione valida per tutti i k, h, che non esiste (il problema è risolubile solo per particolari k, h).
In[330]:=
In[331]:=
Out[331]=
Out[332]=
Out[333]=
Out[334]=
In[335]:=
Out[336]//MatrixForm=
In[337]:=
Out[337]=
Out[338]=
Esercizio 4. (i) I vettori a = (1,2,0) e b = (0,1,1) possono determinare i lati di un rettangolo? (ii) Determinare un vettore v che rappresenti l'altezza rispetto ad a del parallelogramma individuato da a, b.
E' utile usare il comando Show[Arrow3D[a],Arrow3D[b]] per visualizzare a, b.
In[339]:=
Out[341]=
Osserviamo subito che a.b (=a scalare b) non è nullo. a,b non sono dunque ortogonali. Sia a×x il prodotto vettoriale di a, b.
Metodo 1. Definire un vettore incognita V = {v1,v2,v3}. Un sistema nelle variabili v1,v2,v3 la cui unica soluzione è l'altezza, si può ottenere esprimendo certe condizioni di ortogonalità e parallelismo in termini di prodotto scalare e vettoriale. Le condizioni da usare sono:
(1) a è ortogonale a V (Spiegazione: l'altezza V di a è ortogonale ad a);
(2) (b×V) è ortogonale ad a (Spiegazione: (b×V) è ortogonale al piano di b e di V, quindi ad a, che si trova nello stesso piano).
(3) (b-V) è parallelo ad a (Spiegazione: se percorriamo b, e poi dalla punta di b risaliamo all'indietro l'altezza V relativa ad a, arriviamo in un punto del vettore a).
In[342]:=
In[343]:=
Out[343]=
In[344]:=
Out[344]=
In[345]:=
Out[345]=
Controlliamo il risultato disegnando tutti i vettori.
In[346]:=
Out[346]=
Metodo 2. Riprendiamo il sistema precedente in v1,v2,v3, ma sostituiamo la condizione (3) con:
V.V = norma dell'altezza di b rispetto ad a.
Tale norma si ottiene con la formula:
In[347]:=
Out[347]=
Il sistema ottenuto aggiungendo la condizione:
V.V=NormaAltezza
è di secondo grado. Una soluzione è l'altezza h, l'altra è (-h) (infatti (-h) ha la stessa norma di h, e quindi soddisfa anch'essa le condizioni del sistema).
In[348]:=
Out[348]=
Metodo 3. Dalla definizione di prodotto vettoriale possiamo dedurre che
k = (a×b)×a
è parallelo all'altezza (per convincersene, è utile disegnare a×b e k).
In[349]:=
Out[349]=
Basta calcolare ora il versore associato a k, quindi moltiplicarlo per la lunghezza del vettore-altezza (è uguale alla radice quadrata della norma dell'altezza, già calcolata).
In[351]:=
Out[351]=
In[352]:=
Out[352]=
In[353]:=
Out[353]=
In[354]:=
Out[354]=
Created by Mathematica (August 4, 2004)