Graag hulp gehad bij het volgende probleem:
Stel je hebt een vlak in de ruimte en je wilt, laat zeggen met een camera(*), de stand (richtingscoefficienten) bepalen van dit vlak. De camera staat op pos (0,0,0) en het vlak gaat steeds door (0,0,h).
Een mogelijke oplossing is om een vierkant op het vlak te tekenen & met de camera dit vierkant te 'fotograferen'
De hoekpunten van het vierkant zullen dus...
1/
2x geroteerd worden :
rotatie rond Z-as:
|cos(a) -sin(a) 0|
|sin(a) cos(a) 0|
| 0 0 1|
rotatie rond Y-as:
|cos(b) 0 -sin(b)|
| 0 1 0 |
|sin(b) 0 cos(b)|
(met a,b hoeken zodat de richting van het vlak bepaald kan worden..)
2/
de hoekpunten van het vierkant zijn onderhevig aan perspectief:
3D : ( x y z ) naar 2D: (x/z y/z)
De voorgaande (voorwaartse) stappen kan ik gemakkelijk uitrekenen, maar de omgekeerde weg (van perspectiefbeeld) naar de twee hoeken a en b) gaat niet...
iemand een idee hoe ik hieraan begin?
mvg,
hadjihadji elea
19-9-2003
Interessant!
Eerst even een opmerking over de draaiingen: als je om de y-as draait, gaat het vlak niet meer (altijd) door (0, 0, h), dus je moet niet om de y-as draaien, maar om de lijn
k: (0, 0, h) + l(0, 1, 0).
Ik begin met het vierkant ABCD, waarbij
A(1, 0, h), B(1, 1, h), C(0, 1, h) en D(0, 0, h)
Na draaiing om de lijn k over hoek b zijn de beeldpunten:
A1(cos(b), 0, h+sin(b))
B1(cos(b), 1, h+sin)b))
C1(0, 1, h)
D1 = D
Na draaiing om de z-as over hoek a zijn de beeldpunten:
A2(cos(a)*cos(b), sin(a), h+sin(b))
B2(cos(a)*cos(b)-sin(a), sin(a)*cos(b)+cos(a), h+sin(b))
C2(-sin(a), cos(a), h)
D2 = D
Perspectief projectie:
A3(cos(a)*cos(b)/(h+sin(b)), sin(a)/(h+sin(b)))
B3((cos(a)*cos(b)-sin(a)/(h+sin(b)), (sin(a)*cos(b)+cos(a))/(h+sin(b)))
C3(-sin(a)/h, cos(a)/h)
Je hebt nu meer dan voldoende informatie om bij gegeven C3 de waarde van a te berekenen, en daarmee met gegeven A3 de waarde van b.
B3 is dus niet meer nodig.
groet,
Anneke
20-9-2003
#14445 - Ruimtemeetkunde - 3de graad ASO