begin process at 2012 05 26 03:39:28
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ActionScripts

 > CALCUL DE PI PAR L'ÉQUATION DE LEIBNIZ EN AS3

CALCUL DE PI PAR L'ÉQUATION DE LEIBNIZ EN AS3


 Information sur la source

Note :
Aucune note
Catégorie :ActionScripts Classé sous :Actionscript, PI, AS3, Mathématiques, Leibniz Niveau :Débutant Date de création :01/03/2009 Date de mise à jour :01/03/2009 22:28:48 Vu / téléchargé :3 259 / 168

Auteur : Clem_02

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Il fonctionne à l'aide d'un formule bien connu de Lebniz qui nous dit que pi/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + 1/13...
Une précision est demandée pour savoir combien de boucle le programme doit faire donc plus la précision est grande plus la valeur de PI sera proche. Rien qu'avec 5000 qui se calcul rapidement (instantané presque) nous avons la même valeur qu'une simple calculatrice ! A savoir 3,141592653...

Source

  • pi_reel_txt.text = String(Math.PI);
  • pi_reel_txt.text = String(Math.PI);
  • go_btn.addEventListener(MouseEvent.CLICK, getPI);
  • function getPI(event:MouseEvent):void
  • {
  • var precision:uint = uint(precision_txt.text);
  • var j:uint;
  • var h:uint;
  • var xpi:Number;
  • var ypi:Number;
  • var PI:Number;
  • xpi = 0;
  • ypi = 0;
  • j = 1;
  • h = 3;
  • for (var i:int = 0; precision != i; i++)
  • {
  • ypi += (1/j);
  • j += 4;
  • }
  • for (var g:int = 0; precision != g; g++)
  • {
  • xpi -= (1/h);
  • h += 4;
  • }
  • PI = 4*(ypi + xpi) + ((1/precision)/2);
  • result_txt.text = String(PI);
  • }
pi_reel_txt.text = String(Math.PI); 
pi_reel_txt.text = String(Math.PI); 
go_btn.addEventListener(MouseEvent.CLICK, getPI);
function getPI(event:MouseEvent):void
{
	var precision:uint = uint(precision_txt.text);
	var j:uint;
	var h:uint;
	var xpi:Number;
	var ypi:Number;
	var PI:Number;
	xpi = 0;
	ypi = 0;
	j = 1;
	h = 3;
	for (var i:int = 0; precision != i; i++)
	{
		ypi += (1/j);
		j += 4;
	}
	for (var g:int = 0; precision != g; g++)
	{
		xpi -= (1/h);
		h += 4;
	}
	PI = 4*(ypi + xpi) + ((1/precision)/2);
	result_txt.text = String(PI);
}

 Conclusion

Voilà mon but étant de recevoir toutes les bonnes ou mauvaises critiques !

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • PI.flaTélécharger ce fichier [Réservé aux membres club]926 208 octets
  • PI.swfTélécharger ce fichier [Réservé aux membres club]Voir ce fichier65 403 octets

Télécharger le zip


 Historique

01 mars 2009 13:13:56 :
J'ai rajouté la source
01 mars 2009 19:18:09 :
J'ai suivi vos conseils...
01 mars 2009 22:28:48 :
Ré-optimisation du code

 Sources de la même categorie

Source avec Zip Source avec une capture OUVRIR UNE ANIMATION EXTERNE DANS UN CLIP VIDE. par KcHeY
Source avec Zip ZOOM SUR UNE IMAGE par yasdar
Source avec Zip Source avec une capture UN PEU DE MATH par yasdar
Source avec Zip Source avec une capture PARTICULE SYSTEM par yasdar
Source avec Zip Source avec une capture GALLERIE PHOTO AVEC XML par yasdar

 Sources en rapport avec celle ci

TRANSFERT DE DONNÉES FLASH <-> PHP - PETITE SUBTILITÉ AVEC J... par Loubiou
Source avec Zip Source avec une capture OUVRIR UNE ANIMATION EXTERNE DANS UN CLIP VIDE. par KcHeY
Source avec Zip Source avec une capture AS3 - PRINCIPE ET APPLICATION DE FONCTION RÉCURSIVE par pegase31
Source avec Zip Source avec une capture FULLSCROLLBAR: AS3 SCROLLBAR CLASS par JeMi
Source avec Zip CHARGER SON EXTERNE FLASH AS par tranber78

