MATLAB: Animation de particules à l’intérieur d’un rectangle

J’ai donc besoin de faire un cercle qui se déplace à l’intérieur d’un rectangle et entre en collision avec les « murs » de celui-ci, avec une vitesse constante. Je ne sais vraiment pas comment faire ça. Je voudrais faire quelque chose comme l’animation stand by DVD mais avec un cercle et moins complexe. Quelqu’un peut-il m’aider?

Meilleure réponse

  • Qu’avez-vous jusqu’ici?
    Je ne m’inquiéterais pas de l’animation à ce stade; il existe de nombreuses façons d’y parvenir une fois que vous avez un bon programme sous-jacent qui vous indique où se trouve la particule. Un exemple d’animation (avec des positions de particules aléatoires) pourrait ressembler à ceci:
     

    xc=1; yc=2; r=1;
    theta = 0:pi/30:2*pi;
    x = r * cos(theta) + xc;
    y = r * sin(theta) + yc;
    circle = plot(x, y,'k');
    axis([-20 20 -20 20]);
    for k=1:20
    rectangle('Position',[-17 -12 35 25]);
    circle.XData = x + randi([-10 10],1);
    circle.YData = y + randi([-10 10],1);
    pause(0.5);
    end