8 Coördinaten op de kijklijn

Een 3D wereld afbeelden op een foto (of kijkvlak of het computerscherm) gaat, zoals we straks laten zien, precies het zelfde als het afbeelden van een 2D wereld op een lijn zoals in figuur 9. De taak die we moeten uitvoeren is de coördinaten van de beeldpunten te berekenen op de kijklijn (kijkvlak in 3D) (1). In 3D moeten we daarna het kijkvlak als een ”euclidisch vlak beschouwen” (2) en de kijkvlak coördinaten nog naar schermcoördinaten vertalen (3).

Kijkende vanuit Z wordt een punt P afgebeeld op een punt W op kijklijn. Om de coördinaten van W te krijgen moeten we een lijn m trekken vanuit het kijkpunt Z door P en deze snijden met de kijklijn l. In het projectieve vlak zijn Z en P gegeven door de vectoren:

Z = xz yz zz ,P = xp yp zp

Ook de lijn l kunnen we als een vector gaan schrijven. Daartoe moet er eerst weer wat begrip over de euclidische lijn worden uitgebreid.

In het begin van dit document hebben we gezien dat een meer algemenere schrijfwijze voor een lijn l : ax + by = d is. Om naar een vector notatie van de lijn in het projectieve vlak te komen brengen we ook de term d naar links:
l : ax + by d = 0 ofwel l : ax + by + c = 0 met c = d.
De x en y in deze vergelijking zijn de euclidische coördinaten voor een punt. In de vertaling naar het projectieve vlak werd het euclidische punt uitgebreid met een derde coördinaat z die voor een echt euclidisch punt gelijk is aan 1 . We schrijven nu ook z in de vergelijking: l : ax + by + cz = 0. Voor een projectief punt dat niet op l ligt zal deze vergelijking niet kloppen en is l : ax + by + cz0.

Opgaven:

64.
Gegeven is de projectieve lijn : k : x 2y + 3z = 0 . Bepaal of de volgende projectieve punten wel of niet op de lijn k liggen.
A = 5 1 1 ,B = 3 3 3 ,C = 1 1 1 2 ,D = 1 2 1

In het projectieve vlak is het punt Q het zelfde als f Q voor een willekeurig getal f ongelijk 0 want zoals eerder geschreven: een punt wordt weergegeven als een lijn door de oorsprong in een 3D weergave van het projectieve vlak. Zo zullen de coördinaten van 3 A en 0.0001 B uit de opgave ook aan de vergelijking voor de lijn voldoen. Controleer dit. Voor een projectieve lijn introduceren we lijn-coördinaten die worden gegeven door de coëfficiënten voor de x,y en z:

l = al bl cl

Ook hier geldt l = f l voor een willekeurig getal f ongelijk 0 want als we de hele vergelijking voor l met f vermenigvuldigen krijgen we dezelfde oplossing voor x,y en z. In de opgave is

l = 1 2 3 .

Vervangen we die coördinaten door 3l dan blijft de vergelijking gelden. Zowel een lijn als een punt worden nu gegeven als een vector ofwel een matrix met één kolom. Voor een nog kortere notatie van een lijn, die ook handig is voor hogere dimensies, introduceren we het inproduct (ook wel dot product genoemd) van twee vectoren v en w als :

< v,w >= v1 v2 v n , w1 w2 w n = v1w1+v2w2++vnwn (21)

Het resultaat van een inproduct is een getal (eigenlijk doen we het zelfde bij het uitrekenen van matrixelementen bij een matrixvermenigvuldiging). Dit inproduct van twee vectoren heeft de volgende eigenschappen:

Een punt W ligt dus op een projectieve lijn l als geldt < l,W >= 0


Figuur 10: Twee vectoren uitO spannen een vlak door O op

SVG-Viewer needed.


Er is nog een heel andere manier om een vergelijking van een lijn te krijgen. Dit lichten we toe met de lijn door de punten Z en P en de lijn m die daar doorheen gaat. Een lijn wordt omgezet tot een vlak door oorsprong in een 3D weergave van het projectieve vlak. Een willekeurig punt in dit vlak kun je als volgt krijgen:

P = fP + gZ (22)

waarin f en g gewone getallen. In wiskundige taal zeggen we P is een lineaire combinatie van de vectoren P en Z.

Opgaven:

65.
In figuur 10 is een situatie weergegeven. Open de applet en overtuig jezelf dat door f en g te veranderen je in elk willekeurig punt kan komen.
66.
Gegeven zijn de punten Z = 1 2 4 ,P = 1 4 1 Bereken de coördinaten van P als
a)
f = 3,g = 4

b)
f = 1,g = 1
De twee vormen voor een projectieve lijn hebben met een bepaalde bedoeling geïntroduceerd. Het is namelijk mogelijk om met deze twee vormen eenvoudig een snijpunt van twee lijnen uit te rekenen. We willen het snijpunt W van de lijn m door het kijkpunt Z en het punt P met de kijklijn l : alx + bly + clz = 0 met lijncoördinaten
l = al bl cl .

Het snijpunt W = (x,y,z) ligt op l dus er geldt:

< l,W >= 0 (23)

W ligt ook op de lijn m door P en Z en is te schrijven als een lineaire combinatie van P en Z:

W = λP + μZ (24)

We zijn dus op zoek naar getallen λ en μ die er voor zorgen dat W zowel l als op m komt te liggen. We nemen nu de vorm voor m en vullen die in in de vorm voor l:

< l,W >=< l, (λP + μZ) >= 0

Volgens de eigenschappen van het inproduct is dit laatste gelijk aan:

λ < l,P > +μ < l,Z >= 0

Hieruit lossen we μ op

μ = λ < l,P > < l,Z >

