Auteur Topic: Rotatie  (gelezen 6679 keer)

Wim van Dijk

  • Junior
  • **
  • Berichten: 30
Rotatie
« Gepost op: 6 oktober 2010, 19:07:54 »
Beste mensen,

Ik loop tegen het volgende probleem aan bij rotatie van beelden. Ik weet niet goed hoe ik het uit moet leggen, maar ik doe een poging. Alvast mijn excuses als het een omslachtig verhaal wordt.

Ik wil een vierkante foto in het midden laten draaien om de Y-as, waarbij aan de 'achterkant' van het object een andere foto verschijnt. Daartoe laat ik het eerste object draaien tot 72 graden. Vervolgens heb ik een nieuw object gemaakt deze 'plak' ik tegen het eerste object aan. Deze laat ik starten op -108 graden, vervolgens laat ik deze naar 0 graden draaien en ziedaar de foto is omgedraaid. Tijdens het draaien gebeurt er echter iets merkwaardig. Het tweede object draait namelijk even iets uit beeld. Dat moet nu juist niet gebeuren. Het object dient uiteindelijk tegen de witte (scherm) rand aan te komen en er dus niet overheen gaan. In de bijlage Buitenbeeld.jpg heb ik een schermafdruk waarbij je kunt zien dat de foto net buiten de witte lijn van het scherm komt. Je ziet ook dat de tijdlijn ook op ongeveer 2/3 staat waarbij dit effect optreedt. In de tweede schermafdruk PGR.jpg laat ik zien welke eigenschappen voor positie, grootte en rotatie ik heb ingesteld.

In verband met bovenstaande vind ik het bijvoorbeeld raar dat ik een hoek moet instellen van 72 of -108 graden om een object haaks op het scherm te krijgen (zodat het even niet meer zichtbaar is), waarom is dat geen 90 of -90?

Ik heb bovenstaande ook nog eens geprobeerd met een foto met de verhouding 2:3 (de verhouding van het scherm dat ik in WP heb ingesteld), maar ook dit geeft hetzelfde (niet bedoelde) effect.

Wat doe ik hier fout?
Met vriendelijke groet,

Wim van Dijk

Wim van Dijk

  • Junior
  • **
  • Berichten: 30
Re: Rotatie
« Reactie #1 Gepost op: 6 oktober 2010, 22:12:51 »
Even nog een aanvulling van mijn kant. Een deel van de oplossing is het feit dat als je een beeld gaat draaien is dat het deel dat naar voren komt groter wordt. Dit is logisch gezien de natuurwetten rond perspectiefvertekening. Het gevolg hiervan is dat een de foto buiten de rand komt. Blijf ik nog wel raar vinden dat ik moet werken met 72 en 108 graden. NB met een foto die het volledige beeld beslaat is een haakse hoek tov het scherm wel 90 graden. Misschien dat het komt doordat het een klein fotootje is die ik aan de rand van het scherm geplaatst heb, alleen dan snap ik het nog niet.
Met vriendelijke groet,

Wim van Dijk

Cuno Wegman

  • Algemene moderator
  • Held
  • *****
  • Berichten: 722
Re: Rotatie
« Reactie #2 Gepost op: 7 oktober 2010, 21:44:07 »
Hallo Wim,

Ik wil proberen een uitleg te geven van de manier waarop de rotatie van afbeeldingen werkt.

De rotatie (en alle andere beeldbewegingen) worden uitgevoerd voor een (fictieve) waarnemer die midden voor het scherm zit. Of eigenlijk met 1 oog zit te kijken recht voor het middelpunt van het scherm.
Als je dan een plaatje langs de Y-as met 90 graden draait, dan kijk je haaks op het plaatje, en zie je dus niets. Dat heb je ook al geconstateerd, en kun je je waarschijnlijk ook wel "in het echt" voorstellen met een foto op papier, recht voor het scherm.

