Lo spazio tridimensionale [1ª parte] (2ª)
Abbiamo già considerato lo
lo spazio tridimensionale;
abbiamo visto come si può definire per esso una
distanza; abbiamo considerato
alcuni problemi legati alla realizzazione di
rappresentazioni cartografiche piane di figure in tre dimensioni;
e abbiamo visto come determinare il
volume di alcuni solidi, anche nel caso in cui possono essere "generati" col movimenti
di alcune superfici piane
Abbiamo, poi, accennato alla possibilità di considerare
vettori in tre dimensioni.
Soffermiamoci, inizialmente, su quest'ultimo aspetto.
Premettiamo una notazione, che può essere utile. Quando si considerano due insiemi
A e B, l'insieme delle coppie
Per rappresentare e misurare molte grandezze fisiche, come
forze o velocità, ci si serve di vettori piani se queste sono dirette
lungo direzioni che stanno tutte nello stesso piano, di vettori tridimensionali
in generale. Come abbiamo già visto,
possiamo rappresentare i vettori in vari modi: con delle frecce sovrapposte,
come differenze tra punti, con delle lettere in corsivo o con delle lettere in
grassetto. In questa voce, quando useremo delle lettere in grassetto
intenderemo sempre che esse rappresentino dei vettori. Useremo, in particolare,
i, j e k per indicare i
versori |
i = (1, 0, 0)
j = (0, 1, 0) |
Ricordiamo ( vettori)
che la "lunghezza" del vettore v, ossia, nel caso precedente, il numero
Nel seguito consideremo i vettori come "non applicati" ( vettori), ovvero come se tutti fossero applicati nell'origine. In altre parole consideremo due vettori uguali se rappresentati da due frecce egualmente dirette ed egualmente lunghe. Ricordiamo che spesso chiameremo scalari |
Viene
chiamato prodotto scalare o prodotto interno (o dot product, in inglese)
di due vettori u e v, e indicato u·v, il numero
pari al prodotto del modulo di u per la proiezione di v su u:
vedi la prima figura sottostante (qualche decennio fa esso veniva indicato
In fisica, se F rappresenta un vettore forza costante
applicato per produrre uno spostamento s, si prende come lavoro il prodotto tra la componente di
F diretta come s e l'intensità di s, ossia il prodotto scalare
La proiezione di un vettore su un'altro è data dalla moltiplicazione di essi e del
coseno dell'angolo da essi formato
u·v =
u·v = 0 se u = 0 o v = 0, altrimenti
u·v = ||u|| ||v|| cos(θ),
dove θ è
Nei casi estremi (i vettori sono paralleli o perpendicolari) è facile vedere che
la definizione precedente di prodotto scalare equivale alla seguente:
u·v =
u1 v1 + u2 v2 + u3 v3,
se u =
Questa proprietà e la seguente:
u · (v + w)
= u · v
+ u · w
(la possibilità di distribuire il prodotto scalare rispetto alla somma) valgono in generale
(prova a dimostrarlo; controlla qui le dimostrazioni richieste).
Si può dimostrare che la distanza tra due punti P e Q sulla sfera unitaria è data dall'arcocoseno del prodotto scalare tra P e Q.
Esercizi: uno e soluz., due e soluz.
Viene chiamato prodotto vettoriale (o cross product, in inglese) di due vettori u e v, e indicato u×v, il vettore che ha intensità pari all'area del parallelogramma che ha per lati u e v e che è diretto secondo la "regola della mano destra" − vedi la figura sottostante − ossia come è diretto l'asse z se u e v sono diretti come l'asse x e l'asse y (un tempo veniva indicato u∧v). Se uno dei due vettori, u e v, è nullo o se i due vettori sono allineati, il loro prodotto vettoriale è il vettore nullo. | |
Nella figura a destra è illustrato il caso in cui La cosa può essere facilmente verificata direttamente, o come coseguenza del seguente fatto, la dimostrazione del quale lasciamo per esercizio (qui può essere controllata): |
u × v = | | | | | | |
i | j | k | | | | | | |
se u = (ux, uy, uz), v = (vx, vy, vz) | ||||
ux | uy | uz | ||||||||
vx | vy | vz |
dove l'oggetto 3×3 rappresentato sopra (detto determinante,
su cui ci si sofferma più in generale alla voce
matrici) è una abbreviazione per
| | | | | |
i | j | k | | | | | | |
| | | | | |
i | j | k | | | | | | |
| | | | | |
i | j | k | | | | | | |
||||||||||||||
ux | uy | uz | ux | uy | uz | ux | uy | uz | ||||||||||||||||||||
vx | vy | vz | vx | vy | vz | vx | vy | vz |
Verifichiamo, usando questa proprietà, che se
| | | | | |
i | j | k | | | | | | |
=
|
= 3 i | ||||
0 | 2.5 | 1 | ||||||||
0 | 2 | 2 |
Il prodotto vettoriale è definito solo nel caso tridimensionale (se ho due vettori non paralleli il loro prodotto vettoriale esce necessariamente dal piano da essi individuato).
Si ha, immediatamente, che i×i = j×j = k×k = 0,
i×j = k, j×i = −k,
Si ha inoltre (vedi figura a sinistra) che anche per il proddoto vettoriale vale la proprietà distributiva (se aggiungo w a v l'area del parallelogramma cresce in proporzione): u × (v + w) = u × v + u × w |
Si ha inoltre (vedi figura a destra) che
|
Esercizi: uno e soluz., due e soluz., tre e soluz.
I prodotti vettoriali sono importantissimi in fisica, per indicare grandezze e relazioni tra esse.
Qui ci limitiamo a considerare il momento di una forza, generalizzando considerazioni già
svolte in precedenza
Accanto ai vettori in R³ sono considerati i vettori in Rn con n > 3. Essi si occupano di n-uple di numeri reali e di tabelle di dimensioni maggiori di quelle 3×3, qui considerate. Trovano applicazioni, tra l'altro, in statistica e in economia, oltre che in vari ambiti algebrici e geometrici. Se proseguirai gli studi in ambito matematico avrai occasione di esaminare queste generalizzazioni. |
Ricordiamo che i punti dello spazio sono descrivibili anche mediante coordinate sferiche, in modo analogo a quanto visto per le coordinate polari nel caso di punti del piano: si prende l'asse z come asse polare, si considera come ρ la distanza dall'origine e si prendono come altre due coordinate la longitudine (o azimut) e la colatitudine (ossia il complementare della latitudine: lo spazio).
Una retta nello spazio può facilmente essere descritta generalizzando quanto
fatto | ||
P = (3, 4, 0) + (−1, −3, 3)·t ovvero, indicando P con x = 3 − t y = 4 − 3t z = 3t. | ||
Per t > 0 ho i punti che stanno sulla semieretta di origine
| ||
Vediamo come descrivere il piano che passa per i punti dei tre assi di ascissa 3, di ordinata 3 e di quota 3: |
Esercizi: uno e soluz., due e soluz., tre e soluz., quattro e soluz.
Lo spazio tridimensionale (2ª parte)
Grafici di funzioni di due variabili e superfici
Così come le rette non perpendicolari all'asse x sono interpretabili
In analogia a quanto visto per il cerchio
OQ2 + z2 = 1, ovvero, per il teorema di Pitagora, x2 + y2 + z2 = 1.
Questa, ovvero, z2 = 1 − (x2 + y2),
è l'equazione della sfera.
Di queste superfici sappiamo trovare facilmente le curve di livello
Consideriamo, ancora, alcune superfici, evitando di sviluppare una trattazione generale, che potrà essere affrontata successivamente, in studi specialistici, da parte di chi è interessato all'argomento. |
Sia z = 5 − √(x2 + y2).
Osserviamo che z ≤ 5. Inoltre se z = 5
Evidentemente, dato che z dipende da Consideriamo altre due superfici, raffigurate parzialmente sotto: il grafico di |
La superficie z = x2 + y2/4
se la taglio col piano y = 0 dà luogo alla parabola verticale
La superficie z = sin(x·y)
se la taglio col piano y = 0 dà luogo all'asse x, ossia alla retta
Il collegamento seguente, quadriche, presenta le forme che può assumere, in generale, una superficie descrivibile mediante una equazione polinomiale di secondo grado. Come ottenere grafici di funzioni di due variabili con R. |
g <- function(x,y) sin(x*y) x1 <- -3; x2 <- 3; y1 <- -3; y2 <- 3 x <- seq(x1,x2,len=30); y <- seq(y1,y2,len=30); z <- outer(x,y,g) persp(x, y, z, theta=30, phi=30, expand=0.5, col="lightblue")
Suddivido i due intervalli in 30 intervallini Metto in z le uscite della funzione Traccio il grafico con una certa longitudine (theta) e una certa inclinazione (phi), in gradi Con expand scelgo il rapporto tra alt. e largh. della figura Con col scelgo il colore del grafico |
persp(x, y, z, theta=30, phi=30, scale=FALSE, col="lightblue")
Con scale=FALSE il sistema è monometrico: la scala delle z è la stessa di quelle delle x e delle y |
persp(x,y,z,theta=30,phi=10,expand=0.3,col="lightblue", ticktype="detailed",zlim=c(-2,2))
Posso far tracciare le tacche (tick) e scegliere l'intervallo delle z Ho cambiato anche l'inclinazione |
Questa figura è
stata ottenuta modificando il punto di vista: theta=35, phi=0 e aggiungendo in "persp": shade=0.4, cex.axis=0.8, cex.lab=0.8 dove shade crea l'"ombra" e gli altri comandi dimensionano le coordinate e i nomi degli assi. |
contour(x,y,z,col=heat.colors(12),nlevels=5)
Ho tracciato le curve di livello colorate in rosso e con una certa densità (per vederne di più devo aumentare "nlevels") |
Come fare cose più sofisticate:
g <- function(x,y) sin(x*y) x1 <- -3; x2 <- 3; y1 <- -3; y2 <- 3; z1 <- -1; z2 <- 1 x <- seq(x1,x2,len=30); y <- seq(y1,y2,len=30); z <- outer(x,y,g) expa <- 0.4 # è il rapporto tra altezza e lato di base della scatola graf <- function(th,ph) { par( mai = c(0.3,0.3,0.3,0.3) ) # riduco i margini F <- persp(x,y,z,zlim=c(z1,z2), theta=th, phi=ph, expand=expa, col="yellow", ticktype="detailed",border="red",shade=0.3,cex.axis=0.75,cex.lab=0.8) lines(trans3d(c(x1,0),c(0,0),c(0,0), pmat=F),col="blue",lwd=1,lty=1) lines(trans3d(c(0,0),c(0,y1),c(0,0), pmat=F),col="blue",lwd=1,lty=1) lines(trans3d(c(0,0),c(0,0),c(z1,0), pmat=F),col="blue",lwd=1,lty=1) lines(trans3d(c(0,x2),c(0,0),c(0,0), pmat=F),col="blue",lwd=2,lty=1) lines(trans3d(c(0,0),c(0,y2),c(0,0), pmat=F),col="blue",lwd=2,lty=1) lines(trans3d(c(0,0),c(0,0),c(0,z2), pmat=F),col="blue",lwd=2,lty=1)} # Se metti expa <- modifichi la scala verticale, con expa <- 1 hai un cubo # Metti 'scale=FALSE' al posto di 'expand=expa' se vuoi una scala monometrica # Aggiungendo 'd=20' (d>>1) allontani l'occhio, 'd=0.2' (d<<1) lo avvicini. # Se non vuoi assi o semiassi, metti lty=0 nelle righe corrispondenti # Metti lty=3 o lty=2 se li vuoi tratteggiati # Aggiungi dentro alla function 'graf' comandi per il tracciamento di altre curve; # es.: per tracciare anche il cerchio unitario sul piano z=0 aggiungi: # phi <- seq(0,2*pi,len=201);xr <- cos(phi);yr <- sin(phi) # lines(trans3d(xr,yr,0,F), col="brown", lwd=2) # graf(120,40) # cambiando th e ph ottengo altri punti di vista: graf(100,30) graf(45,-30) # Se vuoi ottenere le curve di livello a tre livelli sopra o sotto # al piano z=0 puoi usare contour(x,y,z, zlim=c(0,-1), nlevels=3) contour(x,y,z, zlim=c(0, 1), nlevels=3) # Se vuoi ottenere curve a determinati livelli e variamente colorate contour(x,y,z, levels=c(-1/2,-1/4,0,1/2),col=rainbow(4)) contour(x,y,z, levels=c(-1/2,-1/4,0,1/2),col=heat.colors(4)) contour(x,y,z, levels=c(-1/2,-1/4,0,1/2),col=rainbow(10)) # Altra funzione: f <- function(x,y) x^2+y^2/4 x1 <- -3; x2 <- 3; y1 <- -3; y2 <- 3; z1 <- 0; z2 <- 12 x <- seq(x1,x2,len=30); y <- seq(y1,y2,len=30); z <- outer(x,y,f) expa <- 1 graf(40,-25) # # Sotto il grafico di q <- function(x,y) sqrt(1-(x^2+y^2)) visto dal # basso, aggiungendo 'd=20' e 'scale=FALSE' al posto di 'expand=expa' # e il tracciamento del cerchio unitario in z=0 # e quello ottenuto con 'd=0.5', mettendo 'red' come colore degli assi, # 'green' come colore della figura e 'blue' come colore dei bordi. # Sotto ancora quello, da un altro punto di vista, senza il tracciamento # del cerchio, con box=FALSE e senza 'shade=0.3', che dà l'ombreggiatura. # Poi delle curve di livello, tracciate con [asp=1 è per il sistema monometrico]: # contour(x,y,z,levels=c(0.3,0.4,0.5,0.6,0.7,0.8,0.9),asp=1,lwd=2,col=rainbow(7)) # abline(h=axTicks(2),v=axTicks(1),lty=3)
# Altro esempio: k <- function(x,y) sin(x)+cos(2*y) x1 <- y1 <- -pi; x2 <- y2 <- pi; z1 <- -2; z2 <- 2
Puoi trovare approfondimenti nella sezione Multi-Variable Calculus del Calculus Tutorial a cui puoi accedere da qui.
[ Qui trovi come tracciare curve di livello e grafici di funzioni di due variabili con altro software gratuito]