Merk op dat omdat het kijkpunt Z niet op kijklijn l ligt is < l,Z > 0. Invullen in de voorwaarde van W op m levert:

W = λP λ < l,P > < l,Z > Z = λ(P < l,P > < l,Z > Z)

Omdat in het projectieve vlak fW = W kunnen we λ gewoon weglaten:

W = P < l,P > < l,Z > Z

Links en rechts vermenigvuldigen met het getal < l,Z > geeft

< l,Z > W =< l,Z > P < l,P > Z

We gebruiken weer het argument fW = W zodat overblijft

W =< l,Z > P < l,P > Z (25)


Figuur 11: Snijpunt van de lijnen in het voorbeeld.

SVG-Viewer needed.


Tijd voor een voorbeeld:

Vraag: Gegeven zijn de euclidische punten:
Z = 3 2 ,P = 1 4 op de lijn m
en de lijn l : x = 1.
Geef de euclidische coördinaten van het snijpunt W van de lijnen l en m.

Antwoord:
De projectieve versies van Z en P zijn:Z = 3 2 1 ,P = 1 4 1 en de lijn-coördinaten voor de projectieve lijn l : 1x + 0y + 1z = 0 zijn l = 1 0 1 .
Nu is < l,Z >= 1 × 3 + 0 × 2 + 1 × 1 = 4 en < l,P >= 1 × 1 + 0 × 4 + 1 × 1 = 2. Dus

W = 4P2Z = 4 1 4 1 2 3 2 1 = 2 12 2 .

Schalen zodat de z coördinaat van W gelijk wordt aan 1 levert:
W = 1 6 1 . In het euclidische vlak is dit dus het punt W = 1 6 . Een snelle controle met behulp van geogebra (11) laat zien dat dit juist is.

Opgaven:

67.
Gegeven zijn de euclidische punten: Z = 1 2 ,P = 5 2 op de lijn m
en de lijn l : x + y = 1.
Bereken op bovenstaande wijze de euclidische coördinaten van het snijpunt W van de lijnen l en m.
68.
Gegeven zijn de euclidische punten: Z = 9 2 ,P = 0 6 op de lijn m
en de lijn l : x + 3y = 3.
Bereken op bovenstaande wijze de euclidische coördinaten van het snijpunt W van de lijnen l en m.

Ons streven was om alles via matrixvermenigvuldiging met P op te lossen. Hoewel heel elegant willen we het inproduct met P in de vergelijking W =< l,Z > P < l,P > Z omschrijven totdat we een matrixvermenigvuldiging met P overhouden. Besef eerst dat

W =< l,Z > P < l,P > Z =< l,Z > P Z < l,P > . (26)

Verder is

< l,P >= lxPx+lyPy+lzPz = lxlylz Px Py Pz = lT P.

Hierin is lT de getransponeerde van de vector l = lx ly lz . Ter herinnering 3.3.2: in het algemeen is de getransponeerde van een matrix M een nieuwe matrix M waarin de rijen en kolommen verwisseld zijn. Ofwel de eerste rij van M wordt de eerste kolom van M , de tweede rij van M wordt de tweede kolom van M, etc.

Voorbeeld:
De getransponeerde van de matrix M = 123 4 5 6 is M = 14 2 5 3 6 . Gebruikmakend van deze nieuwe schrijfwijze van het inproduct vervangen we alleen < l,P > in (26):

W =< l,Z > P ZlT P.

Het lijkt of we P nu buiten haakjes kunnen brengen. Het probleem is nog dat < l,Z > een getal is en ZlT een 3 × 3 matrix (Waarom?). Dit probleem kunnen op lossen door P in < l,Z > P met de driedimensionale eenheidsmatrix I3 te vermenigvuldigen. Dit geeft:

W =< l,Z > I3P ZlT P = (< l,Z > I 3 ZlT )P (27)

waarin < l,Z > I3 ZlT een 3 × 3 matrix is.


Samenvattend:

Bij een projectie in het vlak van een punt P op een lijn l vanuit kijkpunt Z wordt het beeldpunt W op lijn l uitgerekend door de matrixvermenigvuldiging W = MP waarin M =< l,Z > I3 ZlT


Voorbeeld:
Vraag: Gegeven zijn de euclidische punten Z = 3 2 ,P = 1 4 op m en de lijn l : x = 1.
Geef de euclidische coördinaten van het snijpunt W van de lijnen l en m.

Antwoord:
De projectieve versies van Z en P zijn:Z = 3 2 1 ,P = 1 4 1 en de projectieve lijn-coördinaten voor de projectieve lijn l : 1x + 0y + 1z = 0 zijn l = 1 0 1 .
Nu is < l,Z >= 1 × 3 + 0 × 2 + 1 × 1 = 4. De matrix M wordt dan:

M = < l,Z > I3 ZlT = 4 100 0 1 0 0 01 3 2 1 101 = 400 0 4 0 0 04 303 2 0 2 1 01 = 1 0 3 2 4 2 10 3

Het projectieve snijpunt wordt dan

W = MP = 1 0 3 2 4 2 10 3 1 4 1 = 2 12 2

Schalen naar Wz = 1 levert weer het bijbehorende euclidische punt W = 1 6 .

Het voorbeeld laat zien dat het proces om de matrix M te bepalen lastiger is dan het direct uitrekenen zoals in het vorige voorbeeld is gedaan. Echter we hebben nu een matrix die we met alle punten in een mogelijke wereld kunnen vermenigvuldigen. Dit levert winst. Bovendien is de matrix M alleen afhankelijk van het kijkpunt Z en de kijklijn l.

Opgaven:

69.
Doe de opgaven 67 en 68 nog een keer maar nu gebruikmakend van de matrix M.