Tibetaanse of oneindige knoop rotate(radians(45));

oneindige knoop met rotate(radiansX(45));
zie regel  32 in de schets

 

 oneindige knoop met rotate(radiansX(45));

 

oneindige knoop met rotate(radiansX(45)); (regel  32)
aan size(960,540); en fullScreen(); P3D toevoegen 

 

 oneindige knoop rotateY(radians(-45));

oneindige knoop met rotate(radiansY(-45)); (regel  32)
aan size(960,540); en fullScreen(); P3D toevoegen 

  

 

 oneindige knoop met rotate(radiansY(45));

oneindige knoop met rotate(radiansY(45)); (regel  32)
aan size(960,540); en fullScreen(); P3D toevoegen

 

 

Header Kn9

knoop "Kn9".                 tergug naar de inleiding

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

De schets van de Tibetaanse knoop staat onder deze class

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 Kn9 extends Vormen {
//        1        2      3         4         5           6          7           8          9
Kn9(float n_, int lr_, int d_, float x_, float y_, float hoek_, color c1_, float sw_, color c2_) { 
 super(); 
 n = n_; 
 lr = lr_;
 d = d_;
 x = x_;  
 y = y_;  
 hoek = hoek_; 
 c1 = c1_; 
 sw = sw_;
 c2 = c2_;
 }
void display() { 
 fill(c1); 
 strokeWeight(sw); 
 stroke(c2);  
 pushMatrix(); 
 translate(x, y); 
 rotate(radians(hoek));  
 beginShape(); 
 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,n);  vertex(-n/2,n);
                         vertex(-n/2,0);     vertex(n/2,0);       vertex(n/2,-n);    vertex(-n/2,-n);  vertex(-n/2,2*n);}
 if (d == 0 && lr == 0) {vertex(-1.5*n,n);   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);    vertex(n/2,0);    vertex(n/2,n);}
 if (d == 1 && lr == 1) {vertex(0,0);        vertex(0,-4*n);      vertex(3*n,-4*n);  vertex(3*n,-n);   vertex(n,-n);
                         vertex(n,-2*n);     vertex(2*n,-2*n);    vertex(2*n,-3*n);  vertex(n,-3*n);   vertex(n,0);} 
 if (d == 1 && lr == 0) {vertex(0,0);        vertex(0,-3*n);      vertex(3*n,-3*n);  vertex(3*n,n);    vertex(2*n,n);
                         vertex(2*n,-2*n);   vertex(n,-2*n);      vertex(n,-n);      vertex(2*n,-n);   vertex(2*n,0);}
 if (d == 2 && lr == 1) {vertex(0,4*n);      vertex(0,0);         vertex(3*n,0);     vertex(3*n,3*n);  vertex(n,3*n);
                         vertex(n,2*n);      vertex(2*n,2*n);     vertex(2*n,n);     vertex(n,n);      vertex(n,4*n);} 
 if (d == 2 && lr == 0) {vertex(0,3*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);     vertex(2*n,2*n);  vertex(2*n,3*n);}
 if (d == 3 && lr == 1) {vertex(-3*n,4*n);   vertex(-3*n,0);      vertex(0,0);       vertex(0,3*n);    vertex(-2*n,3*n); 
                         vertex(-2*n,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,3*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);  vertex(-n,2*n);   vertex(-n,3*n);}
 if (d == 4 && lr == 1) {vertex(-3*n,n);     vertex(-3*n,-3*n);   vertex(0,-3*n);    vertex(0,0);      vertex(-2*n,0);
                         vertex(-2*n,-n);    vertex(-n,-n);       vertex(-n,-2*n);   vertex(-2*n,-2*n);vertex(-2*n,n);}
 if (d == 4 && lr == 0) {vertex(-3*n,-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); vertex(-n,-2*n);  vertex(-n,-n);} 
 if (d == 5 && lr == 1) {vertex(-n,n);       vertex(-n,-3*n);     vertex(2*n,-3*n);  vertex(2*n,0);    vertex(0,0);
                         vertex(0,-n);       vertex(n,-n);        vertex(n,-2*n);    vertex(0,-2*n);   vertex(0,n);}
 if (d == 5 && lr == 0) {vertex(-2*n,-n);    vertex(-2*n,-4*n);   vertex(n,-4*n);    vertex(n,0);      vertex(0,0);
                         vertex(0,-3*n);     vertex(-n,-3*n);     vertex(-n,-2*n);   vertex(0,-2*n);   vertex(0,-n);}
 if (d == 6 && lr == 1){vertex(-n,0);       vertex(-n,-4*n);     vertex(2*n,-4*n);  vertex(2*n,-n);   vertex(0,-n);
                         vertex(0,-2*n);     vertex(n,-2*n);      vertex(n,-3*n);    vertex(0,-3*n);   vertex(0,0);} 
 if (d == 6 && lr == 0){vertex(-2*n,0);     vertex(-2*n,-3*n);   vertex(n,-3*n);    vertex(n,n);      vertex(0,n);
                         vertex(0,-2*n);     vertex(-n,-2*n);     vertex(-n,-n);     vertex(0,-n);    vertex(0,0);}      
 endShape(CLOSE); 
 popMatrix(); 
 } 
}
 
De schets van de Tibetaanse of oneindige knoop
De schets maakt gebruik van objecten van de classes  "Kn9" , "Kn7" , "Rechthoek" en de superclass "Vormen"
 
 
Vormen [] vorm; 
void setup()  { 
//size(960,540);
fullScreen(P3D);
float x = 0; 
float y = 0; 
float n = height/15; 
 
int klvorm = #91E84B; 
int alfV   = 200;
int alfS   = 200;
int stroke = #E8A47C; 
float sw = height/100; 
 
  vorm = new Vormen[9];   
  vorm[0] = new Rechthoek (n,  3*n, 0,x, y,       0, color(klvorm,alfV), sw, color(stroke,alfS));  
  vorm[1] = new Rechthoek (3*n,  n, 0,x, y-2*n,   0, color(klvorm,alfV), sw, color(stroke,alfS));    
  vorm[2] = new Rechthoek (3*n,  n, 0,x, y+2*n,   0, color(klvorm,alfV), sw, color(stroke,alfS)); 
  vorm[3] = new Kn9 (n, 0, 0, x-3*n,   y-2.5*n,   0, color(klvorm,alfV), sw, color(stroke,alfS));     
  vorm[4] = new Kn7 (n, 0, 0, x+n,     y-2.5*n,   0, color(klvorm,alfV), sw, color(stroke,alfS));   
  vorm[5] = new Kn7 (n, 0, 0, x-2.5*n, y+n,     -90, color(klvorm,alfV), sw, color(stroke,alfS));    
  vorm[6] = new Kn7 (n, 0, 0, x+2.5*n, y-n,      90, color(klvorm,alfV), sw, color(stroke,alfS));   
  vorm[7] = new Kn7 (n, 0, 0, x-n,     y+2.5*n, 180,color(klvorm,alfV), sw, color(stroke,alfS));  
  vorm[8] = new Kn9 (n, 0, 0, x+3*n,   y+2.5*n, 180,color(klvorm,alfV), sw, color(stroke,alfS)); 
} 
 
void draw()  { 
  background(#E6FBFF); 
  translate(width/2, height/2);
  rotate(radians(45));   
 for (int i = 0; i< 9; i++)   
  {     
  vorm[i].display();  
   } 
 }