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
» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Aujourd'hui à 20:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Aujourd'hui à 19:58

» Compilateur FBPano
par jean_debord Aujourd'hui à 8:49

» un nouveau editeur panobasic
par Jean Claude Hier à 20:05

» COMPILATEUR V 0.9 beta 7 du 10 aout 2017
par Pedro Alvarez Hier à 19:31

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 17:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 17:32

» Carte de France des régions
par Yannick Sam 12 Aoû 2017 - 21:33

» Pb 14 (en analyse): PRINT_LOCATE plante à l'exécution
par Jack Ven 11 Aoû 2017 - 22:37

» Petit avertissement [Mots réservés]
par papydall Ven 11 Aoû 2017 - 13:45

» Distances sur plan
par JL35 Jeu 10 Aoû 2017 - 21:29

» Tracé : Triangle, Carrée, Dents de scie, Sinusoïde redressée
par papydall Jeu 10 Aoû 2017 - 14:52

» Troncature dans une image
par JL35 Mer 9 Aoû 2017 - 13:45

» A chacun son point de vue
par papydall Mar 8 Aoû 2017 - 17:20

» Problème avec les chaines de caractères
par bignono Dim 6 Aoû 2017 - 9:33

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Les procédures LINOR et ARCOR

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Parpaiun

avatar

Nombre de messages : 192
Age : 78
Localisation : HERAULT
Date d'inscription : 15/04/2015

MessageSujet: Les procédures LINOR et ARCOR   Sam 25 Avr 2015 - 16:39

Bonjour les panoramiciens ! Voici un utilitaire pour tracer manuellement des figures en mode graphique 2D et 3D.

Explication des paramètres:
Dans LINOR: x et y = coordonnées du point de départ de la droite, lr = longueur en pixels,
la = angle de direction (de 0 à 360 degrés) et lt 1 = tracé actif (pen down) ou lt 0 = tracé inactif (pen up).

Dans ARCOR : x et y = coordonnées du point de départ de l'arc, ar = rayon de courbure,
ad = angle de direction en degrés, al = longueur de l'arc, et at 1 = orientation de l'arc vers la droite ou at -1 = orientation vers la gauche.
Code:
[rem Auteur: Parpaiun
rem Date-version: 19/04/2015
dim rad,th,x,x2,y,y2
width 0,500 : height 0,500
caption 0,"Les fonctions LINOR et ARCOR"
rad = 3.141592 / 180

rem Mettre ici vos directives de tracé
x = 200 : y = 130
2d_circle x,y,3
2d_pen_width 3
linor(x,y,100,0,1)
linor(x,y,50,90,1)
arcor(x,y,50,90,180,-1)
linor(x,y,50,270,1)
end
terminate

sub linor(x1,y1,lr,la,lt)
la = la * rad
for th = 1 to lr
x2 = x1 + th * cos(la)
y2 = y1 + th * sin(la * -1)
next th
2d_pen_color 0,0,0: if lt = 0 then 2d_pen_color 255,255,255
2d_line x1,y1,x2,y2
x = x2: y = y2
END_SUB

sub arcor(ax,ay,ar,ad,al,at)
dim_local mx,my,n
ad = (360 - ad) * rad
n = int(0.5 + ar * al * rad)
for th = 1 to n
if th > 1 then 2d_line mx,my,ax,ay
mx = ax : my = ay
ax = ax + cos(ad)
ay = ay + sin(ad)
ad = ad + at / ar
next th
x = ax : y = ay
END_SUB] [/code]

J'espère que vous en tirez profit pour faire de belles figures géométriques ou trigonométriques.
Amusez vous bien !


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

avatar

Nombre de messages : 7961
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 25 Avr 2015 - 16:56

Merci Parpaiun ! et bienvenue parmis nous !

Pour une entrée, ca c' est une entrée !
J' espère que tu trouveras sur le forum toute l' aide dont tu auras besoin
et je te souhaite une bonne programmation en Panoramic.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Les procédures LINOR et ARCOR   Sam 25 Avr 2015 - 17:07

Salut Parpaium

Je viens de te répondre par MP, mais tu as été plus rapide que moi.  Laughing

Bon, je reprends

Code:

rem ============================================================================
rem                Auteur: Parpaiun
rem           Date-version: 19/04/2015
rem ============================================================================
dim pi,rad,th,x,x2,y,y2
width 0,500 : height 0,500
caption 0,"Les fonctions LINOR et ARCOR"
pi = acos(-1) : rad = pi / 180

alpha 10 : font_name 10 ,"ariel" : font_bold 10 : font_size 10,18 : top 10,50 : left 10,50
caption 10,"Les fonctions LINOR et ARCOR" + chr$(13) + string$(15," ")+"Par Parpaium"

rem Mettre ici vos directives de tracé
' 2d_circle x,y,3
2d_pen_width 3
x = 100 : y = 430
linor(x,y,200,0,1)
linor(x,y,150,90,1)
arcor(x,y,100,90,180,-1)
linor(x,y,150,270,1)

' ===============================================
x = 220 : y = 350
linor(x,y,40,0,1)
linor(x,y,30,90,1)
arcor(x,y,20,90,180,-1)
linor(x,y,30,270,1)
' ==============================================
x = 150 : y = 350
linor(x,y,40,0,1)
linor(x,y,30,90,1)
arcor(x,y,20,90,180,-1)
linor(x,y,30,270,1)

end
' terminate
rem ============================================================================
sub linor(x1,y1,lr,la,lt)
    la = la * rad
    for th = 1 to lr
        x2 = x1 + th * cos(la)
        y2 = y1 + th * sin(la * -1)
    next th
    2d_pen_color 0,0,0: if lt = 0 then 2d_pen_color 255,255,255
    2d_line x1,y1,x2,y2
    x = x2: y = y2
END_SUB
rem ============================================================================
sub arcor(ax,ay,ar,ad,al,at)
    dim_local mx,my,n
    ad = (360 - ad) * rad
    n = int(0.5 + ar * al * rad)
    for th = 1 to n
        if th > 1 then 2d_line mx,my,ax,ay
        mx = ax : my = ay
        ax = ax + cos(ad)
        ay = ay + sin(ad)
        ad = ad + at / ar
    next th
    x = ax : y = ay
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Les procédures LINOR et ARCOR   Sam 25 Avr 2015 - 19:13

très bien, j'ai fait une toute petite modif pour que si l'on ne trace pas, cela ne fasse pas de trace blanche et par soucis de cohérence, j'ai ajouté aussi la possibilité de ne pas tracer sur arcor (c'est un peu vicieux, normalement, c'est vrai que l'on se déplacerait plus en ligne droite, mais cela permet aussi d'effacer l'arc tel que c'est codé)
En fait pour que la fonction corresponde à la description personnellement, j'aurais plutot supprimé la ligne
if lt = 0 then 2d_pen_color 255,255,255
et j'aurais juste conditionné le traçage avec if lt <> 0 then 2d_line x1,y1,x2,y2
(et pareil pour arcor: if lt<>0 and th > 1 then 2d_line mx,my,ax,ay)
en faisant comme ça, tu pourrais passer la couleur du tracé en paramètre à la SUB et choisir de dessiner avec la couleur de fond quand tu veux effacer ou avec une autre couleur pour tracer une figure
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Les procédures LINOR et ARCOR   

Revenir en haut Aller en bas
 
Les procédures LINOR et ARCOR
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Problème avec ADR() et procédures
» Procédure à suivre avant de poster
» Procédure judiciaire vis à vis de mon forum
» Procédure d'utilisation des sound dans TC ™ Gold 7.0 E1
» Procédure Optimisation

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