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 | 
 

 Encore un petit programme de tracé a compiler

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

avatar

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

MessageSujet: Encore un petit programme de tracé a compiler   Sam 7 Juin 2014 - 19:54

Petit code pour le compilateur:
Code:
' Tracé d'un cercle un peu spécial ...

Width 0,600 : Height 0, 600

' Définition des 'constantes'
Dim Colorisation%    : ' Boucle pour changer le type colorisation
Dim Pi : Pi = 355/113 : ' On utilise une valeur approchée de Pi suffisante pour notre programme
Dim N% : N% = 30            : ' N est le nombre d'occurance pour le tracé
Dim Marge% : Marge% = 30    : ' Espace entre le dessin et le bord de la fenêtre
Dim X0 : X0 = Width(0) / 2 - Marge%  : ' Le centre de notre tracé à pour coordonnées X0,Y0
Dim Y0 : Y0 = Height(0) / 2 - Marge%  : '
Dim R  : R = X0 - 2*Marge%  : ' Le rayon du cercle tracé

' Définition des variables
Dim i%,j%    : ' Compteur des 2 boucles
Dim Ti, Tj  : ' Angles
Dim A,B,C,D : ' Points pour le tracé des ségments

' Programme principal
For Colorisation% = 1 To 4
  For i% = 0 To N%-2
    Ti = (2*i%*Pi)/N% :  A = X0 + R * Cos(Ti) : B = Y0 + R * Sin(Ti)
    For j% = i% + 1 To N% - 1
      Tj = (2*j%*Pi)/N% :  C = X0 + R * Cos(Tj) : D = Y0 + R * Sin(Tj)
        If Colorisation% = 1 Then 2D_pen_color i%*8,j%*8,(i%+j%)*4
        If Colorisation% = 2 Then 2D_pen_color Abs(i% - ((N%-1) / 2)) * 16,Abs(j% - (N%/2))*16,Abs((i%+j%)-(N%/2))*6
        If Colorisation% = 3 Then 2D_pen_color A/3+20,B/3+20,100
        If Colorisation% = 4 Then 2D_pen_color C/3,100,(i%+j%)*4
        2D_Line A,B,C,D
    Next j%
  Next i%
  Wait 2000
Next Colorisation%
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: Encore un petit programme de tracé a compiler   Sam 7 Juin 2014 - 21:23

Pour taquiner Jicehel par plaisanterie et sans méchanceté  Laughing 

Code:

' Tracé d'un cercle un peu spécial ...

Width 0,600 : Height 0, 600

' Définition des 'constantes'
Dim Colorisation%    : ' Boucle pour changer le type colorisation
Dim Pi : Pi = 355/113 : ' On utilise une valeur approchée de Pi suffisante pour notre programme
Dim N% : N% = 30            : ' N est le nombre d'occurance pour le tracé
Dim Marge% : Marge% = 30    : ' Espace entre le dessin et le bord de la fenêtre
Dim X0 : X0 = Width(0) / 2 - Marge%  : ' Le centre de notre tracé à pour coordonnées X0,Y0
Dim Y0 : Y0 = Height(0) / 2 - Marge%  : '
Dim R  : R = X0 - 2*Marge%  : ' Le rayon du cercle tracé

' Définition des variables
Dim i%,j%    : ' Compteur des 2 boucles
Dim Ti, Tj  : ' Angles
Dim A,B,C,D : ' Points pour le tracé des ségments

' Programme principal
For Colorisation% = 1 To 4
  For i% = 0 To N%-2
    Ti = (2*i%*Pi)/N% :  A = X0 + R * Cos(Ti) : B = Y0 + R * Sin(Ti)
    For j% = i% + 1 To N% - 1
      Tj = (2*j%*Pi)/N% :  C = X0 + R * Cos(Tj) : D = Y0 + R * Sin(Tj)
rem ===========================================================================
' Pour taquiner Jicehel
      select colorisation%
         case 1 : 2D_pen_color i%*8,j%*8,(i%+j%)*4
         case 2 : 2D_pen_color Abs(i% - ((N%-1) / 2)) * 16,Abs(j% - (N%/2))*16,Abs((i%+j%)-(N%/2))*6
         case 3 : 2D_pen_color A/3+20,B/3+20,100
         case 4 : 2D_pen_color C/3,100,(i%+j%)*4
      end_select
' Fin pour taquiner ...
rem ===========================================================================
 '       If Colorisation% = 1 Then 2D_pen_color i%*8,j%*8,(i%+j%)*4
 '       If Colorisation% = 2 Then 2D_pen_color Abs(i% - ((N%-1) / 2)) * 16,Abs(j% - (N%/2))*16,Abs((i%+j%)-(N%/2))*6
 '       If Colorisation% = 3 Then 2D_pen_color A/3+20,B/3+20,100
 '       If Colorisation% = 4 Then 2D_pen_color C/3,100,(i%+j%)*4
rem ==========================================================================
        2D_Line A,B,C,D : wait 10
    Next j%
  Next i%
  Wait 2000
Next Colorisation%
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

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

MessageSujet: Re: Encore un petit programme de tracé a compiler   Dim 8 Juin 2014 - 1:27

C'est vrai Papydall, mais bon, j'ai hésité à utiliser le select case bon du coup, je ne fais qu'une colorisation mais il y a des tas de possibilité qui peuvent donner des visuels assez sympas:
Code:
' Tracé d'un carré un peu spécial ...

Width 0,600 : Height 0, 600

' Définition des 'constantes'
Dim N% : N% = 50            : ' N est le nombre d'occurance pour le tracé
Dim Marge% : Marge% = 30    : ' Espace entre le dessin et le bord de la fenêtre
Dim X1 : X1 = Marge%        : ' Le point en haut à gauche a pour coordonnées X1,Y1
Dim Y1 : Y1 = Marge%        : '
Dim X2 : X2 = Width(0)-2*Marge%    : ' Le point en bas à droite a pour coordonnées X2,Y2
Dim Y2 : Y2 = Height(0) - 2*Marge% : '
Dim Dx : Dx = (X2 - X1)/ N% : ' Déplacement en x à chaque itération
Dim Dy : Dy = (Y2 - Y1)/ N% : ' Déplacement en y

' Définition des variables
Dim k%              : ' Compteur de la boucle

' Programme principal
For k% = 0 To N%
      2D_pen_color k%*5,255 - (k%*5),k%*5
      2D_Line X1,Y1+k%*Dy,X1+k%*Dx,Y2
      2D_Line X1+k%*Dx,Y2,X2,Y2-k%*Dy
      2D_Line X2,Y2-k%*Dy,X2-k%*Dx,Y1
      2D_Line X2-k%*Dx,Y1,X1,Y1+k%*Dy
Next k%


Pareil, le code est prévu pour le compilateur même si bien sûr il fonctionne bien sous l'éditeur standard

D'ailleurs on peut s'en rendre compte en modifiant très légèrement le programme. On pourrait aussi faire légèrement tourner les carrés à chaque itération etc ... Bref on est juste limité par son imagination.

Code:
' Tracé d'un carré un peu spécial ...

Width 0,600 : Height 0, 600

' Définition des 'constantes'
Dim N% : N% = 50            : ' N est le nombre d'occurance pour le tracé
Dim Marge% : Marge% = 30    : ' Espace entre le dessin et le bord de la fenêtre
Dim X1 : X1 = Marge%        : ' Le point en haut à gauche a pour coordonnées X1,Y1
Dim Y1 : Y1 = Marge%        : '
Dim X2 : X2 = Width(0)-2*Marge%    : ' Le point en bas à droite a pour coordonnées X2,Y2
Dim Y2 : Y2 = Height(0) - 2*Marge% : '
Dim Dx, Dy  : ' Déplacement en x et y à chaque itération

' Définition des variables
Dim j,k              : ' Compteur des 2 boucles

' Programme principal
For j = 1 to 12
  Dx = (X2 - X1)/ N% : Dy = (Y2 - Y1)/ N%
  For k = 0 To N% step 0.07
      2D_pen_color k*5,255 - (k*5),k*5
      2D_Line X1,Y1+k*Dy,X1+k*Dx,Y2 : 2D_Line X1+k*Dx,Y2,X2,Y2-k*Dy
      2D_Line X2,Y2-k*Dy,X2-k*Dx,Y1 : 2D_Line X2-k*Dx,Y1,X1,Y1+k*Dy
  Next k
  X1 = X1 + Dx * 8  :    Y1 = Y1 + Dy * 8
  X2 = X2 - Dx * 8  :    Y2 = Y2 - Dy * 8
Next j
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jjn4

avatar

Nombre de messages : 1626
Date d'inscription : 13/09/2009

MessageSujet: Re: Encore un petit programme de tracé a compiler   Dim 8 Juin 2014 - 17:26

ouh là là, les belles couleurs !
Vous pourriez même faire tout
le système solaire avec les
planètes en train de tourner...
Ouoh, je dis ça comme ça !
 alien alien alien 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
Jicehel

avatar

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

MessageSujet: Re: Encore un petit programme de tracé a compiler   Dim 8 Juin 2014 - 18:51

C'est vrai mais moi, je ne le ferais pas pour 2 raisons:
D'une part par ce qu'il y a des matheux qui le feraient mieux que moi
D'autre part par ce qu'avec une représentation 3D du système solaire, on pourrait voir débarquer les martiens demain ...

Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

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

MessageSujet: Re: Encore un petit programme de tracé a compiler   Dim 8 Juin 2014 - 19:08

Tiens par contre, pour la 3D avec le compilateur, j'ai fais un petit programme de test pour voir et pour vérifier que ça marchait bien.

Toujours dans les petits programmes de tracé, mais en 3D cette fois:
Code:
Label Stopper

Dim X, Y, Z, u, v, pt, DepCam

Scene3D 1 : Height 1,Height(0) : Width 1,Width(0) : Height 0,Height(0)+80
Button 2: Top 2, Height(0) - 70: Left 2,Width(0)/2 - 50 : Caption 2,"Stop" : On_click 2,Stopper
Cam_position 0, -50, 50

Caption 0,"Courbe 3D - Traçage en cours, merci de patienter ou d'appuyer sur <Stop> pour terminer"
For u = -13 To -7.7 Step 0.05
  For v = -5 to -2 step 0.1
    X=v*Cos(u) : Y=v*Sin(u) : Z=v*v*Cos(2*u)
    pt = pt+1 : 3D_sphere pt,0.5 : 3D_Position pt, X, Y, Z : 3D_color pt, abs(x*20), 50, abs(y*20)
    If u < (0-9.7)
      DepCam = DepCam + 0.03 : Cam_position DepCam, DepCam-50, 50-DepCam
    Else
      DepCam = DepCam - 0.03 : Cam_position DepCam, DepCam-50, 50-DepCam
    End_if
  Next v
Next u
Caption 0,"Courbe 3D - Programme terminé"
End

Stopper:
  Caption 0,"Courbe 3D - Programme terminé par l'appui sur <Stop>"
  Beep : Wait 2000 : Terminate
Return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Encore un petit programme de tracé a compiler   

Revenir en haut Aller en bas
 
Encore un petit programme de tracé a compiler
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» petit programme pour l'effet miroir et renverser
» Un petit programme pour GRID
» Un petit bonjour / bonsoir !
» Petit Cafe Gratuit au McDo du 15 au 28 novembre
» Petit billet d'humeur

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: