Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2014-12-03 23:24:48 Help projet ! Des lignes qui ondulent

Wookie
nouveau membre
Date d'inscription: 2014-12-03
Messages: 7

Help projet ! Des lignes qui ondulent



Hello !

Alors voila, j'ai un projet à faire sur Processing qui est à rendre pour lundi, j'ai fais une grosse partie du code, mais il me reste un morceau que je n'arrive pas à faire bouger comme je voudrais.

Il s'agit simplement de faire bouger l'ensemble des lignes, de sorte à ce qu'elles fassent comme un balancier centré, uniquement quand la souris est au centre du cercle.

C'est un projet à rendre pour lundi 8 décembre... Si vous pouvez me dire ce qu'il y a à modifier parmis ces lignes:


float ondulation=0;
float angle;

void setup () {
  size(800,600);

   
}

void draw () {

  background(#647AFF);
  noCursor();
  noStroke();
  rectMode(CENTER);
  fill(#3098FC);
rect(mouseX,mouseY,100,100);

if ( (mouseX>266)&&(mouseX<450)&&(mouseY>260)&&(mouseY<405)){
  stroke(#FC5D30);
}else{ stroke(#9FECF2);

}


  strokeWeight(5);
 
pushMatrix();


  rotate(angle);

  if ((angle > 0.1)&&(mouseX>266)&&(mouseX<450)&&(mouseY>260)&&(mouseY<405)) {
    angle=sin(ondulation)*0.1;
  } else {

    line (310, 150, 310, 250);
   line (360, 150, 360, 250);
  line (410, 150, 410, 250);
 
  line(260, 200, 260, 310);
  line(210, 200, 210, 310);
  line(460, 200, 460, 310);
  line(510,200, 510, 310);
 
    line(260, 360, 260, 460);
  line(210, 360, 210, 460);
  line(460, 360, 460, 460);
  line(510, 360, 510, 460);
 
    line (310, 410, 310, 510);
   line (360, 410, 360, 510);
  line (410, 410, 410, 510);

  }
 
  popMatrix();
 
  ondulation+=0.05;
}



merci d'avance pour ceux qui auront la foi de répondre smile

je vous bénis ! big_smile

Dernière modification par Wookie (2014-12-03 23:25:45)

Hors ligne

 

#2 2014-12-04 00:35:54 Re : Help projet ! Des lignes qui ondulent

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Help projet ! Des lignes qui ondulent



Bonjour,

Qu'appelles-tu faire comme un balancier centré ?
Ta formulation est absconse.

float ondulation=0;
float angle;

void setup () {
  size(600, 600);
}

void draw () {
  background(#647AFF);
  noCursor();
  noStroke();
  rectMode(CENTER);
  fill(#3098FC);
  rect(mouseX, mouseY, 100, 100);
  if ( (mouseX>266)&&(mouseX<450)&&(mouseY>260)&&(mouseY<405)) {
    stroke(#FC5D30);
  } else { 
    stroke(#9FECF2);
  }
  strokeWeight(5);
  pushMatrix();
  translate(360, 330);
  rotate(angle);

  if ((mouseX>266)&&(mouseX<450)&&(mouseY>260)&&(mouseY<405)) {
    angle=sin(ondulation)*0.1;
  } 
  line (-50, -180, -50, -80); 
  line (0, -180, 0, -80);
  line (50, -180, 50, -80); 

  line(-100, -130, -100, -30);
  line(-150, -130, -150, -30);
  line(100, -130, 100, -30);
  line(150, -130, 150, -30);

  line(-100, 30, -100, 130);
  line(-150, 30, -150, 130);
  line(100, 30, 100, 130);
  line(150, 30, 150, 130);

  line (-50, 80, -50, 180); 
  line (0, 80, 0, 180);
  line (50, 80, 50, 180);
  
  popMatrix();

  ondulation+=0.05;
}

Hors ligne

 

#3 2014-12-04 03:17:50 Re : Help projet ! Des lignes qui ondulent

Olivier
N°4
Lieu: Chalon sur la Saône
Date d'inscription: 2009-04-07
Messages: 1471
Site web

Re: Help projet ! Des lignes qui ondulent



Parce que j'avais besoin de le dire pour pouvoir aller me coucher tranquille...
Je trouve que ton incrémentation, Wookie, trouverait mieux sa place dans le 'if', de manière à ce que le mouvement reprenne de là où il s'était arrêté...
Sinon, je crois que c'est comme tuer un petit chat... tongue

Code (P5) :

  if ((mouseX>266)&&(mouseX<450)&&(mouseY>260)&&(mouseY<405)) {
    angle=sin(ondulation)*0.1;
    ondulation+=0.05;
  }

Bon courage...


L'Amour au Peuple !

Hors ligne

 

#4 2014-12-04 10:06:54 Re : Help projet ! Des lignes qui ondulent

Wookie
nouveau membre
Date d'inscription: 2014-12-03
Messages: 7

Re: Help projet ! Des lignes qui ondulent



Un balancier centré serait comme un va et vient de droite à gauche comme un pendule. Comme une boussole qui pencherai un coup à droite un coup à gauche.

Donc faudrait que quand le carré rentre dans la zone, les lignes changent de couleur (fait), et qu'elles bougent.

Et j'ai modifié la ligne comme tu me l'as conseillé Olivier. Aucun petit chat ne mourra ! wink

Hors ligne

 

#5 2014-12-04 12:46:48 Re : Help projet ! Des lignes qui ondulent

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Help projet ! Des lignes qui ondulent



Donc, à priori comme le fait le bout de code que je t'ai proposé !

Hors ligne

 

#6 2014-12-04 12:49:16 Re : Help projet ! Des lignes qui ondulent

Wookie
nouveau membre
Date d'inscription: 2014-12-03
Messages: 7

Re: Help projet ! Des lignes qui ondulent



A priori, parce que j'ai écris ce bout de code correctement (enfin il me semble) et ça ne bouge toujours pas ! sad


float ondulation=0;
float angle;

void setup () {
  size(800,600);




   
}

void draw () {
  background(#647AFF);
  noCursor();
  noStroke();
  rectMode(CENTER);
  fill(#3098FC);
rect(mouseX,mouseY,100,100);

if ( (mouseX>266)&&(mouseX<450)&&(mouseY>260)&&(mouseY<405)){
  stroke(#FC5D30);
}else{ stroke(#9FECF2);

}


  strokeWeight(5);
 
pushMatrix();


  rotate(angle);

  if ((angle > 0.1)&&(mouseX>266)&&(mouseX<450)&&(mouseY>260)&&(mouseY<405)) {
    angle=sin(ondulation)*0.1;
    ondulation+=0.05;
  } else {

    line (310, 150, 310, 250);
   line (360, 150, 360, 250);
  line (410, 150, 410, 250);
 
  line(260, 200, 260, 310);
  line(210, 200, 210, 310);
  line(460, 200, 460, 310);
  line(510,200, 510, 310);
 
    line(260, 360, 260, 460);
  line(210, 360, 210, 460);
  line(460, 360, 460, 460);
  line(510, 360, 510, 460);
 
    line (310, 410, 310, 510);
   line (360, 410, 360, 510);
  line (410, 410, 410, 510);

  }
 
  popMatrix();
 

}

Hors ligne

 

#7 2014-12-04 13:41:13 Re : Help projet ! Des lignes qui ondulent

Olivier
N°4
Lieu: Chalon sur la Saône
Date d'inscription: 2009-04-07
Messages: 1471
Site web

Re: Help projet ! Des lignes qui ondulent



Bien...

Je n'ai pas pris la peine de lire le code que tu viens de poster dans la mesure où celui de Mushussu fonctionne très bien et propose une ondulation circulaire alternative autour de son milieu auto-centré parfaitement fonctionnelle... big_smile

Si son code ne fonctionne pas chez toi, le problème vient d'ailleurs...


L'Amour au Peuple !

Hors ligne

 

#8 2014-12-04 13:42:33 Re : Help projet ! Des lignes qui ondulent

Wookie
nouveau membre
Date d'inscription: 2014-12-03
Messages: 7

Re: Help projet ! Des lignes qui ondulent



Je l'ai surement pas écrit au bon endroit, mais je vois pas ou je devrais le mettre.

Hors ligne

 

#9 2014-12-04 13:49:11 Re : Help projet ! Des lignes qui ondulent

Wookie
nouveau membre
Date d'inscription: 2014-12-03
Messages: 7

Re: Help projet ! Des lignes qui ondulent



AH ! Ca y est j'ai inséré la ligne bien au bon endroit, et ça marche ! Vous êtes géniaux ! merci smile

Hors ligne

 

#10 2014-12-04 14:02:07 Re : Help projet ! Des lignes qui ondulent

Wookie
nouveau membre
Date d'inscription: 2014-12-03
Messages: 7

Re: Help projet ! Des lignes qui ondulent



Arg, ça bouge et ça bouge bien (on avance)! mais elles ne restent pas sur place. Il faudrait que toutes les lignes bouge, mais en restant à leur place.

Hors ligne

 

#11 2014-12-04 14:25:32 Re : Help projet ! Des lignes qui ondulent

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Help projet ! Des lignes qui ondulent



C'est une autre paire de manche, car il faut appliquer à chaque ligne une rotation. Plutôt que de faire cela manuellement à chaque fois, j'ai opté pour un tableau dans lequel est stocké les positions des lignes. Ensuite, j'applique avec une boucle une rotation à chacune de ces lignes :

float ondulation=0;
float angle;
PVector[] positionLigne;

void setup () {
  size(600, 600);
  positionLigne = new PVector[14];
  positionLigne[0]  = new PVector(-50, -130);
  positionLigne[1]  = new PVector(0, -130);
  positionLigne[2]  = new PVector(50, -130);
  positionLigne[3]  = new PVector(-100, -80);
  positionLigne[4]  = new PVector(-150, -80);
  positionLigne[5]  = new PVector(100, -80);
  positionLigne[6]  = new PVector(150, -80);
  positionLigne[7]  = new PVector(-100, 80);
  positionLigne[8]  = new PVector(-150, 80);
  positionLigne[9]  = new PVector(100, 80);
  positionLigne[10] = new PVector(150, 80);
  positionLigne[11] = new PVector(-50, 130);
  positionLigne[12] = new PVector(0, 130);
  positionLigne[13] = new PVector(50, 130);
}

void draw () {
  background(#647AFF);
  noCursor();
  noStroke();
  rectMode(CENTER);
  fill(#3098FC);
  rect(mouseX, mouseY, 100, 100);
  if ( (mouseX>266)&&(mouseX<450)&&(mouseY>260)&&(mouseY<405)) {
    stroke(#FC5D30);
  } else { 
    stroke(#9FECF2);
  }
  strokeWeight(5);
  pushMatrix();
  translate(360, 330);

  if ((mouseX>266)&&(mouseX<450)&&(mouseY>260)&&(mouseY<405)) {
    angle=sin(ondulation)*0.1;
    ondulation+=0.05;
  } 
  for (int i = 0; i < 14; i++) {
    pushMatrix();
    translate(positionLigne[i].x, positionLigne[i].y);
    rotate(angle);
    line(0, -50, 0, 50);
    popMatrix();
  }
  popMatrix();
}

Hors ligne

 

#12 2014-12-04 14:29:34 Re : Help projet ! Des lignes qui ondulent

Olivier
N°4
Lieu: Chalon sur la Saône
Date d'inscription: 2009-04-07
Messages: 1471
Site web

Re: Help projet ! Des lignes qui ondulent



citation :

Il faudrait que toutes les lignes bouge, mais en restant à leur place.

Mmmmh...
Je te soupçonne de vouloir rendre notre ami Mushussu complètement chèvre... tongue

Je crois qu'il ne te reste plus qu'à faire un petit dessin avec des flèches pour que l'on comprenne ce à quoi tu veux arriver... big_smile

EDIT : Ah AH... Non seulement Mushussu est  perspicace mais il est aussi rapide... lol


L'Amour au Peuple !

Hors ligne

 

#13 2014-12-04 14:34:34 Re : Help projet ! Des lignes qui ondulent

Wookie
nouveau membre
Date d'inscription: 2014-12-03
Messages: 7

Re: Help projet ! Des lignes qui ondulent



Ah ouaaaaaais !Jamais j'aurais pu écrire ce code toute seule j'ai pas du tout les compétences, merciiiiiiiiiiiiii !!!!! Vous avez sauvé un projet big_smile big_smile big_smile

Je vous bénis big_smile

C'était exactement ça !

Dernière modification par Wookie (2014-12-04 14:35:22)

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2025