Ho due punti nello spazio, L1 e L2 che definiscono due punti su una linea.Intersezione linea/piano in base ai punti
Ho tre punti nello spazio, P1, P2 e P3 che 3 punti su un piano.
Quindi dati questi ingressi, a che punto la linea interseca il piano?
Fx. l'equazione del piano A * x + B * y + C * z + D = 0 è:
A = p1.Y * (p2.Z - p3.Z) + p2.Y * (p3.Z - p1.Z) + p3.Y * (p1.Z - p2.Z)
B = p1.Z * (p2.X - p3.X) + p2.Z * (p3.X - p1.X) + p3.Z * (p1.X - p2.X)
C = p1.X * (p2.Y - p3.Y) + p2.X * (p3.Y - p1.Y) + p3.X * (p1.Y - p2.Y)
D = -(p1.X * (p2.Y * p3.Z - p3.Y * p2.Z) + p2.X * (p3.Y * p1.Z - p1.Y * p3.Z) + p3.X * (p1.Y * p2.Z - p2.Y * p1.Z))
Ma per quanto riguarda il resto?
Il web è già pieno di equazioni per questo, ma non l'effettiva equazione "finale" necessaria per trovare x, y, z. Quello di cui avevo bisogno era il set finale effettivo di semplici formule per ottenere x, y, z del risultato. Questa risposta richiede ancora uno per "risolvere" le equazioni, quindi è solo una parte molto piccola della risposta. Sto chiedendo una risposta del tipo: x = [formula basata su P1.X, P1.Y, P1.Z, P2.X ... ecc.] e simili per yez. –
@Morten Nielsen: La ragione è che "l'equazione finale" è mostruosa, impossibile da capire ed è garantito che venga inserita nel tuo programma in modo errato. Soprattutto perché non so come rappresenti i tuoi punti. Ma modifico il mio nodo per rendere la formula del cross-form più esplicita per te. – btilly