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
» Une copie de Panoramic Editeur
par Minibug Aujourd'hui à 1:17

» Problème mathématique en 3D
par Marc Hier à 18:24

» Nouvelle version 0.33
par jean_debord Hier à 9:02

» Reprise du développement et de la documentation
par Fredisland Hier à 7:14

» Objet 3D_PLANE, réalisation d'un dé en 3D
par Marc Mar 22 Mai 2018 - 0:33

» Cacher la barre des tâches
par Klaus Lun 21 Mai 2018 - 21:27

» Une "base de connaissance" - pour jouer ou plus si affinité
par Minibug Lun 21 Mai 2018 - 10:29

» quel est ce comportement de Panoramic_editor
par Oscaribout Lun 21 Mai 2018 - 0:22

» Des FORM(s) Colorés
par Jean Claude Dim 20 Mai 2018 - 20:58

» Recherches dans un fichier texte
par JL35 Dim 20 Mai 2018 - 20:18

» Problème d'affichage des pages du forum (Résolu)
par Jean Claude Dim 20 Mai 2018 - 20:00

» Créer une application *.exe
par Yannick Ven 18 Mai 2018 - 20:01

» [RÉSOLU] Priorité affichage des objets : comment la définir?
par papydall Ven 18 Mai 2018 - 18:22

» Aucune différence entre ON_CLICK et ON_DOUBLE_CLICK
par Jean Claude Jeu 17 Mai 2018 - 8:37

» [Résolu] Récuperer les fonctions systeme de Panoramic
par Minibug Mar 15 Mai 2018 - 23:21

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2018
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 SUBs de tracé de figures géométriques

Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5907
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: SUBs de tracé de figures géométriques   Dim 25 Aoû 2013 - 17:24

Salut tout le monde.

Je vous propose quelques procédures de tracé de figures géométriques.
Tout est commenté dans le code

Code:
' ******************************************************************************
' Procédures de tracé de quelques figures géométriques Par Papydall
' Figures_Geometriques.bas
' ******************************************************************************
 Ellipse(250,220,200,100)
' Ellipse(250,220,100,200)

' Spirale(300,200,10)

