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 autre façon de terminer une application.
par Francis-mr Aujourd'hui à 12:07

» Compilateur FBPano
par jean_debord Aujourd'hui à 10:09

» Copier / coller du texte à partir de la fenêtre de commandes
par jean_debord Aujourd'hui à 9:46

» COMPILATEUR V 0.9 beta 8 du 18 aout 2017
par papydall Aujourd'hui à 5:01

» Mettre en windows en veille
par papydall Aujourd'hui à 4:15

» Stretch_on ne stretch plus...
par papydall Hier à 15:22

» Pb 18 (en analyse): RESTORE_LABEL avec DATA à la fin
par Jack Hier à 13:21

» Problème de traitement des opérateurs avec le compilateur.
par Pedro Alvarez Sam 19 Aoû 2017 - 20:01

» Pb 17 (résolu): ITEM_SELECT ne fonctionne pas
par Jack Jeu 17 Aoû 2017 - 19:26

» un nouveau editeur panobasic
par Jean Claude Jeu 17 Aoû 2017 - 10:18

» Le compilateur.
par Pedro Alvarez Jeu 17 Aoû 2017 - 8:36

» Pb 16 (résolu): ON_CLOSE plante à l'exécution
par Jack Mer 16 Aoû 2017 - 20:00

» Pb 15 (résolu): TIMER_ON plante à l'exécution
par Jack Mer 16 Aoû 2017 - 19:58

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

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

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 | 
 

 Manipulation de polygones

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

avatar

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

MessageSujet: Manipulation de polygones   Mer 24 Juin 2015 - 15:38

C'est comme un fil rouge chez moi
C'est un essai
j'ai pas su y adapter le buffer
Il faudrait encore quelques reglages
Code:
iF 1 = 2
.............................................
               LE FIL ROUGE
  manipulations de       polygones
.............................................
* touche w pour rafraichir l'ecran
*             sinon
  possibilite de decocher CLS (vers la ligne 80)
* le hint vous donne la fonction  des curseurs
  On commence par celui du milieu
*  escape pour sortir
  .............................................
END_IF

dim x0,y0,r,Px,Py,j%,n%,Pi,a,a0,a1,h,w ,w$ ,w1,w12
 Pi = 4*ATN(1)
' w=57
 rem coordonnées du centre
    x0=650
    Y0=500
    
      width 0,1500
      height 0,1000
  2d_pen_width 3
    rem rayon
  r=350
color 0,255,140,35
  rem nombre de côtés
    n%=4
    ' a1 =( 2*Pi/n%): ' angle de rotation de chaque côté

    rem angle de début
      a0=1/(2*Pi)
  iF 1 = 2
picture 10 :width 10,1200 :height 10, 1000:' 2d_target_is 10:left 10,100
     END_IF

  track_bar 12:min 12,0.1:max 12,360:top 12,500:hint 12,"autour de Z"

  track_bar 4:min 4,1:max 4,25:top  4,300:hint 4,"nombre de cotes"

  track_bar 3:min 3,1:max 3 ,450:top 3  ,200:hint 3,"profondeur  "

  track_bar 2:min 2,10: max 2, 500: top 2,400 :hint 2,"autourde l'axe des y"
                position 2,500
                width 2,200

track_bar 1:min 1,10:max 1,500:top 1,100:hint 1,"autour de l'axe des x  "
                position 1,500
                width 1,200
rem xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
repeat
'  a0=w12/2*Pi
a0=10*w12/360
    w =position(1)
    w1 =position(2)
    r= position(3)
    n%=  position (4)
    w12= position(12)
rem ................................................
    Px = (r-w1) * Cos(a0) + x0
    Py = (r-w) * Sin(a0) + y0
    2D_poly_from px,py
rem  ...........................................
    a = a0
    For j% = 0 To n%
    a1 =( 2*Pi/n%)
        a = a + a1
rem .......................................
        Px = (r-w1)*Cos(a) + x0
        Py = (r-w)*Sin(a) + y0
        2d_circle px,py,5
        2D_poly_to Px, Py
    Next j%

    display
  '  2d_pen_color 255,0,rnd(255)
  '  wait 250
    a0 = a0+1/52

    if scancode= 27 then end
    print_locate  1010,10
  print  position (1)
 if scancode=87 then cls
'  cls
until scancode=27
terminate
end
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
Jicehel

avatar

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

MessageSujet: Re: Manipulation de polygones   Mer 24 Juin 2015 - 17:12

