Programme bac

Forum consacré à l'ICN et l'ISN

Programme bac

Messagepar laurabny le 30 Mar 2018, 15:48

Bonjour,

Nous avons essayé de faire une trajectoire parabolique avec un ballon (avec les équations horaires), mais ça ne marche pas..

Pouvez vous nous dire pourquoi ?

Voici le programme pour le moment

PImage img;
PImage img2;
float Vitesse = 5;
float x=0;
float y= 0;
// float i;
float g= 6*10^11;
float t;
float alpha=50;
float V0;
int []tab= new int [4];
int [] abscisse = new int [4];

void setup() {
size (1200, 800);
img = loadImage("ballon.png");
img2 = loadImage ("panier.png");

}


void draw() {
background (255);
image(img, x, 600, 200, 200);
image (img2, 800, 80,350,350);
Deplacement () ;
// x = x + V0*cos(alpha)*t;
// y = y + -1/2*((g*t)*(g*t))+V0*sin(alpha)*t;
}

void Deplacement (){
if (keyPressed) {
if (key == 'e' || key == 'E') {
x=x+10 ;
}
}
}

Merci,
Laura et Sarah.
Avatar de l’utilisateur
laurabny
~ nouveau membre ~
 
Messages: 2
Inscrit le: 08 Sep 2017, 14:41

Re: Programme bac

Messagepar sc le 30 Mar 2018, 16:36

Bonjour,

Il y avait plusieurs erreurs dans le code.
Attention à ne pas écrire 1/2 mais 0.5 ou 1.0/2.0 (car sinon Processing fait la division euclidienne de 1 par 2 et cela donne 0)
Certains coefficients sont à adapter car trop grands.
Attention, il faut donner les angles en radians.

Voici un code corrigé.
Code: Tout sélectionner
PImage img;
PImage img2;
float Vitesse = 0.1;  //vitesse trop élevée
float x=0;
float y=0;
// float i;
// float g= 6*10^11;   //Valeur énorme (en dehors de l'écran) ---> à coefficienter (je propose 0.1 à la place)
float g= 0.1;
float t;
float alpha=50*PI/180;   //Attention aux radians
float V0;
int []tab= new int [4];
int [] abscisse = new int [4];

void setup() {
  size (1200, 800);
   img = loadImage("ballon.png");
  //img2 = loadImage ("panier.png");
 
  ////////////////////////////////////////////
  // ATTENTION V0 n'est pas initialisé.
  V0=10;
  ////////////////////////////////////
}

void draw() {
  background (255);
  image(img, x, y,50,50);
  //image (img2, 800, 80,350,350);
   Deplacement () ;
   
     
//  x = x + V0*cos(alpha)*t;
//  y = y + -1/2*((g*t)*(g*t))+V0*sin(alpha)*t;
}

void Deplacement (){
if (keyPressed) {
  if (key == 'e' || key == 'E') {
      x =  V0*cos(alpha)*(t);
      y =  -0.5*(g*t*t)+V0*sin(alpha)*t;
      t=t+Vitesse;
      println(x,y) ;
  }
}
}
Avatar de l’utilisateur
sc
~ administrateur ~
 
Messages: 1439
Inscrit le: 29 Aoû 2017, 10:46

Re: Programme bac

Messagepar sc le 30 Mar 2018, 16:43

Je me demande si physiquement, le ballon n'st pas censé monter d'abord :
Code: Tout sélectionner
x =  V0*cos(alpha)*(t);
y =  height-(-0.5*(g*t*t)+V0*sin(alpha)*t);
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