Commentaires et avis

Commentaire de stefbuet le 01/03/2009 16:38:27

Salut,

un petit conseil : utilises des int dans tes grandes boucles au lieu de uint car ce dernier est plus lent. Tu gagnera donc en vitesse d'execution ;)

Stef.

Commentaire de stefbuet le 01/03/2009 17:01:34

Et aussi, le result_txt.text = String(PI); peut se mettre après ton if...else histoire de ne le mettre qu'une fois.

Stef.

Commentaire de pegase31 le 01/03/2009 18:42:12 administrateur CS

mise à part le listener du bouton, c'est de l'as2.
Utilisable par ceux qui ne connaissent pas l'as3.

Peg'

Commentaire de gremlins7 le 01/03/2009 19:34:42

Salut,
ça sert à quoi de calculer PI ? Si tu veut PI, ben...Math.PI.
Quand tu dis instantané, ça veut dire combien exactement ? Est-ce que c'est plus rapide que Math.PI qui est une constante? (j'en doute)

A+

Commentaire de Clem_02 le 01/03/2009 21:37:44

Bonjour GREMLINS7,
Évidemment que Math.PI est bien plus rapide. Le but de cette source est de montrer comment à l'aide d'algorithme simple on peut obtenir une valeur approchée de PI.
Il est donc évident que pour faire des calculs ou autre on utilise Math.PI et pas la valeur qu'on obtient à l'aide de ce programme.
Quand je dis instantané, ça signifie moins d'une seconde.

Commentaire de Bacterius le 05/03/2009 17:33:05

Cette formule m'a toujours fasciné.
Ne faisant pas de Flash, je ne peux pas tester, mais je dis qu'un algorithme de ce type et son implémentation sont toujours interessants (s'il sont bien implémentés).
Personnellement quand je dois travailler avec une valeur de Pi très précise je préfère de loin mon propre Pi à Math.Pi (eh oui pareil en Delphi). Math.Pi est assez imprécis pour certaines choses, autant le calculer une fois pour toutes, marquer les dizaines de chiffres après la virgule dans un fichier texte et déclarer en constante sur chaque application qui a besoin de Pi.

Cordialement, Bacterius !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

actionscript<---->javascript [ par crazypiou ] Je débute l'actionscript et je voudrais savoir s'il y a moyen de récuperer en actionscript des valeurs d'un javascript. POur etre plus concret, je cré Aide pour un son sur un bouton ! [ par SkyCrasher ] Voila je débute tout juste en flash (5 jours)Donc évidemment je ne métrise pas l'ActionScript:J'ai deux boutons PLAY et STOPDès l'affichage, j'aimerai Calques et Actionscript [ par syndrael ] Bonjour,J'aimerai acceder via Action à des objets ki sont dans des calques différents. Auriez vous la syntaxe correcte ?Merci.S. Cours d'actionscript pour flash MX [ par REALOGIK ] Bonjours à toutes et à tousmoi je quelqu'un qui serait disposer à me dispenser des explications voir même des cours sur actionscript.j'ai flash MX, et Problème de concaténation [ par Moska ] Salut!J'ai un problème pour concaténer dans mon code ActionScript.J'ai ce code :chargement.onLoad = function (){ nbImg = this.nbImg; for(i=0;i&lt;nbIm Arg .....besoin d aide comment faire un zoom en Actionscript??? [ par yoyotris ] Salut tout le monde j aimerai avec le code qui permet de faire un zoom sur un clip ou une image , mais pas avec des masque! Je voudrai en action scrip importation d'images depuis MySQL vers Flash [ par totoxnegger ] Bonjour à tous ! Je suis actuellement débutant en actionscript et php, mais on m'a demandé de créer un code php et actionscript afin de pouvoir récupé mouvement ActionScript [ par giank ] est-ce que quelqun pourrait m' expliquer comment remplacer une interpolation de mouvement, par du script.j' ai compris comment faire bouger mon MC, ma Heritage actionscript [ par tinkiete ] Quelqu'un pourrait-il me dire pourquoi le code suivant ne fonctionne pas ? function toto() { trace("constructeur toto"); toto.prototype.f = function( Constantes en actionscript ??? [ par tinkiete ] Question bete, mais est-il possible de définir des constantes dans un actionscript ?Quand je dis constante, j'entend par là l'équivalent du #define en


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales