Uit Dutch Scratch-Wiki

Regenboog
Dit patroon is gemaakt met een vrij simpele formule: y-positie + afstand tot oorsprong.

De Pen wordt meestal gebruikt om tekeningen te maken die uit lijnen bestaan, maar je kunt de pen ook gebruiken om plaatjes op te bouwen uit puntjes (pixels). Hiermee kun je de meest fantastische patronen maken.

Puntjes zetten

Je kent wellicht deze truc om een enkel puntje op het scherm te zetten:

maak penkleur (66) // kies de kleur groen
pen neer
pen op

Zet er een herhaal-blok omheen, en je krijgt een rij van puntjes.

maak x (-240) // begin helemaal links
herhaal (480) keer // werk van links naar rechts
	maak penkleur (66)
	pen neer
	pen op
	verander x met (1) // na elk puntje, een stapje naar rechts
einde

Als je dit regel voor regel herhaalt, dan kun je zelfs het hele speelveld vullen.

wanneer groene vlag wordt aangeklikt
pen op
maak pendikte (2) // liever 2 dan 1; anders vallen er gaten tussen de puntjes
maak y (180) // begin boven
herhaal (360) keer // werk van boven naar beneden
	maak x (-240) // begin elke rij helemaal links
	herhaal (480) keer // werk van links naar rechts
		maak penkleur (66)
		pen neer
		pen op
		verander x met (1) // na elk puntje, een stapje naar rechts
	einde
	verander y met (-1) // na elke rij, een stapje naar beneden
einde

Deze manier van tekenen noemen we wel een 'raster scan'; die term komt van de techniek die televisies en beeldschermen gebruiken om hun beeld op te bouwen. Het plaatje dat ermee gemaakt wordt, wordt een rasterafbeelding genoemd.

Turbo

Echt snel gaat zo'n raster scan niet in Scratch. Geen wonder, de computer moet even 480 x 360 = 172800 puntjes tekenen!

Zonder turbo gaat het zo langzaam dat je de lijntjes echt één voor één getekend ziet worden. Scratch doet dat expres, zodat beginnende programmeurs goed kunnen zien hoe het werkt. Maar zo duurt het een uur voor je plaatje klaar is!

Zorg daarom dat je de turbo-modus aanzet, dan is het in een paar seconden gebeurd.

Kleuren

Het leuke is dat je met zo'n 'raster scan' alles kunt tekenen wat je maar wilt; als je maar zorgt dat je steeds de juiste kleur op de juiste plaats neerzet. Tot nu toe hadden alle puntjes dezelfde kleur, namelijk groen.

maak penkleur (66)

Green.png

Dat is wel saai. We vervangen het 'vaste' getal 66 door x-positie; die verandert namelijk terwijl er getekend wordt, waardoor je een plaatje krijgt met alle kleuren van de regenboog.

maak penkleur (x-positie)

Vertical.png

Je merkt dat de kleuren als verticale strepen op het scherm staan. Dat komt doordat alle punten op een verticale lijn dezelfde x-positie hebben. Heb je liever horizontale strepen, dan vervang je x-positie door y-positie.

maak penkleur (y-positie)

Horizontal.png

Je kunt de twee ook bij elkaar optellen of van elkaar aftrekken; je krijgt dan diagonale strepen.

maak penkleur ((x-positie) + (y-positie))

Diagonal.png

En zo maak je gekleurde ringen:

maak penkleur (afstand tot [oorsprong v])

Circles.png

Hiervoor is het wel nodig dat je een tweede sprite hebt (die ik hier oorsprong heb genoemd). Deze tweede sprite mag je gewoon verbergen, alleen zijn positie is voor ons van belang. Voor het gemak zetten we hem precies in het midden van het speelveld:

wanneer groene vlag wordt aangeklikt
ga naar x:(0) y:(0)

Wiskundige functies

Scratch beschikt over een hoop wiskundige functies. Zelfs als je niet precies begrijpt wat ze doen, dan kun je er toch een hoop leuks mee bereiken. Bijvoorbeeld sin (sinus); erg geschikt om golven mee te maken.

maak penkleur ((y-positie) + ((50) * ([sin v] van (x-positie))))

Waves.png

De functie atan (arctangens) is heel geschikt om een soort kleurenwiel mee te maken; je moet alleen wel even weten hoe.

maak penkleur (([atan v] van ((y-positie) / (x-positie))) / (0.9))

Colorwheel.png

Dit is een goede basis voor meer leuks. Wat krijg je als je de 'ringen' optelt bij het kleurenwiel? Een spiraal!

maak penkleur ((([atan v] van ((y-positie) / (x-positie))) / (0.9)) + (afstand tot [oorsprong v]))

Spiral.png

Ik zei toch dat sinus erg geschikt was om golven te maken? Laat 'm los op het tweede gedeelte van de spiraal-formule en je krijgt een gerimpeld kleurenwiel. Alsof je een steen in het water gooit!

maak penkleur ((([atan v] van ((y-positie) / (x-positie))) / (0.9)) + ((20) * ([sin v] van ((10) * (afstand tot [oorsprong v])))))

Ripples.png

Of pas de sinus toe op het eerste deel van de spiraal-formule. Je krijgt dan gerimpelde ringen. Het lijkt wel een bloem!

maak penkleur (((20) * ([sin v] van ((10) * ([atan v] van ((y-positie) / (x-positie)))))) + (afstand tot [oorsprong v]))

RasterArt Flower.png

Verander zelf de getallen die je in de formule ziet, en kijk wat het effect daarvan is.

Voorbeelden

De mogelijkheden zijn eindeloos. Kijk maar eens in de studio "1 Line Challenge"; je vindt daar honderden verschillende projecten die allemaal op deze manier werken.

Hieronder zie je een aantal voorbeelden uit deze studio met patronen waarvoor relatief eenvoudige formules gebruikt zijn. Een formule is de wiskundige naam voor de som die gemaakt wordt om de kleur van elke pixel te berekenen, bijvoorbeeld x-positie keer y-positie.

Op de pagina Raster-kunst tekenen (deel 2) vind je uitleg over hoe onderstaande raster-tekeningen zijn gemaakt.


X-maal-y-gedeeld-door-30.png
110-plus-xmod45-maal-ymod45-delen-door-35.png


Sinx-maal-siny-maal-360.png
180-maal-x-gedeeld-door-y.png
Cookies helpen ons onze services aan te bieden. Door onze services te gebruiken stemt u in met het gebruik van onze cookies.