Powiedzmy, że mam punkt (x, y, z) i płaszczyznę z punktem (a, b, c) i normalnym (d, e, f). Chcę znaleźć punkt, który jest wynikiem ortogonalnego rzutu pierwszego punktu na płaszczyznę. Używam tego w programowaniu grafiki 3D. Chcę osiągnąć pewien rodzaj obcinania w samolocie.Jak znaleźć rzut ortogonalny punktu na płaszczyznę
20
A
Odpowiedz
45
Występ punktu q = (x, y, z)
na płaszczyźnie określonej przez punkt p = (a, b, c)
i normalnych n = (d, e, f)
jest
q_proj = q - dot(q - p, n) * n
Obliczenie zakłada n
jest wektorem jednostkowym.
0
I zostały wdrożone tej funkcji w QT przy użyciu 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;
}
Powiązane problemy
- 1. rzut ortogonalny z numpy
- 2. rzut kuli na płaszczyznę za pomocą matlab
- 3. Howto rzut płaskiego wielokąta na płaszczyznę w przestrzeni trójwymiarowej
- 4. Jak mogę rzutować dowolną płaszczyznę zidentyfikowaną przez 4 punkty na płaszczyznę 2d?
- 5. jak znaleźć k-najbliższego sąsiada punktu w zestawie punktu
- 6. Obrót wektora normalnego na płaszczyznę osi
- 7. Wykreślić płaszczyznę na podstawie normalnego wektora i punktu w Matlab lub matplotlib
- 8. Jak przekonwertować punkt 3D na płaszczyznę na współrzędne UV?
- 9. jak wyłączyć rzut przewijaniaView
- 10. Rzut podwójny na inny numeryczny
- 11. Wyszukiwanie punktu na linii
- 12. Znaleźć najbliższy punkt do danego punktu
- 13. Jak wykreślić płaszczyznę 3D w programie Matlab?
- 14. Jak wpisać rzut w F #?
- 15. Jak znaleźć najbliższy posterunek policji do punktu geo
- 16. Obliczanie punktu na elipsie
- 17. Jak narysować hiper płaszczyznę w 3D dla wyników SVM?
- 18. reinterpretuj rzut tablic ze stringów na int
- 19. MongoDB Rzut dokument podrzędny
- 20. R/GIS: Znajdź ortogonalny dystans między położeniem a najbliższą linią
- 21. Jak rzut SQLException w procedury przechowywanej
- 22. Rzut/mirroring obrazów
- 23. Rzut ruby i skuteczność
- 24. Kąt danego punktu na krzywej Beziera?
- 25. Obracanie punktu wokół innego punktu
- 26. Polecenie warunkowe, delegat ogólny niepotrzebny rzut
- 27. luźniejsze rzut specifier w C++
- 28. Określanie punktu przecięcia trójkąta i płaszczyzny
- 29. znaleźć między dwoma punktu geo z kierunku android
- 30. Uzyskaj współrzędne punktu od mkmapview na iphone
używa tego samego algorytmu, jak w poprzednim, zaakceptowanej odpowiedzi i używa języka nie hasła. Tylko co ta odpowiedź dodaje do zaakceptowanej odpowiedzi? –