Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1325 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  tracer un cercle avec la methode pset

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

tracer un cercle avec la methode pset

n°264991
bigmama
Posté le 08-12-2002 à 22:16:14  profilanswer
 

je chrche a tracer un cercle avec pset mais je ne connais pas la formule pour le tracer

mood
Publicité
Posté le 08-12-2002 à 22:16:14  profilanswer
 

n°265106
drasche
Posté le 09-12-2002 à 10:32:40  profilanswer
 

c'est pas génial mais c'est tout ce que j'ai sur moi (je suis pas spécialiste en math donc j'oserais même pas modifier le code).
 


    For X = 110 To 210
        A = Abs(X - 160) / 50
        Y = Sqr(1 - A * A) * 50
        Z = -Y
        PSet (X, Y + 85), vbBlack
        PSet (X, Z + 85), vbBlack
    Next X


 
X, Y, Z, A, B sont déclarés As Single


Message édité par drasche le 09-12-2002 à 10:33:09
n°265187
Carbon_14
Posté le 09-12-2002 à 11:26:49  profilanswer
 

On peut modifier la formule drasche en
 
X0 = la valeur qu'on veut pour le X du centre
ici X0% = 160
 
Y0% la valeur qu'on veut pour Y du centre
Y0% = 85 ici
 
Ray% = rayon, 50 ici
 
For X% = X0% - Ray% To X0% + Ray%
    A = Abs(X% - X0%) / Ray%
    Y = Sqr(1 - A * A) * Ray%
    PSet (X%, Y0% + Y), vbBlack
    PSet (X%, Y0% - Y), vbBlack
Next X%
 
Cette méthode a pour intérêt de ne calculer la racine carrée qu'une fois pour deux points (symétrie par rapport à axe des Y et aussi des X :D).
Ca gagne en temps de calcul.
 
A vérifier, tester, on peut aussi ne calculer qu'un arc de 90°
 
For X% = X0% - Ray% To X0%
    A% = Abs(X% - X0%) / Ray%
    Y% = Sqr(1 - A% * A%) * Ray%
    ' point gauche en haut  
    PSet (X%, Y0% + Y%), vbBlack
    ' point gauche en bas
    PSet (X%, Y0% - Y%), vbBlack
    ' point à droite en haut
    PSet (2 * X0% - X%, Y0% + Y%), vbBlack
    ' point à droite en bas
    PSet (2 * X0% - X%, Y0% - Y%), vbBlack
Next X%


Message édité par Carbon_14 le 09-12-2002 à 14:20:46
n°265237
Carbon_14
Posté le 09-12-2002 à 12:13:35  profilanswer
 

Le sqr() est bon ? Habituellement, on utilise plutôt sin()..
sqr(0) = sin(0°) = 0
sqr(1) = sin(90°) = 1
sqr(0,5) = sin(45°) = 0,707
mais à part ça. Le développement limité de sin() et sqr(), je sais plus (ça fait bientôt 30 ans que j'utilise plus).


Message édité par Carbon_14 le 09-12-2002 à 12:25:23
n°266405
Carbon_14
Posté le 10-12-2002 à 14:42:38  profilanswer
 

Finalement, vu qu'il n'y a pas de matheux dans la salle, en réfléchissant (:sleep:), l'équation des points d'un cercle, c'est bien x^2 + y^2 = constante ?  
 
Le besoin de calcul de la racine carrée devient alors "limpide".
 
Solilotons. :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  tracer un cercle avec la methode pset

 

Sujets relatifs
pagination : méthode la plus performante ?prb pour l'ecriture d'une methode en sql3 :(
[java] appel d'une méthode de la classe maman[Hoare] qq à une méthode pour trouver rapidement l'invariant?
Erreur de compilation / comment on appelle une methode d'une class?methode createRange()????
[Perl/tk] tracer des pointillés ?Méthode de singleton non appelée
[CSS] Votre méthode pour avoir du code HTML propre ?[PHP] Methode d'authentification?
Plus de sujets relatifs à : tracer un cercle avec la methode pset


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR