Piani paralleli e piani coincidenti

Dati due piani \(\alpha\) e \(\beta\) sono:

  • paralleli e distinti: nessun punto in comune
  • paralleli e coincidenti: coincidono punto per punto \(\alpha \equiv \beta\)

Mettendo le due forme cartesiane dei piani in un sistema lineare (poichè gli eventuali punti in comune hanno coordinate che soddisfano entrambe le equazioni): \(ax+by+cz+d=0\) (eq. cartesiana di \(\alpha\)) \(a'x+b'y+c'z+d'=0\) (eq. cartesiana di \(\beta\))

  • affinchè i due piani siano paralleli e distinti il sistema non deve amettere soluzioni
  • affinchè i due piani siano paralleli e coincidenti il sisetma deve ammattere \(\infty^2\) soluzioni

Il sistema ammette soluzioni solo se \(rk(A) < rk(A|b)\) (matrice incompleta ass., matrice completa ass.), inoltre ammette \(\infty^2\) soluzioni se e solo se \(rk(A)=rk(A|b)=1\) (poiché è dato da \(n-rk(A|b)\) e sappiamo \(n\) essere pari a 3 per via delle tre incognite). Essendo che il rango delle matrici può essere solo pari ad 1 o 2, il sistema non ammette soluzioni se e sole se \(rk(A) = 1\) e \(rk(A|b) = 2\).

Da quanto sopra si conclude che i piani sono:

  • paralleli e distinti se e solo se esiste uno scalare \(\lambda \ne 0\) tale che:

\(a=\lambda a';\quad b=\lambda b';\quad c=\lambda c', \quad ma \quad d \ne \lambda d'\)

  • paralleli e coincidenti se e solo se esiste uno scalare \(\lambda \ne 0\) tale che:

\(a=\lambda a';\quad b=\lambda b';\quad c=\lambda c';\quad d=\lambda d'\)

Studio parallelismo tra piani

In forma cartesiana

Se \(\alpha\) e \(\beta\) sono assegnati in forma cartesiana:

\(\alpha = ax+by+cz+d=0\)

\(\beta = a'x+b'y+c'z+d'=0\)

vale quanto descritto sopra, ossia esistenza dello scalare \(\lambda \ne 0\).

In forma parametrica

Si effettua il passaggio alla forma cartesiana per poi procedere come sopra (vedi sezione "Dalle equazioni parametriche all'equazione cartesiana").

Funzione riassumibile

from typing import List
import sympy as sp
from ipynb.fs.full.piano_equazioni_parametriche_equazione_cartesiana import equazioniParametricheToEquazioneCartesiana

def studioParallelismo(alpha_cartesiana: sp.Expr = None, alpha_parametriche: List[sp.Expr] = None, beta_cartesiana: sp.Expr = None, beta_parametriche: List[sp.Expr] = None) -> str:

    if alpha_parametriche is not None:
        alpha_cartesiana = equazioniParametricheToEquazioneCartesiana(alpha_parametriche, sp.Symbol("s"), sp.Symbol("t"))
    if beta_parametriche is not None:
        beta_cartesiana = equazioniParametricheToEquazioneCartesiana(beta_parametriche, sp.Symbol("s"), sp.Symbol("t"))

    A, b = sp.linear_eq_to_matrix([alpha_cartesiana, beta_cartesiana], sp.symbols("x y z"))
    Ab = sp.Matrix([[A, b]])
    rangoA = A.rank()
    rangoAb = Ab.rank()

    if rangoA < rangoAb:
        return "PARALLELI_DISTINTI"
    if rangoAb is 1 and rangoA is 1:
        return "PARALLELI_COINCIDENTI"
    else:
        return "NON_PARALLELI"

Esempi

x,y,z = sp.symbols('x y z')

a1 = 2*x + y - 3*z + 5
b1 = 4*x + 2*y - 6*z + 10

studioParallelismo(alpha_cartesiana=a1, beta_cartesiana=b1)
rangoA 1
rangoAb 1

'PARALLELI_COINCIDENTI'
x,y,z,s,t = sp.symbols('x y z s t')
a2 = [
    x - 2*s - t,
    y - 3,
    z - 1 + s - 5*t
]
b2 = [
    x - 2 - t,
    y - 1 + s,
    z - 2*t + 3*s
]

studioParallelismo(alpha_parametriche=a2, beta_parametriche=b2)
rangoA 2
rangoAb 2

'NON_PARALLELI'
x,y,z,s,t = sp.symbols('x y z s t')
a3 = [
    x - 1 - 2*s + t,
    y - s,
    z + 1 + t
]
b3 = x - 2*y - z + 1

studioParallelismo(alpha_parametriche=a3, beta_cartesiana=b3)
rangoA 1
rangoAb 2

'PARALLELI_DISTINTI'

Riferimenti

  • https://www.youmath.it/lezioni/algebra-lineare/geometria-dello-spazio/4060-parallelismo-tra-piani.html

Riferimenti

  • https://www.youmath.it/lezioni/algebra-lineare/geometria-dello-spazio/4060-parallelismo-tra-piani.html