Courbe de gumowski et mira version applet

Description

En 1980, deux physiciens I. Gumowski et C. Mira, du centre de recherche CERN de Genève en Suisse utilisèrent le système d'équations:
xn+1 = Byn + f(xn)
yn+1 = -xn + f(xn+1)

où : f(x) = Ax + [ 2(1- A)x²] / (1 + x²); A et B sont des constantes

pour simuler la trajectoire de particules se déplaçant à très haute vitesse dans un accélérateur de particules de la forme d'une mince boîte cylindrique
de plusieurs mètres de long. Ils donnèrent à la constante A
des valeurs entre -1 et 1, à la constante B (beaucoup plus sensible) des valeurs
très près de 1 et à xo et yo des valeurs entre -20 et 20. Ils découvrirent à leur grande surprise que les trajectoires issues de ce système et portées sur un plan cartésien produisent des images surprenantes nous rappelant certaines formes de vie marine.

Valeurs à essayer eventuellement:
A = -.31 A = -.6
B = 1 B = .99
xo = 3 xo = .09
yo = 1 yo = -2.76

A = 0.31 A = -0.77
B = 1 B = 0.95
xo = 3 xo = 3
yo = 1 yo = 1

A =-.23
B = 1
xo = 0.8
yo = 0.4

Source / Exemple :


// GumowskiMira.java
// Auteur:	Jarod1980
// Date:	09/02/2005
// Description: Courbe de Gumowski & Mira

import java.applet.Applet;
import java.awt.*;

public class GumowskiMira extends Applet {

 public void paint(Graphics g)
 {
  int i, mx = 250, my = 300;
  double A = -0.48, B = 0.93; //constantes
  
  double X, Y, XP;

  X= 4.0; Y = 4.0; XP=0.0; //Conditions initiales
  for(i=1;i<=200;i++) {
    XP = B*Y+A*X+2*(1-A)*X*X/(1+XP*XP);
    Y = -X+A*XP+2*(1-A)*XP*XP/(1+XP*XP);
    X = XP;
}
     for (i=1;i<=30000;i++){
     XP = B*Y+A*X+2*(1-A)*X*X/(1+X*X);
    Y = -X+A*XP+2*(1-A)*XP*XP/(1+XP*XP);
    X = XP;
     g.drawLine((int) (mx+30*X), (int) (my+30*Y), (int) (mx+30*X), (int) (my+30*Y));
     
  }
 }

 public void init()
 {
  this.setBackground(new Color(0,0,0));
  this.setForeground(new Color(0,0,255));
 } 

 public void destroy() { }

 public String getAppletInfo()
 {
  return "Cet applet montre une des courbes de Gumowski et Mira";
 }
}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.