Excellent Sergause, toutefois, je trouvais inutile de faire une boucle infini s'il n'y rien a faire alors j'ai un peu modifié ton programme et à mon vis pour cet usage le double buffer n'est pas utile.
Code:
' .............................................
'                LE FIL ROUGE
'        manipulations de polygones
' .............................................
' * touche w pour rafraichir l'ecran
' *            sinon
'  possibilite de decocher CLS (vers la ligne 80)
' * le hint vous donne la fonction  des curseurs
'  On commence par celui du milieu
' *  escape pour sortir
'  .............................................


dim x0,y0,r,Px,Py,j%,n%,Pi,a,a0,a1,h,w ,w$ ,w1,w5

label  change, touche

 Pi = 4*ATN(1)
' w=57
width 0,1500 : height 0,1000 : rem dimensionnement de la fenêtre principale
color 0,255,140,35

x0=width(0)/2 : Y0=height(0)/2  : rem coordonnées du centre

2d_pen_width 3

r=350 : rem rayon

n%=4 : rem nombre de côtés

a0=1/(2*Pi) : rem angle de début

track_bar 5:min 5,0.1:max 5,360:top 5,500:hint 5,"autour de Z"
track_bar 4:min 4,1:max 4,25:top  4,300: position 4,n% : hint 4,"nombre de cotes"
track_bar 3:min 3,1:max 3 ,450:top 3  ,200:hint 3,"profondeur  "
track_bar 2:min 2,10: max 2, 500: top 2,400 :hint 2,"autourde l'axe des y"
position 2,500  :  width 2,200
track_bar 1:min 1,10:max 1,500:top 1,100:hint 1,"autour de l'axe des x  "
position 1,500 :  width 1,200
gosub change
for n% = 1 to 5 : on_change n%,change : next n%
rem xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
end

touche:
  if key_down_code = 27 then terminate
return


change:
    cls
    a0=10*w5/360
    w =position(1)
    w1 =position(2)
    r= position(3)
    n%=  position (4)
    w5= position(5)
    Px = (r-w1) * Cos(a0) + x0 : Py = (r-w) * Sin(a0) + y0
    2D_poly_from px,py
    a = a0
    For j% = 0 To n%
        a1 =( 2*Pi/n%)
        a = a + a1
        Px = (r-w1)*Cos(a) + x0 : Py = (r-w)*Sin(a) + y0
        2d_circle px,py,5 :  2D_poly_to Px, Py
    Next j%

    display
    a0 = a0+1/52
'    print_locate  1010,10 :  print  position (1)
    wait 5
return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sergeauze

avatar

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

MessageSujet: Re: Manipulation de polygones   Mer 24 Juin 2015 - 18:27

merci Jicehel
Ta programmation est plus structurée  et efficace  que la mienne
Je fais dans le linéaire et la boucle c'est mon moteur j'aime quand ça bouge !bounce
je me suis souvenu de l'astuce de Klaus qui permet de copier de long textes dans un programme
sans REM ou '
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
Jean Claude

avatar

Nombre de messages : 4989
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Manipulation de polygones   Mer 24 Juin 2015 - 19:18

Bravo, Sergeause.

C'est original comme manière de faire.

Au passage, tu m'a fait découvrir que l'on pouvais utiliser l' * à la place rem.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Manipulation de polygones   Mer 24 Juin 2015 - 19:29

Détrompes toi Jean Claude : Le * ne remplace pas le REM.
C’est une astuce Klaussienne pour simuler un REM sur tout un bloc de code.

Comme le test IF 1 = 2 est faux, Panoramic va ignorer purement et simplement toutes les commandes jusqu’au END_IF.
C'est comme si on a mis des REM au début de ces commandes.

C’est une excellente astuce pour REMer toute une partie du code lors de la mise au point du programme.

@Sergeauze

Bonne idée, ce petit code.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jean Claude

avatar

Nombre de messages : 4989
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Manipulation de polygones   Mer 24 Juin 2015 - 20:02

Ben, je viens d'apprendre quelque chose. Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Manipulation de polygones   

Revenir en haut Aller en bas
 
Manipulation de polygones
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Mauvaise manipulation avec template
» Problème dû à une mauvaise manipulation
» j'ai fait une mauvaise manipulation.
» Probleme erreur de manipulation
» Quelle manipulation ou code pour afficher une Chat Box latérale ?

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 :: Les inutilitaires-
Sauter vers: