Annonce

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


#1 2013-02-20 19:41:55 Créer une sinusoidale entre 2 cubes et animable

Leuprochon
nouveau membre
Date d'inscription: 2013-02-20
Messages: 6

Créer une sinusoidale entre 2 cubes et animable



Bonjour à tous !

Je me présente, Quentin, étudiant en jeu vidéo et graphiste de base. On a un projet de groupe qui a pour sujet de créer un jeu avec processing.

Ainsi me voilà lancé dans ce logiciel à m'amuser bien que je n'ai pas l'âme d'un codeur.

Je vous expose mon problème : on veut animer 2 objets ( on prendra l'exemple de 2 cubes ) en Y. Ces 2 cubes sont reliés l'un et l'autre grâce à une courbe sinusoïdal ( un espèce d'arc électrique ).  L'intérêt est que lorsque ces cubes ont le même Y on a une belle sinusoïdal ( ou moche, c'est pareil ! ) de dessiner, plus les 2 cubes s'écartent, plus la courbe se tend jusqu'à être une ligne droite.

En gros voici ce que ça donne quand les 2 cubes ( les 2 O ) ont le même Y:

O/\/\/\/\/\O

Voici dans le cas extrême :

O
  \
    \
      \
        \
          \
           O

J'espère que mes magnifiques dessins vous aideront à mieux comprendre !!


Si quelqu'un a une piste, une idée de comment faire je suis preneur. J'ai récupéré différents trucs sur le net mais je ne suis arrivé à rien. Vous nous sauverez la vie !!

Leuprochon

Hors ligne

 

#2 2013-02-21 07:20:54 Re : Créer une sinusoidale entre 2 cubes et animable

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

Re: Créer une sinusoidale entre 2 cubes et animable



Bonjour,

Un truc comme cela :

PVector cube1, cube2;

void setup() {
  size(800, 400);
  rectMode(CENTER);
  cube1 = new PVector(100, 200);
  cube2 = new PVector(700, 200);
}

void draw() {
  background(255);
  rect(cube1.x, cube1.y, 40, 40);
  rect(cube2.x, cube2.y, 40, 40);
  float a = 0.0;
  float increment = TWO_PI/80.0;
  float amplitude;
  translate(100, 200);
  noFill();
  beginShape();
  for (int i = 0; i < 600; i++) {
    amplitude = 2000 / (cube2.x - cube1.x);
    vertex(i * (cube2.x - cube1.x) / 600, amplitude * sin(a));
    a = a + increment;
  }
  endShape();
}

void mouseDragged() {
  cube2.x = mouseX;
}

A toi ensuite de trouver la courbe d'amplitude pour ton rendu visuel.

Hors ligne

 

#3 2013-02-21 09:02:51 Re : Créer une sinusoidale entre 2 cubes et animable

Leuprochon
nouveau membre
Date d'inscription: 2013-02-20
Messages: 6

Re: Créer une sinusoidale entre 2 cubes et animable



Salut !

Merci, c'est super ! Il reste plus qu'à l'adapter pour que ce soit sur l'axe Y !! Merci encore (;

Quentin

Hors ligne

 

#4 2013-02-21 10:27:13 Re : Créer une sinusoidale entre 2 cubes et animable

Leuprochon
nouveau membre
Date d'inscription: 2013-02-20
Messages: 6

Re: Créer une sinusoidale entre 2 cubes et animable



Me revoilà !

Ce que tu m'as proposé est vraiment l'effet que je veux mais je n'arrive pas à l'adapter comme voulu. Le déplacement se fait sur l'axe Y et non X comme dans le code actuel.
J'arrive à faire en sorte que la courbe soit influencé du à l'axe Y de mes cubes, cependant elle reste en ligne droite. c'est à dire que peu importe la coordonnée Y de mes cubes, elle reste à y = 200.

J'ai essayé de faire que le début de ma courbe soit lié au coordonnée X et Y de mon cube1, et idem pour le cube2 en ce qui concerne la fin de la courbe.

Je sais pas si j'arrive à être clair ... Le dessin dans mon premier post représente bien le mouvement que je veux. Peu importe l'axe Y de mes cubes, ils doivent être constamment relié. Sachant que mes cubes ne bougeront jamais en X

Quentin

Dernière modification par Leuprochon (2013-02-21 10:28:13)

Hors ligne

 

#5 2013-02-21 21:59:33 Re : Créer une sinusoidale entre 2 cubes et animable

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

Re: Créer une sinusoidale entre 2 cubes et animable



Alors, je pense que ceci devrait te convenir :

Dernière modification par Mushussu (2013-02-21 22:03:35)

Hors ligne

 

#6 2013-02-22 10:30:27 Re : Créer une sinusoidale entre 2 cubes et animable

Leuprochon
nouveau membre
Date d'inscription: 2013-02-20
Messages: 6

Re: Créer une sinusoidale entre 2 cubes et animable



Merci c'est nickel !! Tu me sauves (;

Quentin

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024