Courbe Mathématique (DuplicateSprite)

 

On se propose de montrer le tracé d'une courbe mathématique uniquement par script.
Je suppose connu les fonctions de création sur lesquelles je n'insisterai pas.

⇒ animation ⇐

Dans la partie Swish2, vous avez pu découvrir une démo générale de plusieurs courbes paramétrées.

Création des Objets

1 - Définissez les dimensions générales 400x400 (couleur du fond #999999).
Prenez un Frame Rate quelconque.

2 - Créez une ligne horizontale et une ligne verticale passant par le centre de la scène, ayant respectivement la largeur et la hauteur de la scène.

3 - Créez maintenant un cercle de couleur rouge : X = 0 Y = 0 W = 3 H = 3
Anchor point : Center

4 - Convertissez ce cercle en sprite ( nom : dot , Target coché )
Menu Modify / Convert / Convert to sprite.

5 - En utilisant l'outil text tool, entrez le texte suivant sur 2 lignes :
      x = a sin t cos 2t
      y = a cos t sin 2t
Choisisssez la couleur #FFCC00 par exemple.

Script

Dans Outline, sélectionnez Scene_1. Entrez le script suivant :

onLoad()
{ // hauteur largeur scene
      H = int(_root._height);
      W = int(_root._width);
      a = 100;
      n = 500; // nombre de points
}
function x( t ) { return ( a * Math.sin(t) * Math.cos(2*t) ); }
function y( t ) { return ( a * Math.cos(t) * Math.sin(2*t) ); }

/*
      Dans la scène (0,0) est le coin supérieur gauche et les y vont vers le bas
      ⇒ il faut donc passer des coordonnées mathématiques relatives
      x(i) , y(i) aux coordonnées absolues de la scène.
*/

onFrame (1,afterPlacedObjectEvents)
{
      T = 2 * Math.PI; // période
      dt = T / n; // incrément 2PI/n
      for (i=1; i < n; i++)
       {
             duplicateSprite(dot, "dot"+i, i); // nouveau point
             ("dot"+i)._X = (W / 2) + x(i*dt); // coord absolue x
             ("dot"+i)._Y = (H / 2) - y(i*dt); // coord absolue y
       }
}

Et voilà, c'est fini.
Bien sûr, ce n'est pas une animation mais cela peut permettre à quelques uns parmi vous de montrer facilement une fonction mathématique à peu de frais.
Personnellement, j'utilise Matlab. ( voir mes scripts dans la section Matlab )
Mais le coût de ce logiciel est prohibitif pour le commun des mortels.

D'autre part, ces courbes mathématiques peuvent aussi donner des idées pour paramétrer certains effets de mouvement issus des bibliothèques. ( Quelquefois un peu abscons )

 


Si vous aimez le site

 

Select a language if you need :


Page chargée en 0.003 sec.

Dernière Modification : Mer 25 Janvier 2017 8:56
Copyright © 1999-2017 Jean-Paul Molina Tous droits réservés.

vers Google