Diciamo che ho punto (x, y, z) e piano con punto (a, b, c) e normale (d, e, f). Voglio trovare il punto che è il risultato della proiezione ortogonale del primo punto sul piano. Sto usando questo nella programmazione grafica 3d. Voglio ottenere una sorta di ritaglio sull'aereo.Come trovo la proiezione ortogonale di un punto su un piano
20
A
risposta
45
La proiezione di un punto q = (x, y, z)
su un piano in un punto p = (a, b, c)
e un normale n = (d, e, f)
è
q_proj = q - dot(q - p, n) * n
Questo calcolo presuppone che n
è un vettore unitario.
0
Ho implementato questa funzione in Qt usando QVector3D:
QVector3D getPointProjectionInPlane(QVector3D point, QVector3D planePoint, QVector3D planeNormal)
{
//q_proj = q - dot(q - p, n) * n
QVector3D normalizedPlaneNormal = planeNormal.normalized();
QVector3D pointProjection = point - QVector3D::dotProduct(point - planePoint, normalizedPlaneNormal) * normalizedPlaneNormal;
return pointProjection;
}
Problemi correlati
- 1. proiezione ortogonale con numpy
- 2. "sfera in un sacchetto" proiezione piano-sfera
- 3. Formula per una matrice di proiezione ortogonale?
- 4. Come posso proiettare i vettori su un piano definito dal suo vettore ortogonale in Python?
- 5. Come posso proiettare un piano arbitrario identificato da 4 punti su un piano 2D?
- 6. Come convertire un punto 3D su un piano in coordinate UV?
- 7. Utilizzo del prodotto punto per determinare se il punto giace su un piano
- 8. Come specializzarsi su un tipo di proiezione in Scala?
- 9. Proiezione di un punto 2D da un marker all'immagine con l'omografia computata
- 10. Come trovo .index di un array multidimensionale
- 11. Come trovo la directory madre di un file in Perl?
- 12. Come trovo la directory home di un utente in Perl?
- 13. Come trovo la posizione assoluta di un elemento usando jQuery?
- 14. Come trovo automaticamente la posizione di un utente?
- 15. Come trovo la directory principale di un percorso?
- 16. Proiezione di installazione su Leafletjs
- 17. Non proiettare un punto sullo schermo in un mondo con proiezione isometrica
- 18. Rotazioni 3D di un piano
- 19. distanza segnata tra piano e punto
- 20. come trovo un elenco di file impegnati in un ramo?
- 21. Proiezione di un punto 3D sullo spazio dello schermo 2D utilizzando una matrice di telecamera prospettica
- 22. trovare un punto su un percorso
- 23. Proiezione di un punto 3D a una coordinata dello schermo 2D
- 24. MongoDB Proiezione di un documento secondario
- 25. Come trovo l'indice di un oggetto in un vettore?
- 26. Calcolo di un punto su un'ellisse
- 27. Come trovo un riferimento circolare durante la serializzazione xml?
- 28. Come trovo la directory corrente?
- 29. Come tracciare un file immagine su una superficie del grafico 3D usando Python? - Non tracciare un piano come piano
- 30. Distanza tra coppie di punti su un piano cartesiano
Questo utilizza lo stesso algoritmo come il precedente, risposta accettata e usa un linguaggio non richiesto. Che cosa aggiunge questa risposta alla risposta accettata? –