[CG] Passieve transformatie in praktijk

Forum van 1ste Bachelor Informatica.

Moderator: Praesidium

User avatar
Fristi
WOZ
Posts: 4565

[CG] Passieve transformatie in praktijk

Post#1 » Sat Jun 21, 2008 7:16 pm

Loha

Ik was dus Cg (duh) aant leren en ik vroeg me iets af over actieve /passieve transformaties.

Het theoretische concept snap ik wel voor zover ik weet, bij ctief verplaatst me neen object, bij passief verplaatst men de assenstelsels tov de wereld.

Nu vroeg ik mij af hoe dit zich uit in praktijk, als men dit bijv. wil implementeren in een engine.

Wij deden al onze transformaties over al onze objecten, of een van de objecten in de wereld, is het ook mogelijk om bijvoorbeeld het beeld te roteren zonder daadwerkelijk u objecten aan te passen? (dus passief te transformeren)

Of uit zich dit praktisch gezien altijd in u objecten allemaal verplaatsen? (gezien men toch nieuwe coordinaten moet geven..)

Greets
fristi
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

Pieter Belmans
Posts: 593
Contact:

Post#2 » Sat Jun 21, 2008 7:24 pm

Je transformeert altijd coordinaten. Actief en passief verschillen enkel in ten opzichte van wat je ze verandert. Basically is het:

* actief: je verplaatst (meestal toch) een deel van de aanwezige objecten tegenover de oorsprong;
* passief: je verplaatst de oorsprong tegenover alle objecten.

Als je dus nu je beeld wil roteren (je wereld that is), zal je toch ofwel een actieve transformatie moeten uitvoeren, ofwel de inverse passieve transformatie (het is immers pretty obvious dat ze invers zijn). Als je gewoon de uiteindelijke render wil linksom/rechtsom draaien gebruik je een voorgeprogrammeerde Gfx methode :P. (Is die er niet mag je zelf gaan programmeren, maar het is in elk geval 2D vanaf daar, en Oberon bevat afaik echt wel mogelijkheden tot 2D-transformaties in Gfx/Images dmv transformatiematrices, dus zo generiek als je maar wil).

User avatar
Fristi
WOZ
Posts: 4565

Post#3 » Sat Jun 21, 2008 7:27 pm

uhu, cava, had al zon grijs vermoeden maar was ni zeker. nuja, niet dat het nu nog zo veel uitmaakt :)

Thanks anyway :)
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

Pieter Belmans
Posts: 593
Contact:

Post#4 » Sat Jun 21, 2008 8:29 pm

Het zou nogal tovenarij zijn he, zonder iets te doen plots een transformatie doorgemaakt hebben ;).

User avatar
Fristi
WOZ
Posts: 4565

Post#5 » Sat Jun 21, 2008 9:54 pm

haha, ja, kzie u al doen op u presentatie..*magic happens here* :D
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

User avatar
racekakje
WOZ
Posts: 740

Post#6 » Sun Jun 22, 2008 10:54 am

Kunde ook ni uwe engine zo opbouwen dage een representatie opslaagt van uw punten (die ge dan moet vermenigvuldigen met u basisvectoren om u coordinaten te kennen). Als ge dan gewoon u basis vectoren (passief) transformeert, zullen alle punten ook ineens ge transformeert uit uwe engine komen..

Dit lijkt me een stuk eenvoudiger als ge bv uwe camera wilt laten draaien..

User avatar
Fristi
WOZ
Posts: 4565

Post#7 » Sun Jun 22, 2008 11:26 am

uhu, mja, uiteindelijk gade dan nog al uw punten moeten overlopen en vermenigvuldigen, dus kunde evegoe actief transformeren :)

KWeet nu ni wa het efficientste is.
tis of al u punten vermenigvuldigen met transformatie matrix of u basisvectoren verm. met transformatiematrix en dan al u punten met die drie.

Maar ge moet rekening houde me het feit dat ge dan altijd u punte moe vermenigvuldigen me die basisvectoren als ge er iets me wilt doen dus ik vermoed da da minder efficient is..
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

Pieter Belmans
Posts: 593
Contact:

Post#8 » Sun Jun 22, 2008 11:52 am

Je werkt sowieso al in een representatieruimte. We hebben immers orthogonale basisvectoren genomen, waarin we alle punten en vectoren uitdrukken dmv coëfficiënten die op hun beurt ook weer vectoren vormen.

Je kan dan wel je basisvectoren aanpassen, maar dat is dan hetzelfde als een transformatie in een gegeven basis uitvoeren. Altijd zal je met een transformatiematrix moeten werken. Je moet immers de coëfficiënten uit de representatieruimte wijzigen.

Moraal: magic cannot happen there :P.

Return to “1ste Bachelor”

Who is online

Users browsing this forum: No registered users and 62 guests