Digamos que tengo el punto (x, y, z) y el plano con el punto (a, b, c) y normal (d, e, f). Quiero encontrar el punto que es el resultado de la proyección ortogonal del primer punto en el plano. Estoy usando esto en la programación de gráficos 3D. Quiero lograr algún tipo de recorte en el avión.¿Cómo puedo encontrar la proyección ortogonal de un punto en un plano?
20
A
Respuesta
45
La proyección de un punto q = (x, y, z)
sobre un plano dado por un punto p = (a, b, c)
y una normal de n = (d, e, f)
es
q_proj = q - dot(q - p, n) * n
Este cálculo supone que n
es un vector unitario.
0
he implementado esta función en Qt utilizando 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;
}
Cuestiones relacionadas
- 1. ¿Fórmula para una matriz de proyección ortogonal?
- 2. ¿Cómo puedo proyectar un plano arbitrario identificado por 4 puntos en un plano 2d?
- 3. Proyección de un punto 2D desde un marcador a la imagen con homografía computada
- 4. ¿Qué es un índice ortogonal?
- 5. cómo encontrar k-ésimo vecino más cercano de un punto en un conjunto de punto
- 6. Encontrar el punto más cercano a un conjunto de puntos en el plano
- 7. Encontrar coordenadas de un punto en OpenLayers
- 8. La mejor manera de encontrar un punto en un círculo más cercano a un punto dado
- 9. Encontrar los tres puntos más cercanos a cada punto en un plano 2D
- 10. ¿Cómo puedo encontrar el punto de intersección de tres planos?
- 11. Encontrar un punto en una línea
- 12. Nunca llegué a 480 * 800 cuando uso proyección ortogonal 2D en OpenGL-ES
- 13. Cómo encontrar una matriz de proyección 3D en Surf Detection
- 14. ¿Cómo elijo metódicamente la distancia del plano del clip cercano para una proyección en perspectiva?
- 15. Obtener longitud Laltitude de un punto en mi Worldmap en Mollweide proyección
- 16. Trazar un plano basado en un vector normal y un punto en Matlab o matplotlib
- 17. Puntos bidimensionales de proyección inversa en 3D
- 18. algoritmo para encontrar un punto entre n puntos en el plano para minimizar la suma de distancias
- 19. Proyección en perspectiva - Ayuda a un Noob
- 20. ¿La proyección de tipo tiene un opuesto, o sigue siendo una proyección (o solo un mapeo)?
- 21. ¿Cómo encontrar AMBOS hilos de un punto muerto?
- 22. Determinación de la intersección de un triángulo y un plano
- 23. ¿Es Java ortogonal?
- 24. opengl proyección oblicua
- 25. ¿Cómo puedo encontrar la popularidad de un término de búsqueda?
- 26. ¿Cómo calculo un punto en la circunferencia de un círculo?
- 27. Invertir un conjunto de rectángulos en un plano 2D
- 28. Cómo calcular los mínimos cuadrados totales en R? (Regresión ortogonal)
- 29. Algoritmo para proyectar objetos 2D/3D en un plano (Realidad Aumentada)?
- 30. ¿Cómo puedo encontrar la versión de un módulo Perl instalado?
Este utiliza el mismo algoritmo que el, respuesta anterior aceptado y utiliza un lenguaje no solicitado. ¿Qué agrega esta respuesta a la respuesta aceptada? –