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
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Hier à 23:55

» KGF_dll - nouvelles versions
par pascal10000 Hier à 17:27

» Mah-Jong européen new-look
par Minibug Mar 12 Déc 2017 - 22:31

» track_bar circulaire
par Klaus Mar 12 Déc 2017 - 13:54

» API Windows
par Klaus Mar 12 Déc 2017 - 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
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 : 5863
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 : 5086
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 : 5613
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 : 5086
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
-
» [Résolu] OE6 : disparition raccourci
» Y a t il des utilisateurs de ...
» fr1 enlever dynamique au toucher
» fichier typ
» mon GPS est devenu ANGLAIS pour la manipulation

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