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
» I Love You
par papydall Aujourd'hui à 1:15

» mise a jour calculatrice
par joeeee2017 Aujourd'hui à 1:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Hier à 18:49

» [solved] 3D_LINE How to ?
par papydall Hier à 6:51

» supprimé
par joeeee2017 Dim 15 Oct 2017 - 20:02

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» supprimé
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

» Un petit "coucou" à tous les Panoramiciens !
par Jack Ven 6 Oct 2017 - 10:24

» Pourquoi le compilateur stagne
par mindstorm Mer 4 Oct 2017 - 20:38

» Panoramic ?
par Marc37 Mer 4 Oct 2017 - 0:39

» Premiers pas avec Arduino
par Marc37 Mer 4 Oct 2017 - 0:29

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
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 : 5857
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 : 5541
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 : 5857
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 : 1601
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 : 5857
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 : 5857
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: