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
» quel est ce comportement de Panoramic_editor
par Minibug Aujourd'hui à 8:42

» bug BORDER_HIDE : bloque la commande full_space
par silverman Aujourd'hui à 1:19

» Découpe dans une image
par JL35 Hier à 22:00

» FNC IsDateValide(d$) pour vérifier la validité d'une date
par papydall Hier à 18:57

» Pour faire plaisir à jjn4.
par Pedro Alvarez Hier à 8:13

» Pour faire plaisir à Marc37.
par Marc Jeu 22 Fév 2018 - 21:46

» Couleur d'une variable qui n'est pas un mot-clé
par bignono Jeu 22 Fév 2018 - 14:03

» Un catalogue de photos de fleurs, avec KBDD, affichage HTML
par Klaus Mer 21 Fév 2018 - 22:44

» KGF_dll - nouvelles versions
par Klaus Mer 21 Fév 2018 - 22:30

» Mah-Jong anglais
par jjn4 Mer 21 Fév 2018 - 14:22

» Partie fractionnaire d'un flottant
par silverman Mer 21 Fév 2018 - 14:19

» bug CREATE_HIDE : corruption de form
par silverman Mer 21 Fév 2018 - 13:32

» Racine carrée d’un nombre par l’algorithme de Héron
par Ouf_ca_passe Mer 21 Fév 2018 - 9:52

» Méthode manuelle d'extraction de la racine carrée
par pascal10000 Mer 21 Fév 2018 - 7:47

» [annulé]ON_MOVE n,l ne fonctionne que sur le form 0
par silverman Mar 20 Fév 2018 - 16:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Février 2018
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
262728    
CalendrierCalendrier

Partagez | 
 

 Dessinez-moi un polygone

Aller en bas 
AuteurMessage
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Dessinez-moi un polygone   Mar 20 Avr 2010 - 23:24

Dans Panoramic on peut dessiner des figures de base :
Le point, la ligne, le carre, le cercle.
On peut même les colorer.
Je me dis pourquoi aussi le polygone régulier ?
Dessiner un polygone a n cotes ?....pas facile à programmer pour moi.
Et en plus, le colorer !
Et le faire pivoter
Ca existe ailleurs mais je veux le voir se faire avec Panoramic.
J’ai pu réaliser un hexagone, puis un octogone.
Et là, je bloque.....
Je retourne a mes notions de geometrie et trigo
Qui sait?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
Jack
Admin
avatar

Nombre de messages : 1804
Date d'inscription : 28/05/2007

MessageSujet: Re: Dessinez-moi un polygone   Jeu 22 Avr 2010 - 9:27

Citation :
Dessiner un polygone a n cotes ?....pas facile à programmer pour moi.

Je crois que cette question a déjà été posée sur le forum.
Voila l'exemple de construction d'un polygone à 5 côtés (pentagone).

Comme tout est paramétré, tu peux l'adapter à ta convenance (nombre de côtés en changeant n, rotation en jouant avec a, etc).

Tu peux aussi améliorer sa vitesse en mettant 2*Pi*j%/n% dans une variable, ce qui fait que ce calcul ne s'effectuera qu'une seule fois dans la boucle au lieu de deux fois, etc, etc.

Tu peux aussi reprendre (Px,Py) comme dernier point, la boucle sera alors jusque J%-1, cela permettra d'avoir un polygone réellement fermé pour le colorer de l'intérieur sans aucune bavure (il y a des tas d'algorithmes pour cela).

Code:
dim x0,y0,r,Px,Py,Px2,Py2,j%,n%,Pi,a

rem coordonnées du centre
x0=100
Y0=100

rem rayon
r=50

rem nombre de côtés
n%=5

rem angle de début
a=10

Pi = 3.1415926535898

Px = r * Cos(a) + x0
Py = r * Sin(a) + y0

2D_poly_from Px,Py

For j% = 1 To n%
    Px2 = r*Cos(a + 2*Pi*j%/n%) + x0
    Py2 = r*Sin(a + 2*Pi*j%/n%) + y0
    2D_poly_to Px2, Py2
    Px = Px2
    Py = Py2
Next j%

En attendant une commande 2D_FILL X,Y qui remplirait une surface en partant du "germe" (X,Y) avec la couleur de remplissage définie par 2D_FILL_COLOR R,G,B (cette commande existe déja), voici un algorithme simple qui permet de remplir une surface par écoulement.

On commence par écrire un sous-programme de label floodfill:.
A partir du germe (x, y) supposé situé dans la surface à colorier, on prend son voisin de gauche (x - 1,y) et à partir de là on trace la ligne horizontale jusqu’à ce qu’on atteigne la bordure, le dernier point colorié étant noté (xg, y). Puis on fait de même vers la droite, à partir du point (x + 1, y) jusqu’au point touchant la frontière, noté (xd, y). Puis pour chaque point de cette ligne horizontale , entre xg et xd pour les abscisses, on rappelle la fonction floodfill (GOSUB FLOODFILL) sur son voisin supérieur et son voisin inférieur.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Re: Dessinez-moi un polygone   Lun 10 Mai 2010 - 0:00

Merci à Jack pour sa reponse .De retour d'un voyage sur Madagascar ,je me remets en ligne seulement maintenant.
Je vais utiliser son code .Je vois en le lisant que je ne serait pas parvenu à ce resultat et que je ne faisais que compliquer les choses. La solution parait évidente quand on a l'a sous les yeux !.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
Contenu sponsorisé




MessageSujet: Re: Dessinez-moi un polygone   

Revenir en haut Aller en bas
 
Dessinez-moi un polygone
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» outil polygone pas disponible
» [Dessinez l'avatar de la personne du dessus]
» dessiner une chouette courbe colorée
» polygone invisible dans que je joue l'animation [ Résolu ]
» Démonstration de Draw_polygone

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos projets-
Sauter vers: