Header Kn7

 

 

 

 

 

rotateX(radians(-45));

 rotateX(radians(-45)); (regel 37)

 

 

 

rotateY(radians(-45));

rotateY(radians(-45));  (regel 37)

 

 

 

rotateX(radians(45));

rotateX(radians(45));  (regel 37)

knoop "Kn7".               terug naar de inleiding

met de classes "Kn7" , "Kn9" en "Rechthoek" samen met de superclass  "Vormen"  kan  oa een Tibetaanse knoop worden samengesteld

Onder deze class staat een schets met niet oneindige knopen. Onder de schets met de class "Kn9"  staat de schets met de oneindige Tibetaanse knoop.

argumenten van de constructor

1) grootte n, 2) lr =1 , lr = 0, 3) draaipunt d, 4) x draaipunt, 5) y draaipunt 6), hoek in graden, 7) kleur van de vorm c1, 8) lijndikte sw, 9) lijnkleur c2

 
 class Kn7 extends Vormen {
//        1        2      3         4         5           6          7           8          9
Kn7(float n_, int lr_, int d_, float x_, float y_, float hoek_,  color c1_, float sw_, color c2_) { 
 super(); 
 n = n_; 
 lr = lr_;
 x = x_;  
 y = y_;  
 c1 = c1_; 
 d = d_; 
 hoek = hoek_; 
 sw = sw_;
 c2 = c2_;
 }
void display() { 
 fill(c1); 
 strokeWeight(sw);  
 stroke(c2);
 pushMatrix(); 
 translate(x, y); 
 rotate(radians(hoek));  
 beginShape(); 
 if (d == 0 && lr == 0) {vertex(-1.5*n,0);  vertex(-1.5*n,-2*n); vertex(1.5*n,-2*n);vertex(1.5*n,2*n);
                         vertex(n/2,2*n);   vertex(n/2,-n);      vertex(-n/2,-n);   vertex(-n/2,0);}   
 if (d == 0 && lr == 1) {vertex(-1.5*n,2*n);vertex(-1.5*n,-2*n); vertex(1.5*n,-2*n);vertex(1.5*n,0);
                         vertex(n/2,0);     vertex(n/2,-n);      vertex(-n/2,-n);   vertex(-n/2,2*n);}
 if (d == 1 && lr == 0) {vertex(0,0);       vertex(0,-2*n);      vertex(3*n,-2*n);  vertex(3*n,2*n);
                         vertex(2*n,2*n);   vertex(2*n,-n);      vertex(n,-n);      vertex(n,0);} 
 if (d == 1 && lr == 1) {vertex(0,0);       vertex(0,-4*n);      vertex(3*n,-4*n);  vertex(3*n,-2*n);
                         vertex(2*n,-2*n);  vertex(2*n,-3*n);    vertex(n,-3*n);    vertex(n,0);} 
 if (d == 2 && lr == 0) {vertex(0,2*n);     vertex(0,0);         vertex(3*n,0);     vertex(3*n,4*n);
                         vertex(2*n,4*n);   vertex(2*n,n);       vertex(n,n);       vertex(n,2*n);} 
 if (d == 2 && lr == 1) {vertex(0,4*n);     vertex(0,0);         vertex(3*n,0);     vertex(3*n,2*n);
                         vertex(2*n,2*n);   vertex(2*n,n);       vertex(n,n);       vertex(n,4*n);}
 if (d == 3 && lr == 1) {vertex(-3*n,4*n);  vertex(-3*n,0);      vertex(0,0);       vertex(0,2*n);
                         vertex(-n,2*n);    vertex(-n,n);        vertex(-2*n,n);    vertex(-2*n,4*n);} 
 if (d == 3 && lr == 0) {vertex(-3*n,2*n);  vertex(-3*n,0);      vertex(0,0);       vertex(0,4*n);
                         vertex(-n,4*n);    vertex(-n,n);        vertex(-2*n,n);    vertex(-2*n,2*n);} 
 if (d == 4 && lr == 1) {vertex(-3*n,2*n);  vertex(-3*n,-2*n);   vertex(0,-2*n);    vertex(0,0);
                         vertex(-n,0);      vertex(-n,-n);       vertex(-2*n,-n);   vertex(-2*n,2*n);}
 if (d == 4 && lr == 0) {vertex(-3*n,-2*n); vertex(-3*n,-4*n);   vertex(0,-4*n);    vertex(0,0);
                         vertex(-n,0);      vertex(-n,-3*n);     vertex(-2*n,-3*n); vertex(-2*n,-2*n);} 
 if (d == 5 && lr == 1) {vertex(-2*n,2*n);  vertex(-2*n,-2*n);   vertex(n,-2*n);    vertex(n,0);
                         vertex(0,0);       vertex(0,-n);        vertex(-n,-n);     vertex(-n,2*n);}
 if (d == 5 && lr == 0) {vertex(-2*n,2*n);  vertex(-2*n,-2*n);   vertex(n,-2*n);    vertex(n,0);
                         vertex(0,0);       vertex(0,-n);        vertex(-n,-n);     vertex(-n,2*n);}
 if (d == 6 && lr == 1) {vertex(-2*n,3*n);  vertex(-2*n,-n);     vertex(n,-n);      vertex(n,n);
                         vertex(0,n);       vertex(0,0);         vertex(-n,0);      vertex(-n,3*n);}
 if (d == 6 && lr == 0) {vertex(-2*n,n);    vertex(-2*n,-n);     vertex(n,-n);      vertex(n,3*n);
                         vertex(0,3*n);     vertex(0,0);         vertex(-n,0);      vertex(-n,n);}
 if (d == 7 && lr == 1) {vertex(-n,3*n);    vertex(-n,-n);       vertex(2*n,-n);    vertex(2*n,n);
                         vertex(n,n);       vertex(n,0);         vertex(0,0);       vertex(0,3*n);} 
 if (d == 7 && lr == 0) {vertex(-n,n);      vertex(-n,-n);       vertex(2*n,-n);    vertex(2*n,3*n); 
                         vertex(n,3*n);     vertex(n,0);         vertex(0,0);       vertex(0,n);} 
 if (d == 8 && lr == 1) {vertex(-n,0);      vertex(-n,-4*n);     vertex(2*n,-4*n);  vertex(2*n,-2*n);
                         vertex(n,-2*n);    vertex(n,-3*n);      vertex(0,-3*n);    vertex(0,0);}
 if (d == 8 && lr == 0) {vertex(-n,0);      vertex(-n,-2*n);     vertex(2*n,-2*n);  vertex(2*n,2*n);
                         vertex(n,2*n);     vertex(n,-n);        vertex(0,-n);      vertex(0,0);}
 endShape(CLOSE); 
 popMatrix(); 
 } 
}
 
schets met niet oneindige knopen. 

de schets maakt gebruik van objecten van de classes  "Kn7" , "Kn9" , "Rechthoek" en de superclass "Vormen"

 
Vormen [] vorm; 
void setup()  { 
//size(960,540,P3D);
fullScreen(P3D);
float x = 0; 
float y = 0; 
float n = height/20; 
 
int klvorm = #0CA7F7; 
int alfV   = 200;
int alfS   = 200;
int stroke = #E8A47C; 
float sw = height/80; 
 
  vorm = new Vormen[15];   
  vorm[0] = new Rechthoek (3*n,  n, 0, x,     y-3.5*n, 0, color(klvorm,alfV), sw, color(stroke,alfS));  
  vorm[1] = new Rechthoek (n,  3*n, 0, x,     y-1.5*n, 0, color(klvorm,alfV), sw, color(stroke,alfS)); 
  vorm[2] = new Rechthoek (n,  3*n, 0, x-2*n, y+n/2,   0, color(klvorm,alfV), sw, color(stroke,alfS));     
  vorm[3] = new Rechthoek (n,  3*n, 0, x+2*n, y+n/2,   0, color(klvorm,alfV), sw, color(stroke,alfS));  
  vorm[4] = new Rechthoek (n*3,  n, 0, x,     y+n/2,   0, color(klvorm,alfV), sw, color(stroke,alfS)); 
  vorm[5] = new Rechthoek (n,  3*n, 0, x,     y+2.5*n, 0, color(klvorm,alfV), sw, color(stroke,alfS));  
  vorm[6] = new Rechthoek (n,  3*n, 0, x-2*n, y+4.5*n, 0, color(klvorm,alfV), sw, color(stroke,alfS));  
  vorm[7] = new Rechthoek (n,  3*n, 0, x+2*n, y+4.5*n, 0, color(klvorm,alfV), sw, color(stroke,alfS)); 
  vorm[8] = new Rechthoek (3*n,  n, 0, x,     y+4.5*n, 0, color(klvorm,alfV), sw, color(stroke,alfS));    
  vorm[9] =  new Kn9 (n, 0, 2, x-4.5*n, y-6*n,  0, color(klvorm,alfV), sw, color(stroke,alfS));        
  vorm[10] = new Kn9 (n, 1, 3, x+4.5*n, y-6*n,  0, color(klvorm,alfV), sw, color(stroke,alfS));      
  vorm[11] = new Kn7 (n, 0, 2, x-4.5*n, y+n,  -90, color(klvorm,alfV), sw, color(stroke,alfS));       
  vorm[12] = new Kn7 (n, 1, 3, x+4.5*n, y+n,   90, color(klvorm,alfV), sw, color(stroke,alfS));   
  vorm[13] = new Kn7 (n, 0, 3, x-4.5*n, y+2*n,-90, color(klvorm,alfV), sw, color(stroke,alfS));  
  vorm[14] = new Kn7 (n, 1, 2, x+4.5*n, y+2*n, 90, color(klvorm,alfV), sw, color(stroke,alfS)); 
} 
 
void draw()  { 
  background(#E6FBFF); 
  translate(width/2, height/2);
 // rotateY(radians(45));   
 for (int i = 0; i< 15; i++)   
  {     
  vorm[i].display();  
   } 
 }