Als je nu deze foto, nog steeds haaks op het scherm, verschuift naar de zijkant van het scherm, terwijl je oog voor het midden van het scherm blijft, dan krijg je toch een deel van het oppervlak van de foto te zien. Gewoon omdat je niet meer recht voor de zijkant van de foto zit.
Om vanuit het waarnemingspunt, recht voor het midden van het scherm, toch tegen de zijkant van de foto aan te kijken, moet de foto zodanig gedraaid worden (om dezeflde Y-as), dat deze parallel komt te liggen aan de lijn van de rand van het beeldscherm naar het oog (waarnemingspunt). En blijkbaar is die extra hoek 18 graden (72 = 90 - 18, 108 = 90 + 18). De grootte van de foto speelt daarbij geen rol.

Bij de rotatie die waarbij even een randje buiten beeld verdwijnt, draait dus dat randje van de foto buiten de denkbeeldige lijn van de rand van het scherm (of beeldveld) naar het oog (waarnemingspunt). En valt dus letterlijk "buiten beeld".

Ook hier is dus alles te verklaren met de natuurwetten rond het perspectief en waarneming.

Volgens mij is het door jou gewenste effect (tot "haaks" wegdraaien binnen een opgegeven kader) wel te realiseren.
Al moet ik er wel bij vermelden dat een deregelijke rotatie die geheel binnen een rechthoekig kader wordt uitgevoerd juist door het ontbreken van de schuin verlopende perspectieflijnen, niet meer de indruk geeft van een rotatie maar van een samendrukken.

Het uitvoeren binnen een kader kan gedaan worden door voor dat kader een apart beeldveld toe te voegen. Bij de afbeelding die in de tijdlijn geroteerd moet worden, moet je bij de Eigenschapen de opties "Beeldveldclipping inschakelen" en "Clipgebied fixeren" in te schakelen. Daarna kan het geroteerde beeld niet meer buiten dat kader getoond worden.
De helft van de afbeelding die naar achteren gedraaid wordt, wordt dan nog wel kleiner dan het kader. Daardoor onstaat wel een knik in de rand van de afbeelding. Technisch logisch en verklaarbaar, maar mogelijk ongewenst.

Wat dan overblijft is "echt" samendrukken: gebruik binnen het stuurspoor niet de optie Roteren Y-as, maar Positie/Zoom. Schakel daarbij de koppeling tussen horizontale en verticale zoom uit (vakje "X=Y" uitzetten) en laat de zoomwaarde van Y-as verlopen van 100 (afbeelding geheel zichtbaar) naar 0 (afbeelding 90 graden gedraaid) en weer terug met de tweede afbeelding.

Alles bij elkaar een lange tekst, maar ik hoop dat het toch begrijpelijk is.
AVĂ©,
Cuno

Wim van Dijk

  • Junior
  • **
  • Berichten: 30
Re: Rotatie
« Reactie #3 Gepost op: 7 oktober 2010, 22:27:18 »
Cuno,

Hartelijk dank voor je uitgebreide antwoord, het is mij volkomen duidelijk. Omdat ik aan het werken was aan een soort puzzel waarbij de stukjes stuk voor stuk werden omgedraaid heb ik toch niet gekozen voor het clippen. Uiteindelijk is het wegdraaien uit het beeld helemaal niet storend. De puzzelstukjes vormden een raster over het hele beeld van 24 stukjes. Na intensief rekenwerk om alles passend te krijgen is het mij uiteindelijk helemaal gelukt. En zo kwam ik er proefondervindelijk achter dat het midden van het scherm als een soort referentiepunt geldt voor het roteren. Had ik aan de linkerkant een hoek nodig van 72 graden om het object haaks te krijgen. Aan de andere zijde was dat opgelopen naar 108 graden. Dus 90 -18 aan de linkerkant en aan de rechterkant 90 + 18.

En zo heb ik weer wat geleerd!
Met vriendelijke groet,

Wim van Dijk