Angolo tra retta e piano

Si riconduce al calcolo dell'angolo tra due rette.

Se \(r\) è perpendicolare ad \(\alpha\) formano un angolo di 90°, se invece è parallela formano un angolo nullo. Negli altri casi: \(\widehat{r\alpha}\) è uno qualsiasi degli angoli acuti che \(r\) forma con la retta \(r'\) data dalla proiezione ortogonale di \(r\) su \(\alpha\). Si calcola indipendentemente dall'orientazione di \(r\).

Per calcolare velocemente, invece di scrivere l'equazione della retta \(r'\) e calcolare l'angolo con la formula, è sufficiente prendere:

L'angolo è dato dalla formula:

\(sin(\widehat{r\alpha})=\frac{|{\textbf n}_{\alpha} \cdot {\textbf v}_r |}{||{\textbf n}_{\alpha} || \quad ||{\textbf v}_r ||}= \frac{ |al+bm+cn| } { \sqrt{a^2+b^2+c^2} \sqrt{l^2+m^2+n^2} }\)

Dopodichè si estrae l'angolo con l'equazione goniometrica arcsin.

Esempio

import sympy as sp
from ipynb.fs.full.retta_direzione_nello_spazio import direzioneRetta
from ipynb.fs.full.piano_coefficienti_direttori import coefficientiDirettori

x,y,z,t = sp.symbols("x y z t")

r = [
    x - 1 - t,
    y - 3 + t,
    z - 2
]

alpha = x - 2*y + z - 1

v_r = direzioneRetta(equazioni_parametriche=r)
n_alpha = coefficientiDirettori(equazione_cartesiana=alpha)

num = abs(n_alpha.dot(v_r))
denom = sp.sqrt(n_alpha[0,0]**2 + n_alpha[0,1]**2 + n_alpha[0,2]**2) * sp.sqrt(v_r[0,0]**2 + v_r[0,1]**2 + v_r[0,2]**2)

sin_ra = num/denom

sp.asin(sin_ra)

\(\displaystyle \frac{\pi}{3}\)

Riferimenti

  • https://www.youmath.it/lezioni/algebra-lineare/geometria-dello-spazio/4073-angolo-tra-retta-e-piano-nello-spazio.html