popmatrix, translate, rotate et pushmatrix

Forum consacré à l'ICN et l'ISN

popmatrix, translate, rotate et pushmatrix

Messagepar sc le 25 Mar 2018, 08:25

Bonjour

Voici un exemple de codage de pop matrix et push matrix avec une rotation et une translation.
On peut insérer une image à la place du polygone dessiné par beginShape(); ... endShape(CLOSE);

Code: Tout sélectionner

float x;
float y;
float angle=0;
float vitesse=0;

void keyPressed() {
 
  if (key == CODED) {
    if (keyCode == UP) {
      vitesse=vitesse+1; }
     
    if (keyCode == DOWN) {
      vitesse=vitesse-1; }
     
   if (keyCode == LEFT) {
      angle=angle-1;
   }
   
   if (keyCode == RIGHT) {
      angle=angle+1;
   }
}
}


void dessinepointe(float x, float y, float angle) {
  imageMode(CENTER);
  pushMatrix();
  translate(x, y);
  rotate(PI*angle/180);
  fill(#0000FF);
  beginShape();
    vertex(0, -15);
    vertex(10, 15);
    vertex(-10, 15);
  endShape(CLOSE);
  popMatrix();
   
  }



void setup() {
 
  size(800, 800);
  x=width/2;
  y=height/2;
  angle= 0;
  smooth();
}


void draw() {
   background(#FFFFFF);
   
    x=x+vitesse*cos(PI*(angle-90)/180) ;
    y=y+vitesse*sin(PI*(angle-90)/180);
    if (x>width) x=width;
    if (y>height) y=height;
    if (x<0) x=0;
    if (y<0) y=0;
    dessinepointe(x,y,angle);
 
}
 
Avatar de l’utilisateur
sc
~ administrateur ~
 
Messages: 1439
Inscrit le: 29 Aoû 2017, 10:46

Retourner vers ISN-ICN

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron