Categorieën
programmeren visueel ontwerp

Beethovenposter in P5

In P5 is hier de bekende Beethovenposter van Josef Müller-Brockmann nagemaakt, met variabelen voor de grafische onderdelen. Links het origineel en rechts in P5. Het geeft dus oneindig veel variaties. Om het beter te zien, klik hier. Naast het origineel staat daar de javascript versie.

de Beethovenposter links, van Muller-Bruckman met variaties nagermaakt in P5 rechts

Hoe kun je die grafische elementen maken?

Met de arc-functie in P5 zijn deze grote vormen lastig te bepalen. Daarom is gekozen of het met een eigen script lukt. We gebruiken hiervoor de cosinus en sinus waarover hier al eerder een bericht is geplaatst.

Het bronbestand van de P5-beethovenposter vind je hier. Het is even zoeken hoe je een boog kunt tekenen. Hier is gekozen voor de beginShape en endShape waartusssen twee for-loops staan, die x en y van de punten (telkens een nieuwe vertex) bepalen.

Eerste versie van de boog-functie

Hier zie je het script van een basisversie. Het ziet er ingewikkelder uit dan het is.

Het bron bestand vind je in deze map: link.

In plaats van de mouseX en mouseY kun je gewoon waardes zetten. Maar zo kun je er wel de mogelijkheden mee ontdekken, zie hieronder in deze gif-afbeelding.

Graden op basis van mouseX en mouseY

Hieronder is in een gif-afbeelding een variatie te zien, waarbij de positie van je cursor wordt gebruikt om de boog groter of kleiner te maken. Nu draait de boog rechtsom, zoals de computer normaal rekent. Net andersom dan wat we op school (met onze geo-driehoek) leerden. De link naar dit p5-bestand staat hier.

De scriptregels (met Math.atan2) om de graden te berekenen op basis van mouseX en mouseY, staan hieronder. Het centrum van het canvas wordt er vanaf gehaald (-width/2 en -height/2).

Meerdere bogen voor Beethoven

In de uitwerking van de Beethovenposter is de functie maakBoog( ) meerdere keren gebruikt. Daar is ook de beginstand telkens anders. Nogmaals: het bronbestand van de P5-beethovenposter vind je hier.

Veel plezier met dit script. Laat maar een reactie achter als dit bericht nuttig was…

Door Jean-François Roebers

Mijn interesse in vormgeving en ontwerpen in het algemeen, gebruik van programmeertalen en digitaal gereedschap, relaties met geschiedenis en wiskunde, combineer ik in deze blog.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *