simpele oefening

 

 

 

 

 

 

 

 

 

 

 

simpele oefening

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 
pushMatrix(); , regel 27 en popMatrix(); , regel 31
zijn uitgeschakeld
voor het groene balletje geld translate(n,n);
 

 

 

 

blauwe balletje staat nu goed

 
pushMatrix() , regel 27 en popMatrix(), regel 31

zijn nu ingeschakeld

 

 

 

 

geneste for lus

simpele oefening.                         terug naar de inleiding

 

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     nested for Loop
 
 
 

//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
puntlijn

 

 


//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); 
}