Object 1

object1

 

object2 (groen) is object1 gespiegeld in de x as

object1 en object2

 

 

cubquadrcub00

Bezier Cubic Quadratic Cubic animatie

Een animatie met  gekoppelde Cubic Quadratic Cubic curven.             terug naar de inleiding               ga naar de animatie in fullScreen():

De schets maakt gebruik van objecten van de class "BezierCubQuadrCub"  zie  curven classes   en objectmethodes van de superclass "Curven"

Object1 is  samengesteld mbv de Bezier cubic quadratic cubic curve constructor creator.
Object2 (groen) is object1 is gespiegeld in de x  as.
 

Bekijk de animatie in fullScreen(): . Met de "s" toets stopt, en met de "r" toetst start de animatie.

Bekijk de animatie met raaklijnen, anker- en controlepunten,  ankerpunten 1 en 4 bewegen zich op en neer

De animatie met raaklijnen maakt gebruik van een BezierCubQuadrCub class die de raaklijnen tekent

 

 

Curven object1; 
Curven object2; 
 
void setup() {   
//size(960, 540); 
fullScreen(); 
 float x = width/2; 
 float y = height/2; 
 float n = height/40; 
             //ankerpunten:  a1=rood,  a2=groen,   a3=blauw, a4= lichtblauw 
object1 = new BezierCubQuadrCub(x,y, x+20*n,y+5*n, x-20*n,y+5*n, x,y,    
            //controlepunten:     c1=geel,      c2=paars,  c3=lichtbruin c4=lichtgroen  c5=bruin   
                              x-20*n,y-10*n,  x-3*n,y-6*n,   x,y-15*n,    x+3*n,y-6*n,  x+20*n,y-10*n, 
                              color(247, 63, 35, 100)); 
                               
             //ankerpunten:  a1=rood,  a2=groen,   a3=blauw     a4= lichtblauw 
object2 = new BezierCubQuadrCub(x,y, x+20*n,y-5*n, x-20*n,y-5*n, x,y,    
            //controlepunten: c1=geel,        c2=paars,  c3=lichtbruin c4= lichtgroen  c5=bruin   
                              x-20*n,y+10*n,  x-3*n,y+6*n, x,y+15*n,    x+3*n,y+6*n,    x+20*n,y+10*n, 
                              color(0, 255, 35, 100));              
}   
 
void draw() {  
  background(#E6FBFF); 
  strokeWeight(1); 
  object1.display(); 
  object1.xa3Re(); 
  object1.xa2Li();  
  object1.ya3Up(); 
  object1.ya2Up(); 
  object1.ya1Down(); 
  object1.ya4Down();  
   
  object2.display(); 
  object2.xa3Re(); 
  object2.xa2Li();  
  object2.ya3Down(); 
  object2.ya2Down(); 
  object2.ya1Up(); 
  object2.ya4Up();  
} 
 
void keyPressed() {       
  if (key == 's') {      
    noLoop();  
  }     
  
  if (key == 'r') {         
    loop();  
  }  
}