Page 116 - Demo
P. 116

TI Python BootCamp Python DIGITALE AFBEELDINGEN GRAFISCH
2.5. Roteer 90Β° Links
Voor het coderen van een rotatie van 90Β° naar links krijgen we een gelijkaardig verhaal.
Het uitvoeren van een rotatie van 90Β° naar links voor het Python grafische venster maakt gebruik van de functie:
𝑅: (π‘₯, 𝑦) ⟼ (𝑦, βˆ’π‘₯)
Deze rotatie transformeert de blauwe rechthoek (pic) in de rode. Om de transformatie in het venster te krijgen, verschuiven we de rode rechthoek over een afstand pic.w, wat in de groene rechthoek resulteert (newpic):
𝐺: (π‘₯, 𝑦) ⟼ (𝑦, 𝑀 βˆ’ π‘₯)
Voor het programmeren van deze transformatie stellen we ons voor ieder pixel (𝑝, π‘ž) van het beeld de volgende vraag. Welk pixel (π‘₯, 𝑦) van de originele afbeelding wordt op afgebeeld op (𝑝, π‘ž) m.a.w. 𝐺(π‘₯, 𝑦) = (𝑝, π‘ž):
𝐺(π‘₯,𝑦)=(𝑝,π‘ž)⟺(𝑦,π‘€βˆ’π‘₯)=(𝑝,π‘ž)⇔> 𝑦=𝑝 ⟺> π‘₯=π‘€βˆ’π‘ž π‘€βˆ’π‘₯=π‘ž 𝑦=𝑝
We passen de code voor de rotatie naar rechte als volgt aan voor een rotatie naar links:
for p in range (0,newpic.w):
¨¨for q in range (0,newpic.h): ¨¨¨¨rgb=npic.get_pixel((npic.w-1)-q),p) ¨¨¨¨newpic.set_pixel(p,q,rgb) ¨¨¨¨newpic.show_image(0,0)
    Β© 2020 T3 Nederland – T3 Vlaanderen 6
www.t3nederland.nl – www.t3vlaanderen.be





















































































   114   115   116   117   118