Data l'equazione cartesiana del piano \(\pi: ax+by+cz+d=0\) fissata in un sist. di rif. affine o ortonormale, i coefficienti direttori del piano \(\pi\) sono i coefficienti \(a,b,c\) delle incognite \(x,y,z\) e costituiscono il vettore dei coefficienti direttori:
\({\textbf n} = (a,b,c)\)
Essi individuano la direzione ortogonale del piano, per tanto \({\textbf n}\) è ortogonale ad ogni vettore del piano (e a ogni vettore parallelo ad esso).
Sono semplicemente quelli indicati in grassetto:
\(a{\textbf x}+b{\textbf y}+c{\textbf z}+d=0\)
Ad esempio i coefficienti direttori del piano epresso in forma cartesiana \(2x+3y-z+1=0\) sono il vettore \({\textbf n}=(2,3,-1)\)
\({\textbf n} = {\textbf v} \times {\textbf w}\)
quindi calcolando il determinante nel seguente modo:
\(v \times w = det\begin{bmatrix}i&j&k\\l_v&m_v&n_v\\l_w&m_w&n_w\end{bmatrix}\)
import sympy as sp
from ipynb.fs.full.piano_equazioni_parametriche_equazione_cartesiana import equazioniParametrichePianoToEquazioneCartesiana
def coefficientiDirettori(equazione_cartesiana: sp.Expr = None, equazioni_parametriche: sp.Expr = None, s: sp.Symbol=None, t: sp.Symbol=None) -> sp.Matrix:
if equazioni_parametriche is not None:
if s is None and t is None:
s,t = sp.symbols("s t")
equazione_cartesiana = equazioniParametrichePianoToEquazioneCartesiana(equazioni_parametriche, s, t)
poly = sp.Poly(equazione_cartesiana)
x,y,z = sp.symbols('x y z')
xv,yv,zv = 0,0,0
if x in equazione_cartesiana.free_symbols:
xv = poly.coeff_monomial(x)
if y in equazione_cartesiana.free_symbols:
yv = poly.coeff_monomial(y)
if z in equazione_cartesiana.free_symbols:
zv = poly.coeff_monomial(z)
return sp.Matrix([[xv,yv,zv]])
x,y,z = sp.symbols("x y z")
eq_cartesiana = 2*x + 3*y - z + 1
coefficientiDirettori(equazione_cartesiana=eq_cartesiana)
\(\displaystyle \left[\begin{matrix}2 & 3 & -1\end{matrix}\right]\)
x,y,z = sp.symbols("x y z")
eq_cartesiana = 8*x - z
coefficientiDirettori(equazione_cartesiana=eq_cartesiana)
\(\displaystyle \left[\begin{matrix}8 & 0 & -1\end{matrix}\right]\)
x,y,z = sp.symbols("x y z")
eq_cartesiana = -3*z + 7
coefficientiDirettori(equazione_cartesiana=eq_cartesiana)
\(\displaystyle \left[\begin{matrix}0 & 0 & -3\end{matrix}\right]\)
x,y,z,t,s = sp.symbols("x y z t s")
eq_parametriche= [
x - 1 - t,
y - 2 + t - s,
z - 3
]
coefficientiDirettori(equazioni_parametriche=eq_parametriche, s=s, t=t)
\(\displaystyle \left[\begin{matrix}0 & 0 & 1\end{matrix}\right]\)
x,y,z,t,s = sp.symbols("x y z t s")
eq_parametriche= [
x - 1 - s - t,
y + 2*s - 3*t,
z - 2 - t
]
coefficientiDirettori(equazioni_parametriche=eq_parametriche, s=s, t=t)
\(\displaystyle \left[\begin{matrix}- \frac{2}{5} & - \frac{1}{5} & 1\end{matrix}\right]\)