Wpis z mikrobloga

#matematyka #3d #algebraliniowa #grafikakomputerowa

Siemka, potrzebuję jakiegoś miszcza od algebry liniowej, który wytłumaczy proste rzeczy jak pięciolatkowi.

Mam "kamerę" zdefiniowaną przez wektory AB i AC (tworzą taki prostokąt, rzutnię) i chcę obliczyć przecięcie wektora FH z płaszczyzną kamery. F = ogniskowa, H = jakiś dowolny punkt w przestrzeni. No i potrzebuję współrzędnych tego przecięcia (oczywiście wszystkie punkty mają nadane jakieś współrzędne).

Pewnie to jakiś banał, ale jakoś nie potrafię przyswoić tego, co czytam w necie :/
zwei - #matematyka #3d #algebraliniowa #grafikakomputerowa 

Siemka, potrzebuję jak...

źródło: comment_1626013057WPP8wxpoU0qJ2bWFeOWD7f.jpg

Pobierz
  • 4
@ferrariporn: Przyjmijmy, że wektory |AB| i |AC| leżą na płaszczyźnie XY. Szukasz współrzędnych x,y punktu E bo z wynosi 0. Prosta p przechodząca przez punkty H i F może być opisana parametrycznie:
px = Fx + (H-F)x * t
py = Fy + (H-F)y * t
pz = Fz + (H-F)z * t
Szukasz wartości parametru t dla którego pz = 0, punkt przecięcia z rzutnią.
pz = Fz + (H-F)z
@zwei: Da się zrobić. Jeśli masz dowolne położenie i kierunek patrzenia kamery musisz przekształcić tak, żeby było jak opisałem, tzn płaszczyzna rzutowa w płaszczyźnie XY.
Przyjmijmy że |AB| to będzie kierunek x, |AC| kierunek y a |AB| x |AC| kierunek z. |AB| x |AC| to iloczyn wektorowy. Przekształcasz (mnożysz) wszystko punkty przez macierz A^-1, gdzie
|AB|x |AC|x (|AB| x |AC|)x
A = |AB|y |AC|y (|AB| x |AC|)y
|AB|z |AC|z (|AB| x