' Polygone(250,220,200,3)     : ' triangle ou trigone
' Polygone(250,220,200,4)     : ' carré  ou tétragone
' Polygone(250,220,200,5)     : ' pentagone
' Polygone(250,220,200,6)     : ' hexagone
' Polygone(250,220,200,7)     : ' heptagone
' Polygone(250,220,200,8)     : ' octogone
' Polygone(250,220,200,9)     : ' nonagone ou ennéagone
' Polygone(250,220,200,10)    : ' décagone
' Polygone(250,220,200,11)    : ' hendécagone
' Polygone(250,220,200,12)    : ' dodécagone
' Polygone(250,220,200,20)    : ' icosagone
' Polygone(250,220,200,100)   : ' hécatontagone (on s'approche du cercle)
' Polygone(250,220,200,1000)  : ' chiliagone (pratiquement un cercle)
' Polygone(250,220,200,10000) : ' myriagone  (pratiquement un cercle)

' Pentagramme(250,220,200)

' Coeur(200,250,10)

' concoide(300,200,100)

' Papillon(300,300,50)

' Napperon(300,220,200)

' Secteur_Circulaire(300,220,0,90,200)
' Secteur_Circulaire(300,220,60,120,180)
' Secteur_Circulaire(300,220,-30,-60,200)
' Secteur_Circulaire(300,220,-60,-30,200)

end
' ******************************************************************************
' Tracé d'une ellipse
' Appel : Ellipse(xc,yc,rx,ry)
' Paramètres:
' xc,yc : coordonnées du centre de l'ellipse
' rx et ry : respectivement rayon horizontal et rayon vertical de l'ellipse
' si rx = ry on obtient un cercle
' Exemple d'appel :
' Ellipse(250,220,100,200)
' Ellipse(250,220,200,100)

SUB Ellipse(xc,yc,rx,ry)
    dim_local x,y,t,pi,p
    pi = acos(-1) : p = pi/180
    2d_poly_from xc + rx,yc
    for t = 0 to 2*pi step p
        x = xc + rx * cos(t) : y = yc + ry * sin(t) : 2d_poly_to x,y
    next t
END_SUB
' ******************************************************************************
' Tracé d'une spirale
' Appel Spirale(xc,yc,n)
' Paramètres:
' xc,yc : coordonnées du centre de la spirale
' n     : nombre de tours
' Exemple d'appel : Spirale(300,200,10)

SUB Spirale(xc,yc,n)
    dim_local x,y,theta,pi,p
    pi = acos(-1) : p = pi/180 : 2d_poly_from xc,yc
    for theta = 0 to 2*n*pi step p
        x = xc + 3 * theta * cos(theta) : y = yc + 3* theta*sin(theta)
        2d_poly_to x,y
    next theta
END_SUB
' ******************************************************************************
' Tracé d'un polygone convexe régulier
' Paramètres :
' xc,yc : coordonnées du centre du polygone
' rayon : rayon du cercle circonscrit au polygone
' Nbcote : nombre des côtés du polygone
' Exemple d'appel :
' Polygone(250,220,200,3)  : ' triangle
' Polygone(250,220,200,4)  : ' carré
' Polygone(250,220,200,5)  : ' pentagone
' Polygone(250,220,200,10) : ' décagone
' Remarque :
' Pour un grand nombre des côtés on obtient un cercle
' Polygone(250,220,200,360) : ' un cercle

SUB Polygone(xc,yc,rayon,NbCote)
    dim_local x,y,t,pi,p
    pi = acos(-1) : p = 2*pi/NbCote
    2d_poly_from xc + rayon,yc
    for t = 0 to 2*pi+.1  step p
        x = xc + rayon * cos(t) : y = yc + rayon * sin(t) : 2d_poly_to x,y
    next t
END_SUB
' ******************************************************************************
' Tracé d'un pentagramme (étoile à 5 sommets)
' Paramètres :
' xc,yc : coordonnées du centre du pentagramme
' rayon : rayon du cercle circonscrit au pentagramme
' Exemple d'appel :
' pentagramme(250,220,200)

SUB Pentagramme(xc,yc,rayon)
    dim_local x,y,t,pi,p
    pi = acos(-1) : p = 4*pi/5
    2d_poly_from xc + rayon,yc
    for t = 0 to 4*pi  step p
        x = xc + rayon * cos(t) : y = yc + rayon * sin(t) : 2d_poly_to x,y
    next t
END_SUB
' ******************************************************************************
' Tracé d'un coeur
' Paramètres :
' rx et ry détermine l'allure du coeur dans les sens horizontal et vertical
' epais détermine l'épaisseur du tracé en pixels
' la valeur de epais doit être compris entre 1 et 20, sinon elle sera de 5 pixels
' Exemple d'appel :
' Coeur(200,250,10)

SUB Coeur(rx,ry,epais)
    dim_local x,y,xc,yc,t,pi,p
    if (epais < 1) or (epais > 20) then epais = 5
    pi = acos(-1) : p = pi/180 : xc = width(0)*.5 : yc = (ry+height(0))*.5
    2d_poly_from xc,yc-ry : 2d_pen_color 255,0,0 : 2d_pen_width epais
    for t = 0 to 2*pi step p
        x = 4*cos(t)*cos(t)*sin(t)*sin(t)*sin(t)
        y = (3-2*cos(t)*cos(t))*cos(t)*cos(t) : 2d_poly_to xc+rx*x, yc-ry*y
    next t
END_SUB
' ******************************************************************************
' Conchoïde de rosace
' Courbe étudiée par Moritz en 1917
' Autres noms :
' Pétale géométrique, courbe botanique, rosace de Troie (dans le cas e > 1)
' courbe cyclo-harmonique, sinusoïde circulaire
' ------------------------------------------------------------------------------
' Equation polaire : rho = r *(1 + e * cos(n * theta)) avec n réel > 0
' Paramètres :
' xc,yc : coordonnées du centre de la concoïde
' r : coefficient multiplicateur
' Exemple d'appel :
' Concoide(300,200,100)

SUB Concoide(xc,yc,r)
    dim_local pi,p,x,y,theta,rho,n,e
    pi = acos(-1) : p = pi/180
    n = 9/7 : e = .8 : ' Modifier les valeurs de ces 2 constantes pour obtenir différentes formes
    theta = 0 : rho = (1+e*cos(n*theta)) : x = rho*cos(theta) : y = rho*sin(theta)
    2d_poly_from xc+x*r, yc+y
    for theta = p to 20*pi step p
        rho = (1+e*cos(n*theta)) : x = rho*cos(theta) : y = rho*sin(theta)
        2d_poly_to xc+r*x, yc+r*y
    next theta
END_SUB
' ******************************************************************************
' Tracé d'un papillon
' Paramètres :
' xc,yc : coordonnées du centre du papillon
' coef  : coeffitient multiplicateur
' Exemple d'appel :
' Papillon(300,300,50)

SUB Papillon(xc,yc,coef)
    dim_local r,theta,x,y,pi,p
    pi = acos(-1) : p = pi/180
    2d_poly_from xc,yc
    for theta = 0 to 20*pi step p
        r = exp(sin(theta)) - 2 * cos(4*theta) + sin(1/24 * power((2*theta - pi),5))
        x = r*cos(theta) : y = r*sin(theta)
        2d_pen_color rnd(255),rnd(155),rnd(25) : 2d_poly_to xc+coef*x,yc-coef*y
    next theta
END_SUB
' ******************************************************************************
' Tracé d'un napperon
' Paramètres :
' xc,yc : coordonnées du centre du napperon
' r     : rayon du cercle circonscrit au napperon
' Exemple d'appel : Napperon(300,220,200)

SUB Napperon(xc,yc,r)
    dim_local a,b,x,y,n,pi,p,x0,y0
    n = 25 : pi = acos(-1) : p = 2*pi/n
    for a = 0 to 2*pi step p
        x0 = xc + r * cos(a) : y0 = yc + r * sin(a)
        for b = a + p to 2 * pi - p step p
            x = xc + r * cos(b) : y = yc + r * sin(b) : 2d_line x0,y0,x,y
        next b
     next a
END_SUB
' ******************************************************************************
' Tracé d'un secteur circulaire
' Paramètres:
' xc,yc : coordonnées du centre du secteur
' deb,fin : respectivement angle de debut et angle de fin du tracé en DEGRES
' rayon : rayon du secteur
' REMARQUES :
' * Le sens du tracé est le sens trigonométrique (sens anti-horraire)
' * les angles deb et fin peuvent être positifs, négatifs ou nuls.
' * Ils peuvent être > 360° en valeur absolue.
' Exemple d'appel :
' Secteur_Circulaire(300,220,0,90,200)
' Secteur_Circulaire(300,220,60,120,150)
' Secteur_Circulaire(300,220,-30,-60,200)
' Secteur_Circulaire(300,220,-60,-30,200)

SUB Secteur_Circulaire(xc,yc,deb,fin,rayon)
    dim_local x,y,a,pi,rad,p
    pi = acos(-1) : rad = pi/180 : deb = mod(deb,360) : fin = mod(fin,360)
    if deb < 0 then deb = deb + 360
    if fin < 0 then fin = fin + 360
    if deb > fin then  deb = deb - 360
    2d_poly_from xc,yc
       for a = deb to fin
           x = rayon*cos(a*rad) : y = rayon*sin(a*rad) : 2d_poly_to xc+x,yc-y
       next a
    2d_poly_to xc,yc
END_SUB
' ******************************************************************************
@Ygeronimi
Tu peux t’en servir pour Le Mag.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 25 Aoû 2013 - 17:41

@ Papydall,

Ce n' est ni contre toi, ni contre personne d' ailleurs mais
Je ne prendrai pas (plus) sur le forum pour publier sur le site.
Je pense que les démarches établies pour les publications sur le site
sont les bonnes.
Si je me mets à devoir récupérer les subs ou les articles sur le forum
je vais devoir en créer les documents explicatif et prendre sur mon temps
de programmation personnel même si j' en ai un peu aujourd'hui ce ne sera
peut être plus le cas plus tard et les mauvaises habitudes ayant la vie dure
je préfère que nous gardions les bonnes.Laughing 

Donc, si tu veux que je publie, un petit zip avec le *.bas et le *.txt qui va avec...Laughing

PS: ceux ci dit, je trouve très bien toutes ces procédures, c' est du bon boulot ...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5916
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: SUBs de tracé de figures géométriques   Dim 25 Aoû 2013 - 18:39

Oui, bien vu Papydall: Jolies proc bien utiles Wink
Il y a aussi la rotation d'un objet par rapport à son centre que l'on avait vu pour le jeu de chars qui serait à mettre dedans, je pense car c'est carrément pratique.

Plus qu'à les mettre sur le webdav d'Ygeronimi pour qu'elles soient ajoutées dans la collection Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5907
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: SUBs de tracé de figures géométriques   Dim 25 Aoû 2013 - 19:29

Tu as certainement raison Ygeronimi.
Mieux vaut prendre les bonnes habitudes.
Le zip est sur ton Webdav dans SUBs\Papydall\Figures_geometriques.zip
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
papydall

avatar

Nombre de messages : 5907
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: SUBs de tracé de figures géométriques   Mar 27 Aoû 2013 - 18:54

@Ygernimi
Je ne voie pas mes subs de figures géométriques ni sur ton Webdav ni sur Panoramic le Mag.
Dois-je échanger mes lunettes contre un binocle ?   Shocked


Dernière édition par papydall le Lun 2 Sep 2013 - 22:57, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 27 Aoû 2013 - 19:25

ha,ha...Peut être... Laughing 

Plus sérieusement, j' ai pris et intégré les procédures à la maquette du site.
Comme je l' ai dit, je prépare le n° 3 avec quelques modifs ( texte de la page d' accueil,
Présentation de l' historique, et des petites bricoles ) et je mettrai tout en ligne en même
temps. Les procédures que vous me posterez d'ici là étofferont un peu la publication 
de ce n° 3 et le rendront plus attrayant pour les lecteurs.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5907
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: SUBs de tracé de figures géométriques   Mar 27 Aoû 2013 - 19:31

OK. Je pige.


Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 27 Aoû 2013 - 19:40

Tu peux continuer à envoyer des procédures, je les traite au fur et à mesure.
Je les efface du webdav quand elles sont traitées pour laisser de l' espace mémoire
sur le serveur.

Tout est stocké sur une clé USB et je fais une sauvegarde assez régulièrement 
sur le Webdav dédié ouvert par Jicehel.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: SUBs de tracé de figures géométriques   

Revenir en haut Aller en bas
 
SUBs de tracé de figures géométriques
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» SUBs de tracé de figures géométriques
» Comment récuperer les tracés, suite à un changement de PC.
» Trac(k)back sur Colorado
» Modification de tracé en route
» Importation tracés

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: