FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Fonctionnement du caret_x_position(N)
par Jack Hier à 20:36

» Problèmes en cours.
par Jack Hier à 20:31

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Hier à 19:55

» Exemple d'une nouvelle version d'un GRID
par Minibug Hier à 17:36

» Comment faire fonctionner \qj en RTF ?
par jjn4 Mer 12 Déc 2018 - 19:25

» Mais où est donc passé Klaus ?!
par Jicehel Mer 12 Déc 2018 - 13:38

» Problème avec SaveStringList.
par Klaus Mer 12 Déc 2018 - 12:14

» Je suis de retour !
par Klaus Mer 12 Déc 2018 - 12:10

» Connexion au forum
par mindstorm Mer 5 Déc 2018 - 19:09

» Version instantanée V 0.9.29i5 du 17/11/2018
par silverman Ven 30 Nov 2018 - 10:37

» imprimer avec Print.dll
par JL35 Jeu 29 Nov 2018 - 21:33

» Convertisseur Décimal ---> Binaire, Octal, Hexadécimal, ...
par Minibug Dim 25 Nov 2018 - 15:37

» Impression de documents
par JL35 Ven 23 Nov 2018 - 19:45

» Logiciel de soutien scolaire.
par Marc Jeu 22 Nov 2018 - 20:51

» Logiciel de soutien en langues.
par Marc Jeu 22 Nov 2018 - 19:39

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
31      
CalendrierCalendrier

Partagez | 
 

 Comment dessiner rapidement un arc d'ellipse ?

Aller en bas 
AuteurMessage
Pedro Alvarez

avatar

Nombre de messages : 1226
Date d'inscription : 19/01/2014

MessageSujet: Comment dessiner rapidement un arc d'ellipse ?   Ven 1 Juin 2018 - 20:41

Bonsoir.

Dans le cadre de la création d'un planisphère, j'aurais besoin d'une fonction ultra rapide de dessin d'arcs d'ellipses multiples.

Panoramic ne permet pas d'écrire une telle fonction qui s'exécuterait dans un délai raisonnable.

J'ai bien testé les commandes 2d_poly, mais le délai est vraiment très long.

Merci de votre aide.

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6407
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Comment dessiner rapidement un arc d'ellipse ?   Ven 1 Juin 2018 - 21:45

Une petite sub dans mes archives, avec un exemple d'utilisation vite fait:
Code:
DIM x%,y%,w%,h%,d%,f%,ff%,axe%
HEIGHT 0,600
PICTURE 1: FULL_SPACE 1
2D_TARGET_IS 1: 2D_PEN_WIDTH 2
axe% = 200: ' axe vertical des tracés
y% = 20: ' sommet de l'enveloppe
h% = 300: ' dimensions de l'enveloppe
d% = 90: f% = 270: ' angles début et fin
ff% = 1: ' figure ouverte
2D_LINE axe%,y%,axe%,y%+h%: ' axe
FOR x% = axe%-150 TO axe% STEP 50
    w% = 2*(axe%-x%)
    Ellipse_arc(x%,y%,w%,h%,d%,f%,ff%)
NEXT x%
d% = 270: f% = 90
FOR x% = axe%+50 TO axe%+150 STEP 50
    w% = 2*(x%-axe%)
    Ellipse_arc(x%-w%,y%,w%,h%,d%,f%,ff%)
NEXT x%
END
' ==============================================================================
SUB Ellipse_arc(x%,y%,w%,h%,d%,f%,ff%)
  ' Tracé d'un arc d'une ellipse vide en x%,y% de la cible 2d, inscrite dans w%,h%
  ' Début d% degrés, fin f% degrés (de 0 à 360 degrés dans le sens trigonométrique)
  ' Si ff% = 1: figure fermée
  ' Tracé de la couleur courante et de l'épaisseur (1 à 20) courante
  DIM_LOCAL rx%,ry%,xc%,yc%,xdp%,ydp%,ad,af,p,t
  rx% = w%/2: ry% = h%/2: xc% = x%+rx%: yc% = y%+ry%
  p = PI/180: ad=d%*p: af=f%*p
  xdp% = xc%+rx%*COS(ad): ydp% = yc%-ry%*SIN(ad): ' point de départ du tracé
  2D_POLY_FROM xdp%,ydp%
  IF ad > af
      FOR t = ad TO 2*PI STEP p
          2D_POLY_TO xc%+rx%*COS(t),yc%-ry%*SIN(t)
      NEXT t
      ad = 0
  END_IF
  FOR t = ad TO af STEP p
      2D_POLY_TO xc%+rx%*COS(t),yc%-ry%*SIN(t)
  NEXT t
  IF ff%=1 THEN 2D_POLY_TO xdp%,ydp%: ' fermeture de l'arc
END_SUB
' ==============================================================================

Pour la rapidité d'exécution, c'est à voir... ça dépend évidemment de la quantité à tracer.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marc

avatar

Nombre de messages : 993
Age : 57
Localisation : TOURS
Date d'inscription : 17/03/2014

MessageSujet: Re: Comment dessiner rapidement un arc d'ellipse ?   Ven 1 Juin 2018 - 22:51

Salut à tous !

Je trouve que 2D_POLY est plutôt rapide :

Création de 100 arcs ellipses aléatoires en 1 seconde :

Code:
maximize 0
DEGREES
DIM i%,j%,x%,y%,x1%,y1%,d%,a%

FOR j%=1 to 100
    x1%=RND(600)
    y1%=RND(600)
    d%=RND(90)
    a%=RND(180)
    2D_POLY_FROM 50*SIN(d%)+x1%,20*COS(d%)+y1%
    FOR i% = d% to a%
        X%=50*SIN(i%)
        y%=20*COS(i%)
        2D_POLY_TO x%+x1%,y%+y1%
    NEXT i%
NEXT j%
CAPTION 0,"Fini !"
END
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Pedro Alvarez

avatar

Nombre de messages : 1226
Date d'inscription : 19/01/2014

MessageSujet: Comment dessiner rapidement un arc d'ellipse ?   Sam 2 Juin 2018 - 7:29

Bonjour.

Merci de votre aide, cela me convient très bien.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Comment dessiner rapidement un arc d'ellipse ?   

Revenir en haut Aller en bas
 
Comment dessiner rapidement un arc d'ellipse ?
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» bonjour à tous
» [Dessinez l'avatar de la personne du dessus]
» comment desinstaller pcconfidentiel schredder [Résolu]
» Comment éviter la majorité des infections virales
» Affiches comment être et faire pour apprendre

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: