FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Les fonctions LINOR et ARCOR Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Les fonctions LINOR et ARCOR Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Les fonctions LINOR et ARCOR Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Les fonctions LINOR et ARCOR Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Les fonctions LINOR et ARCOR Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Les fonctions LINOR et ARCOR Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Les fonctions LINOR et ARCOR Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Les fonctions LINOR et ARCOR Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Les fonctions LINOR et ARCOR Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Les fonctions LINOR et ARCOR Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Les fonctions LINOR et ARCOR Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Les fonctions LINOR et ARCOR Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Les fonctions LINOR et ARCOR Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Les fonctions LINOR et ARCOR Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Les fonctions LINOR et ARCOR Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -20%
Drone Dji DJI Mini 4K (EU)
Voir le deal
239 €

 

 Les fonctions LINOR et ARCOR

Aller en bas 
3 participants
AuteurMessage
Parpaiun

Parpaiun


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

Les fonctions LINOR et ARCOR Empty
MessageSujet: Les fonctions LINOR et ARCOR   Les fonctions LINOR et ARCOR EmptyMar 28 Avr 2015 - 15:58

Voici mon premier utilitaire !

LINOR veut dire ‘ligne ou droite orientée’ et ARCOR ‘Arc orienté’.

Vous connaissez la fonction '2D_LINE' qui trace une droite de a à b, de même pour les
fonctions '2D_POLY_FROM' et '2D_POLY_TO' !
Mais voilà, lorsque vous voulez coïncider une extrémité b de cette droite à l'extrémité c
d'une autre droite, vous êtes obligé de tâtonner souvent en cherchant son orientation ce
qui vous fait perdre du temps.
Il en est de même pour l'ARC qui, bien curieusement, semble faire défaut dans la liste des
primitives Panoramic.

J'ai donc "inventé" deux fonctions pour cinq raisons:
1°) LINOR utilise le suivi de tracé. Idem pour ARCOR.
2°) La droite ou l'arc sont orientables selon l’angle donné par le programmeur.
3°) Possibilité d'attribuer un type de tracé (fin ou épais) avec '2D_PEN_WIDTH' ou autre.
4°) En géométrie 2D ou 3D, ou en trigonométrie, le tracé ne se fait plus par plots mais
par lignes. Il n’est pas possible de se servir ici des fonctions ROT et SCALE.
5°) Ce programme vous évite de faire des calculs par formules mathématiques !

Exemple d'appels de fonctions prévues pour Panoramic:
LINOR(x1,y1,lr,la,lt) où
‘x1 et y1’ sont les coordonnées de départ de la droite,
‘lr’ est la longueur en pixels,
‘la’ est l'angle de direction (0 à 360 degrés),
et ‘lt’ le tracé (1 pour actif <-> pen Down), 0 pour inactif <-> pen up).

ARCOR(ax,ay,ar,ad,al,at) où
‘ax et ay’ sont les coordonnées de départ de l'arc,
‘ar’ le rayon de l'arc
‘ad’ la direction angulaire de départ en degrés (de 0 à 360),
‘al’ la longueur de l'arc
et enfin ‘at’ est l'orientation (1 pour gauche, -1 pour droite).

Pour tracer la droite ou l'arc suivants, on répète simplement x et y (sans les valeurs), ce
qui assure un suivi de tracé et on modifie les autres valeurs selon sa convenance.

D’après la figure qu’il veut dessiner, le programmeur a toute liberté de choix entre LINOR
pour tracer des droites et ARCOR pour les arcs.

Ces deux fonctions associées, très faciles d'emploi, permettent d'obtenir à bonne vitesse
une très grande variété de figures géométriques fixes en 2D ou 3D.

Code:
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 Parpaiun"

' *****************************************************************************
rem A partir d'ici, mettez ici vos directives de tracé :
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 =============================================================

Voilà. J'espère que les matheux en géométrie 2D ou 3D et en trigonométrie tireront profit de mon programme pour obtenir de belles figures plus ou moins complexes.

De la part de Parpaiun cheers cheers cheers
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Les fonctions LINOR et ARCOR Empty
MessageSujet: Re: Les fonctions LINOR et ARCOR   Les fonctions LINOR et ARCOR EmptyMar 28 Avr 2015 - 16:32

Intéressantes, ces fonctions. surtout pour l'arc.

Pour les lignes droites, as-tu regardé les commandes 2D_POLY_FROM (définit le point de départ d'un segment droit) et 2D_POLY_TO (définit le point d'arrivé d'un segment droit) ? Et pour tracer un polygone, tu fais une fois 2D_POLY_FROM, puis autant de fois que nécessaire 2D_POLY_TO, avec les coordonnées données au 2D_POLY_FROM pour le dernier 2D_POLY_TO, pour avoir un polygone fermé.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Parpaiun

Parpaiun


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

Les fonctions LINOR et ARCOR Empty
MessageSujet: Les fonctions LINOR et ARCOR   Les fonctions LINOR et ARCOR EmptyMar 28 Avr 2015 - 21:12

Bien reçu ton message 5 sur 5. C'est très bien pour un 2D_POLY_FROM puis plusieurs 2D_POLY_TO. Mais voilà, comment fais tu après pour faire suivre le tracé avec un ou plusieurs ARCS ? Je parie que tu n'as pas prévu ce problème ... Si je gagne, force est d'utiliser mes fonctions LINOR et ARCOR ! Si je perds, je te dois un apéro ! Bonsoir ! de Parpaiun Question

Revenir en haut Aller en bas
papydall

papydall


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

Les fonctions LINOR et ARCOR Empty
MessageSujet: Re: Les fonctions LINOR et ARCOR   Les fonctions LINOR et ARCOR EmptyMer 29 Avr 2015 - 1:10

Code:

' Tracer une figure quelconque  à l'aide de 2D_LINE
2d_line 100,100,200,100
2d_line 200,100,100,200
2d_line 100,200,200,200

' Tracé à l'aide de 2D_POLY_FROM / 2D_POLY_TO
' On choisi l'origine du tracé
2d_poly_from 300,100
' On poursuit
2d_poly_to 400,100 : 2d_poly_to 300,200 : 2d_poly_to 400,200

Pour l'apéro, c'est un peu tard maintenant : reportons-le à demain.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Les fonctions LINOR et ARCOR Empty
MessageSujet: Re: Les fonctions LINOR et ARCOR   Les fonctions LINOR et ARCOR Empty

Revenir en haut Aller en bas
 
Les fonctions LINOR et ARCOR
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Les procédures LINOR et ARCOR

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: