1. Programmeren voor beginners...
Tijdens de les kreeg je een introductie over:
- Wat is programmeren?
- Wat is machinetaal, binaire code?
- Wat zijn programmeertalen en hoe werken ze?
- Wat zijn compilers en wat betekent "compileren"?
- Waarom zijn programmeertalen platformafhankelijk. Waarom is JAVA "platformonafhankelijk"?
- Wat zijn de bekendste programmeertalen?
- Wat betekent "open source" en "closed source"?
Deze vragen moet je goed begrijpen voor je examen. De antwoorden vind je in de presentatie, in de cursus of op internet.
De presentatie over "programmeren" vind je hier https://www.schoolvoorbeeld.be/icarosp/home/files/programmeren.pdf
2. Programmeren in Processing
Processing is zowel een programmeertaal als een programmeeromgeving. In feite is Processing een vereenvoudigde versie van de programmeertaal JAVA.
Processing is opensourcesoftware ontwikkeld door C.E.B. Reas (Media Arts) en Benjamin Fry (Broad Institute). Het biedt de mogelijkheid aan kunstenaars, ontwerpers, studenten en hobbyisten om de fundamenten van het programmeren binnen een visuele context te leren.
Processing is een uitbreiding van Java, waardoor bestaande Java-structuren, vaak met vereenvoudigde syntaxis, worden ondersteund. Programma's worden geëxporteerd naar Java-applets die als stand-alone applicatie of binnen een webpagina kunnen worden getoond. De software biedt een eenvoudige IDE voor het organiseren van de projecten.
Het programma is gemaakt om als opensource-alternatief te dienen voor vergelijkbare commerciële softwarepakketten, zoals Vuo. Het is beschikbaar voor Windows, Mac OS X en Linux.
Bron: http://nl.wikipedia.org/wiki/processing
3. Opdracht
3.1 Wat wordt er van je verwacht?
We starten samen met een basis van een tekenprogramma.
JOUW TAAK: Bedoeling is dat je zelf minimaal 2 uitbreidingen doet op die gemeenschappelijke basis.
Download Processing via deze link https://processing.org/download/
Opgelet: Windowsgebruikers krijgen heel waarschijnlijk eerst een ZIP-bestand. Pak dat bestand uit en installeer het.
3.2 Theoretische achtergrond
Tijdens de les heb ik het doel van elke regel van de onderstaande code uitgelegd.
Welke elementen uit de cursus kwamen eveneens aan bod voor het begrijpen van de onderstaande code:
- - De werking van RGB-kleuren.
- - De pixelposities op een computerscherm.
void setup(){
size(800,600);
background(255,255,255);
}
void draw(){
if(mousePressed == true){
fill(0,0,0);
noStroke();
ellipse(mouseX, mouseY, 20, 20);
}
}
void keyPressed(){
if(key == 'c'){
background(0,0,0);
}
if(key == 's'){
saveFrame("tekening#####.png");
}
if(key == 'z'){
filter(GRAY);
}
}
3.4 Uitleg bij de code
Een processingprogramma bestaat uit 2 belangrijke functies. Zie een "functie" als een "motor" die het programma aanstuurt.
- void setup(){}: Setup wordt één keer uitgevoerd, bij het starten van het programma
- void draw(){}: Draw wordt voortdurend uitgevoerd. Tussen 25 en 60 keer per seconde, afhankelijk van de snelheid van je computer.
Daarnaast duikt in de bovenstaande code nog een derde functie op:
void keypressed(){}: die functie wordt enkel uitgevoerd als de gebruiker op een toets op het toetsenbord drukt.
Belangrijke regels:
- alle instructies plaats je tussen akkolades {}
- elke regel/instructie beëindig je met een kommapunt ;
3.5 Werkwijze
- Gebruik deze code als basis.
- Bouw er twee uitbreidingen op.
- Compileer en test het programma.
- Upload je definitieve PDE-bestand in Toledo
3.6 Hulpmiddelen
Meer uitleg en handleidingen over Processing vind je hier https://www.processing.org/tutorials
Voorbeeldcode vind je hier https://www.processing.org/examples