Cho phép nói rằng tôi có điểm (x, y, z) và mặt phẳng có điểm (a, b, c) và bình thường (d, e, f). Tôi muốn tìm điểm đó là kết quả của phép chiếu trực giao của điểm đầu tiên lên mặt phẳng. Tôi đang sử dụng điều này trong lập trình đồ họa 3D. Tôi muốn đạt được một số loại clipping vào máy bay.Làm cách nào để tìm phép chiếu trực giao của một điểm trên mặt phẳng
20
A
Trả lời
45
Các chiếu của một điểm q = (x, y, z)
lên một chiếc máy bay đưa ra bởi một điểm p = (a, b, c)
và bình thường n = (d, e, f)
là
q_proj = q - dot(q - p, n) * n
tính này giả định rằng n
là một vector đơn vị.
0
Tôi đã thực hiện chức năng này trong Qt sử dụng 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;
}
Các vấn đề liên quan
- 1. Làm thế nào tôi có thể tìm thấy điểm giao nhau của ba mặt phẳng?
- 2. Làm thế nào để chiếu một đa giác phẳng trên mặt phẳng trong không gian 3d
- 3. phép chiếu trực giao với numpy
- 4. Xác định giao điểm của tam giác và mặt phẳng
- 5. Đóng các điểm đóng trên mặt phẳng?
- 6. Tìm điểm gần nhất từ một tập hợp các điểm trên mặt phẳng
- 7. Làm cách nào để chuyển đổi điểm 3D trên mặt phẳng thành tọa độ UV?
- 8. Tìm ba điểm gần nhất mỗi điểm trên mặt phẳng 2D
- 9. Làm thế nào tôi có thể chiếu một mặt phẳng tùy ý được xác định bởi 4 điểm lên mặt phẳng 2d?
- 10. Xoay 3D của một mặt phẳng
- 11. Làm thế nào tôi có thể chiếu vectơ lên mặt phẳng được xác định bởi vectơ trực giao của nó trong Python?
- 12. Xoay vectơ bình thường trên mặt phẳng trục
- 13. Sử dụng sản phẩm chấm để xác định xem điểm nằm trên mặt phẳng
- 14. Làm cách nào để tìm một đối tượng trước hoặc sau điểm tham chiếu?
- 15. Đường cong lắp các điểm chưa được phân loại trên mặt phẳng
- 16. Giao điểm của lưới có bề mặt tham số
- 17. iPad ra mắt định hướng khi phẳng trên bề mặt
- 18. Làm cách nào để tạo giao điểm của hai băm?
- 19. Tìm giao điểm của hai mảng
- 20. Làm cách nào để cung cấp cho RichTextBox một giao diện phẳng?
- 21. Tính toán khoảng cách của ma trận xoay và dịch của 2 đối tượng trên cùng một mặt phẳng
- 22. Góc được ký giữa hai véc-tơ không có mặt phẳng tham chiếu
- 23. Trọng lượng ít nhất vuông - vừa với mặt phẳng để đặt điểm 3D
- 24. Tìm kiếm một từ để "làm phẳng một cây"
- 25. Tìm tọa độ của một điểm trên đường
- 26. Làm cách nào để tìm giao điểm của một mảng các mảng chứa đối tượng sử dụng Javascript/underscorejs?
- 27. Làm thế nào tôi có thể vẽ một mặt phẳng 3D trong Matlab?
- 28. Đảo ngược điểm 2D chiếu vào 3D
- 29. Chiếu phối cảnh - làm cách nào để chiếu các điểm phía sau 'máy ảnh'?
- 30. Cách tìm 4 điểm bên cạnh giao điểm của hai dòng
này sử dụng các thuật toán tương tự như, câu trả lời được chấp nhận trước và sử dụng một ngôn ngữ không yêu cầu. Câu trả lời này chỉ thêm vào câu trả lời được chấp nhận là gì? –