size(960, 540);
background(#E6FBFF);
//een lijn in horizontale richting, met een for lus tekenen
//puntjes op de lijn met het if, else statement
stroke(255, 0, 0);
for (int i = 50; i < width; i++) {
if (i == 100 || i == 200 || i == 300)
{
strokeWeight(10);
} else
{
strokeWeight(1);
}
point(i, 50);
}
//translate van een punt
//met translate(50,50) verplaats je hier het (0,0) punt naar het (50,50) punt
//vergelijk de positie van het zwarte puntje tov het rode puntje
stroke(0, 255);
strokeWeight(10);
pushMatrix();
translate(50, 50);
point(100, 25);
popMatrix();
//punt in sinusvorm en cosinus vorm
//oefening met de map functie
stroke(255, 0, 0);
strokeWeight(1);
for (float i = 0; i < 960; i = i +0.5) {
point(i, map(sin(radians(i)), -1, 1, height/2, height));
point(i, height-map(cos(radians(i)), -1, 1, 0, height));
}
for (int i = 1; i < width; i = i+1)
{
//vierkantje op de snijpunten van de sinusvormen sin1 en sin2
//Hier gaat iets fout!!!!
stroke(255, 0, 0);
strokeWeight(4);
float sin1 = map(sin(radians(-i)), 1, -1, height/4, height/2);
point(i, sin1);
stroke(0, 255, 0);
float sin2 = map(sin(radians(i)), 1, -1, height/4, height/2);
point(i, sin2);
rectMode(CENTER);
fill(255, 0, 0);
strokeWeight(1);
if ( sin1 == sin2) rect(i, sin1, 40, 40);
}
geneste for lussen
//De code start met de buitenloop waarna de binnenloop volledig wordt doorlopen.
//Dus de punten worden getekend in de volgorde (50,50), (50,60), (50,70), (50,80)
//Nu weer starten met de buitenloop en wordt de tweede rij getekend.
for (int x = 50; x<=80; x=x+10)
for (int y = 50; y<=80; y=y+10)
{
strokeWeight(4);
point(x, y);
println(x,y);
}
Translate(n,n) weergegeven op ruitjespapier
Met translate(n,n); verplaatst het assenstelsel in x richting een vakje naar rechts en in y richting een vakje naar beneden
Door in regel 27 pushmatrix() en in regel 31 popMatrix() in te schakelen wordt het assenstelsel
na het uitvoeren van de code tussen pushMatrix en popMatrix weer terug gezet
Translate(), pushMatrix() en popMatrix() worden samen met een rotate functie gebruikt in dynamisch coderen, zie schets waarin een poppetje roteert.
size(960,540);
//fullScreen();
float x = width/2;
float y = height/2;
float n = height/10;
background(#E6FBFF);
//horizontale lijnen van het ruitjespapier
for (float i = 0; i < height; i = i + n) {
line(0, i, width, i);
}
//verticale lijnen van het ruitjespapier
for (float j = 0; j < width; j = j + n) {
line(j-width/160, 0, j-width/160, height);
}
strokeWeight(2);
stroke(255, 0, 0);
//assenstelsel
line(0, height/2, width, height/2);
line(width/2, 0, width/2, height);
//---------------------Hier begint de code----------------------------
strokeWeight(n/2);
point(x-3*n, y-2*n);
//pushMatrix();
translate(n,n);
stroke(0,255,0);
point(x-3*n, y-2*n);
//popMatrix();
//translate blijft ook hier voor het blauwe balletje gelden !
//door het inschakelen van pushMatrix(), regel 27 en popMatrix(), regel 31
//wordt het assenstelsen na het uitvoeren van de code weer terug gezet
//en staat het blauwe balletje weer goed
stroke(0,0,255);
strokeWeight(n/2);
point(x-5*n, y+2*n);
Puntjes met random kleuren
size(420,420);
background(#47BCBF);
strokeWeight(10);
for(int x = 10; x <= width; x=x+40)
for(int y = 10; y <= height; y=y+40)
{
stroke(random(0,255),random(0,255),random(0,255));
point(x, y);
}
Lijn met rode balletjes
Met for lussen en de point functie
//lijn met rode balletjes
//Met point functies en for lussen
size(960, 540);
background(#E6FBFF);
for (int i=0; i <=width; i=i+1)
{
point(i, height/2);
}
for (int i=20; i <=width; i= i+40)
{
stroke(255, 0, 0);
strokeWeight(20);
point(i, height/2);
}