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 TABLEAUX, c'est  pas mon fort Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Les TABLEAUX, c'est  pas mon fort Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Les TABLEAUX, c'est  pas mon fort Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Les TABLEAUX, c'est  pas mon fort Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Les TABLEAUX, c'est  pas mon fort Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Les TABLEAUX, c'est  pas mon fort Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Les TABLEAUX, c'est  pas mon fort Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Les TABLEAUX, c'est  pas mon fort Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Les TABLEAUX, c'est  pas mon fort Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Les TABLEAUX, c'est  pas mon fort Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Les TABLEAUX, c'est  pas mon fort Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Les TABLEAUX, c'est  pas mon fort Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Les TABLEAUX, c'est  pas mon fort Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Les TABLEAUX, c'est  pas mon fort Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Les TABLEAUX, c'est  pas mon fort 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
-29%
Le deal à ne pas rater :
DYSON V8 Origin – Aspirateur balai sans fil
269.99 € 379.99 €
Voir le deal

 

 Les TABLEAUX, c'est pas mon fort

Aller en bas 
+2
Jicehel
sergeauze
6 participants
AuteurMessage
sergeauze

sergeauze


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

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyLun 12 Mar 2012 - 17:42

Bonjour
J'aurais besoin d'un tutoriel sur les tableaux ou a defaut de codes
dans lesquels ils sont utilises .pour n'en inspirer.
Pour participer au concours de programmation ,je voudrais me remettre en memoire
leur mode de fonctionnement que j'ai du mal à comprendre.
Merci d'avance
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: Re: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyLun 12 Mar 2012 - 18:16

Tu déclare ton tableau
Dim Tableau(5,5) => Ca fait un tableau de 5 lignes et 5 colonnes

quand tu veux l'utiliser, tu fais Tableau(1,3) = 5 => Tu mets 5 dans la 3eme colonne de la première ligne de ton tableau


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 TABLEAUX, c'est  pas mon fort Empty
MessageSujet: Re: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyVen 16 Mar 2012 - 0:57

Petite rectification:
Dim Tableau(5,5) fait un tableau de 6 lignes de 6 colonnes ! En effet, les indices commentent à 0: l'élément Tableau(0,3) est bien défini et existant, Tableau(0,0) également, comme Tableau(3,0) !

Complément: en Panoramic, un tableau peut avoir 1 ou 2 dimensions:
dim UneDimension(9) : ' tableau de 10 éléments
dim DeuxDimensions(3,4) : ' tableau de 4 lignes de 5 colonnes

Autre complément: les tableaux ont le même type que les variables simples:
dim flottant(3) : è tableau de 4 éléments de valeurs flottantes
dim entier%(3) : ' tableau de 4 éléments de valeurs entières
dim chaine$(3): ' tableau de 4 éléments de chaînes de caractères
On ne peut pas mélanger les types de données dans un même tableau, étant donné que leur type est défini par leur nom !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
sergeauze

sergeauze


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

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: re:Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyVen 16 Mar 2012 - 13:19

Salut tous
Merci pour vos reponses
Je vais bien trouver sur le forum quelques applications sur les
tableaux et m'en inspirer.
Le plus risible c'est que je les avais utlises dans un programme de tri
que j'avais publie!
Je vais revoir la docummentation et me remettre en memoire leur principe
Bonne programmation!
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
sergeauze

sergeauze


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

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: re: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyMer 28 Mar 2012 - 18:23

salut
Voila qui est fait et j'y vois plus clair maintenant
J'ai retrouve ce programme de tri
Code:
' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
'  TIRAGE AU SORT DE  6 NUMEROS
'  PARMI 49
' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        dim x ,y  ,lm,i ,pt
        Dim a(6), t(49)
        height 0,150 :width 0,500
        lm=40

' TIRAGE.................................
  for i = 1 to 6
          pt=0
    repeat
      a(i)= int(rnd(49)+1)
    until t(a(i))=0
        t(a(i))=1
        lm=lm+25
      pt=25
    print_locate lm,pt
    print  a(i)
  next i
' RANGEMENT.........................................
for y=1 to 5
  for x=1 to 5
    if a(x) >a (x+1)
      a(0 )=a(x)
      a(x )=a(x+1)
      a(x+1)=a(0)

    end_if
  next x

      lm=40
      pt=0
next y
' IMPRESSION DU RANGEMENT............................................
 for x=1 to 6
      pt=50
      lm=lm+25
    print_locate lm,pt
    print a(x)

 next x
end

' http://panoramic.1fr1.net/t924-hazard-et-classements?highlight=hazard

Comme nous en avions discute avec Klaus la fonction rnd n'est pas réellement "aleatoire" sous Panoramic
Klaus avait sorti une DLL .!!
Mais je ne parviens pas à l'adapter à ce code .J'aurais besoin de ses lumieres

Autre point
A propos de la maniére dont s'éffectuent les tirages
A chaque tirage on repart sur la base de 49 ce qui n'est pas normal puisque on devrait en eliminer le dernier numero
Je devrais pouvoir y parvenir
Toute idee sera la bienvenue
Bonne fin de journée

Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Jean Claude

Jean Claude


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

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: Re: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyMer 28 Mar 2012 - 20:06

J'espère bien qu'ils sont gagnants jocolor cheers
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: Re: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyMer 28 Mar 2012 - 20:42

Bonsoir Sergeauze Smile
Dans le petit programme suivant, moi je tire tous les 49 numéros les uns après les autres en faisant attention de ne pas le retirer une 2ème fois, c'est comme si tu prenais un jeu de carte, tu le mélanges et tu retournes les cartes les unes après les autres. J'ai procédé comme cela dans mon jeu de poker. A la fin, il te suffit de ne prendre que les 6 premiers du tirage!
Code:
dim i,t,r,z,v,a(49)
label tirage
height 0,750
t=1
repeat
tirage:
  z=0:r = int(rnd(49))+1
  for v=1 to t-1
      if r=a(v) then z=1
  next v
  if z=1 then goto tirage
  a(t)=r
  t=t+1
until t>49

for i=1 to 49
print a(i)
next i
En espérant t'avoir aidé, bonne soirée Wink
Revenir en haut Aller en bas
sergeauze

sergeauze


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

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: re:Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyMer 28 Mar 2012 - 22:18

Merci Bigono
Les codes sont tres proche et ça me donne un exemple d'utilisation des labels
que j'ai du mal a maitriser.
Ce qui me chiffonne c'est que ça n'obeit pas aux lois de la probabilite:
premier tirage : 1 chance sur 49
deuxieme : 1 chance sur 48
troisieme : 1 chance sur 47
etc ...
Dans nos codes plus le nombre de cartes ou boules à tirer est grand et plus on a de chance
de tomber sur un doublon et de faire un detour par la case controle.
;ça ne serait pas le cas si on les enlevait à chaque fois de la liste.
J'y reflechis .
bonne fin de journee
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Invité
Invité




Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: Re: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyJeu 29 Mar 2012 - 9:30

Bonjour;
Je n'ai pas le temps de faire un code pour cela, mais il y a une solution simple:
c'est d'avoir un DLIST dans lequel on met tous les numéros, qui peuvent d'ailleurs être dans un désordre.
Le tirage à partir de la ne concernerait non pas le numéro, mais la position dans le DLIST.
Ainsi si on trouve par exemple: 25: on lit le contenu:
Item_read$(x, 25) puis on supprime l'item en question, soit item_delete(X, 25), et on a une liste avec un numéro de moins.
Voilà, voila.
Je pars
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: Re: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyJeu 29 Mar 2012 - 11:12

En effet la solution de Cosmos est simple à mettre en oeuvre. Moi, j'ai plus l'habitude d'utiliser des tableaux, mais c'est beaucoup plus complexe que la DLIST comme l'indique Cosmos. La gestion de la suppression (et l'insertion) étant géré automatiquement dans ce type d'objet.
Revenir en haut Aller en bas
sergeauze

sergeauze


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

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: re: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyMar 3 Avr 2012 - 18:42

Salut à tous
J'ai trouve un peu de temps pour faire mon programme de tri
à ma façon Je me suis inspiré de conseils de Cosmos .
La fonction SORT ne convient pas et c'est regretable
ca m'aurait economise des lignes de code
Sauf erreur de ma part ça fait ce que je voulais et comme je le voulais
Code:

 dim x,y, z,a ,w,u, t(1000),e
  dlist 1
  list 3
  left 3 ,150
e=20: '  nombres tires
 w=90 :' population
 '
 height 0,500
 ' xxxxxxxxxxxxxxxxxxxxxxxxxxx
 ' charger le dlist
 ' xxxxxxxxxxxxxxxxxxxxxxxxxx
 for x=1 to w
 item_add 1,x
' print item_read$(1,x)
 next x
 ' xxxxxxxxxxxxxxxxxxxxxxxxx
' effacer un valeur au hasard

 for y=1 to  e
 a= int(rnd(w)+1)
 print item_read$(1,a):t(y)=  item_read$(1,a)
 item_delete 1,a
  w=w-1
  next y
 ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
'  TRI  DANS UN TABLEAU
  ' XXXXXXXXXXXXXXXXXXXXXXXXXXXX
  for y=1 to e-1
  for x=1 to e-1
    if t(x) >t (x+1)
      t(0 )=t(x)
      t(x )=t(x+1)
      t(x+1)=t(0)

    end_if
    next x
    next y
 '  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 ' afichage
 ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  for x=1 to e

  item_add 3,t(x)
  next x
  end


Bonne fin de journée
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
sergeauze

sergeauze


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

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: re:Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyMar 24 Avr 2012 - 16:45

salut aux panoramiciens
Apres avoir compris les tableaux je me lance dans l'Art graphique
Code:

dim x0,y0,r,x1,y1,x,beta,x2,y2,r1 ,beta1 ,r2
dim beta2,x3,y3
width 0,1000
height 0,1000
color 0, 0,0,0
x0=500
y0=500
r=250
r1=180
r2=30
2d_circle x0,y0,5
 beta=45/52.29
 for x=1 to 1440
 beta =beta+(0.25/52.29)
y1=y0+sin(beta)*r
x1=x0+cos(beta)*r
 2d_pen_color 255,0,0
2d_fill_color 255,0,0
2d_circle y1,x1,5
wait 10
beta1=beta1+(1/52.29)
y2=y1+(sin  (beta1)*r1)
x2=x1+(cos(beta1)*r1)
 2d_pen_color 0,255,0
2d_fill_color 0,255,0
2d_circle y2 ,x2,25
 beta2=beta2+(6/52.29)
y3=y2+(sin  (beta2)*r2)
x3=x2+(cos(beta2)*r2)
 2d_pen_color 0,0,255
2d_fill_color 0,0,255
2d_circle y3,x3,15
if scancode=27 then end
next x
Bonne journee à tous
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
papydall

papydall


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

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: Re: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyMar 24 Avr 2012 - 17:41

Salut Sergeauze.
L’art graphique c’est magnifique !
Comme début, c’est bien ; c’est même très bien.
J’ai enlevé la ligne 20 : wait 10. Le tracé se fait très rapidement et la ligne 33 : if scancode = 27 then end, devient inutile. Mais, le fond de l’écran ne prend la couleur noire qu’après le tracé. Il faut donc ajouter CLS après la ligne 5 : color 0,0,0,0 : cls et tout devient parfait.
Bien évidemment, tu n’es pas obligé d’adopter ces modifications ! Ce n’est qu’un point de vue.
A+
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
sergeauze

sergeauze


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

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: Re: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyMar 24 Avr 2012 - 18:39

"Mais, le fond de l’écran ne prend la couleur noire qu’après le tracé. Il faut donc ajouter CLS après la ligne 5 : color 0,0,0,0 : cls et tout devient parfait. "

Ce phenomene je ne l'ai pas perçu chez moi , sous vista , et je vais suivre ton conseil au cas ou!
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: Re: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyMar 24 Avr 2012 - 21:12

Sergauze, j'adore ce genre de petites courbes. Je te fais une variante du coup ..... ^^
En fait l'idée, c'est d'essayer de faire une pseudo 3D avec les couleurs, dis moi si tu aimes ...
Code:
dim x0,y0 : x0=500 : y0=500
dim x1,y1,x, c, sergeauze : sergeauze = 52.29
dim beta, beta1, beta2 : beta=45/sergeauze
dim x2,y2,x3,y3
dim r, r1,r2 : r=250 : r1=180 : r2=30
width 0,1000 : height 0,1000 : color 0, 0,0,0
2d_circle x0,y0,5

 for x=1 to 1380
  c = abs(690 - x) / 6 + 20
  beta =beta +(0.25/sergeauze) : y1=y0+sin(beta)*r      : x1=x0+cos(beta)*r
  2d_pen_color c,0,0 : 2d_fill_color c,0,0 : 2d_circle y1,x1,5
  beta1=beta1+(1/sergeauze)    : y2=y1+(sin  (beta1)*r1) : x2=x1+(cos(beta1)*r1)
  2d_pen_color 0,c,0: 2d_fill_color 0,c,0 : 2d_circle y2 ,x2,25
  beta2=beta2+(6/sergeauze)    : y3=y2+(sin  (beta2)*r2) : x3=x2+(cos(beta2)*r2)
  2d_pen_color 0,0,c : 2d_fill_color 0,0,c : 2d_circle y3,x3,15
  wait 1 : if scancode=27 then end
next x
Revenir en haut Aller en bas
sergeauze

sergeauze


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

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: re:Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyMar 24 Avr 2012 - 21:55

oui
l'idee est de jouer sur les couleurs et le contraste
pour obtenir un effet optique de profondeur je ne souviens d'un code
Code:

dim x,y, a
width 0,1950
height 0,1400
color 0,34,231,228
wait 10
a=(-20)
for x=1 to 2000 step 0.3
a=a+0.2
2d_fill_color rnd( 255),0,0

y=500+sin((x*1.2)/57.297)*400
2d_circle x,y,a
2d_circle x+100,y+80,a
2d_fill_color 0,0,rnd(255)
2d_circle x+200,y+85,a
2d_circle x+100,y+100,a
2d_circle x+200,y+25,a

a=20/A


2d_circle x,y,a
2d_circle x+100,y+80,a
2d_fill_color 0,0,rnd(255)
2d_circle x+200,y+185,a
2d_circle x+100,y+200,a
2d_circle x+200,y+125,a
a=a*5
next x
end
C'est bluffant
Tu peux le rendre plus lisible?
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: Re: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyMar 24 Avr 2012 - 23:05

ok monsieur, voici ma version donc Wink
J'ai adapté à la taille de mon écran ...
Code:
dim x,y,a,c, c2 : a=(-20)
width 0,1200 : height 0,700 : color 0,34,231,228

for x=0 to 1200 step 1
  a=a+0.2 : c=abs(255-x/2.5)
  y=200+sin((x*1.2)/57.297)*100 : c2 = abs (200 - y/3)
  2d_fill_color c2,c/4,c  : 2d_circle x,y,a        : 2d_circle x+100,y+80,a
  2d_fill_color c/4,c/4,c2: 2d_circle x+200,y+85,a : 2d_circle x+100,y+100,a: 2d_circle x+200,y+25,a
  a=20/a : 2d_circle x,y,a: 2d_circle x+100,y+80,a
  2d_fill_color c/4,c2,c  : 2d_circle x+200,y+185,a: 2d_circle x+100,y+200,a: 2d_circle x+200,y+125,a
  a=a*5 : wait 1
next x
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 TABLEAUX, c'est  pas mon fort Empty
MessageSujet: Re: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyMar 24 Avr 2012 - 23:58

Salut à tous.
Après l'art graphique de Sergeause, voici l'art qui n'a pas de nom!
Code:

' ******************************************************************************
'
'  Courbes 3D par Papydall
'
' ******************************************************************************
dim a,b,x,y,z,pi,p,xe,ye,pi2,u1,v1, alfa,beta,zoom,u(3),v(3),w(3),xp(3)
label init,tracer,calcul,fonction
gosub init : gosub calcul
end
' ******************************************************************************
init:
  width 0,1000 : height 0,800 : color 0,0,0,0 : 2d_clear
  caption 0,"Veuillez patienter          <CLICK> pour arrêter"
  pi = 4*atn(1)  : pi2 = pi * 2 : p = pi/180 : a = 5 : b = 4
  Alfa = Pi / 8 : Beta =  Pi / 4 : Zoom = 25 : x = 5 : y = -30 : z = 0
  u(1) = COS(Alfa) * COS(Beta) : u(2) = SIN(Alfa) * COS(Beta) : u(3) = SIN(Beta)
  v(1) = 0-SIN(Alfa) : v(2) = COS(Alfa) : v(3) = 0
  w(1) = 0-COS(Alfa) * SIN(Beta) : w(2) = 0-SIN(Alfa)* SIN(Beta):w(3)= COS(Beta)
return
' ******************************************************************************
calcul:
for u1 = 0 to pi2 step p
  for v1 = 0 to pi2 step p
    gosub fonction : gosub tracer
    if scancode <> 0 then terminate
  next v1
next u1
caption 0, " Terminé"
return
' ******************************************************************************
tracer:
  xp(1) = u(1) * x + u(2) * y + u(3) * z
  xp(2) = v(1) * x + v(2) * y + v(3) * z
  xp(3) = w(1) * x + w(2) * y + w(3) * z
  xe = INT(500 * xp(2) * Zoom / 1000 + 400 + .5)
  ye = INT(-400 * xp(3) * Zoom / 800 + 400 + .5)
  2d_pen_color rnd(80)+130,rnd(80)+130,rnd(80)+150
  2d_fill_color rnd(255),rnd(255),rnd(255) : ' Mettez cette ligne en REM
  2d_circle xe,ye,rnd(25)+1
' remplacez la ligne précédente par la suivante
' 2d_point xe,ye
return
' *******************************************************************************
' *** Essayez ces différentes fonctions
fonction:
 x = a*u1*hcos(v1)*cos(u1) : y = a * u1 * hsin(v1)*sin(u1) : z = a * hcos(u1)*sin(v1)
' x = u1 * cos(v1)*hsin(u1) : y = u1 * sin(v1)*hcos(u1) : z = a * tan(u1)* tan(v1)
' x =u1*cos(v1) : y = u1*sin(v1) : z = tan(v1)*tan(u1)
' x = u1 * cos(v1)*sin(u1) : y = u1 * sin(v1) : z = a * tan(u1)* tan(v1)
' x=a*power(cos(u1),3)*power(cos(u1),2):y=a*power(sin(u1),3)*power(cos(v1),3):z=a*power(sin(v1),3)
' x = a*u1*cos(v1) : y = a * u1 * sin(v1) : z = a * hcos(u1)
' x = a * u1 * cos(v1) : y = b * u1 * sin(v1) : z = a/(u1+.0001)
' x =a*4*u1/(1+u1*u1+v1*v1): y = a*6*v1/(1+u1*u1+v1+v1) : z=5*a*(1-(u1*u1)-(v1*v1))/(1+u1*u1+v1*v1)
return
' ***********************************
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
sergeauze

sergeauze


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

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: re:Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyMer 25 Avr 2012 - 0:45

Je prefere la version avec les points
Tout ça parait simple mais il y a de l'idee là dessous !
Je ne manqurai pas de n'en inspirer
bonjour a vous tous
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: Re: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyMer 25 Avr 2012 - 1:21

Une version avec des baboules du programme de Papypall. Le résultat varie au niveau visuel selon les fonctions, mais dans l'ensemble, ça le fait, je trouve...
Code:

' ******************************************************************************
'
'  Courbes 3D par Papydall
'
' ******************************************************************************
dim a,b,x,y,z,pi,p,xe,ye,pi2,u1,v1,c1,c2, alfa,beta,zoom,u(3),v(3),w(3),xp(3)
dim x_max, y_max : x_max=1000: y_max=800
label init,tracer,calcul,fonction
gosub init : gosub calcul
end
' ******************************************************************************
init:
  width 0,x_max : height 0,y_max : color 0,0,0,0 : 2d_clear
  caption 0,"Veuillez patienter          <CLICK> pour arrêter"
  pi = 4*atn(1)  : pi2 = pi * 2 : p = pi/90 : a = 5 : b = 4
  Alfa = Pi / 8 : Beta =  Pi / 4 : Zoom = 25 : x = 5 : y = -30 : z = 0
  u(1) = COS(Alfa) * COS(Beta) : u(2) = SIN(Alfa) * COS(Beta) : u(3) = SIN(Beta)
  v(1) = 0-SIN(Alfa) : v(2) = COS(Alfa) : v(3) = 0
  w(1) = 0-COS(Alfa) * SIN(Beta) : w(2) = 0-SIN(Alfa)* SIN(Beta):w(3)= COS(Beta)
return
' ******************************************************************************
calcul:
for u1 = 0 to pi2 step p
  for v1 = 0 to pi2 step p
    gosub fonction : gosub tracer
    if scancode <> 0 then terminate
  next v1
next u1
caption 0, " Terminé"
return
' ******************************************************************************
tracer:
  xp(1) = u(1) * x + u(2) * y + u(3) * z
  xp(2) = v(1) * x + v(2) * y + v(3) * z
  xp(3) = w(1) * x + w(2) * y + w(3) * z
  xe = INT(500 * xp(2) * Zoom / x_max + 400 + .5)
  ye = INT(-400 * xp(3) * Zoom / y_max + 400 + .5)
  if xe > -20 and xe < (x_max + 20)
    if ye > -20 and ye < (y_max + 20)
      c1=abs(105 - xe/5) + abs(105-ye/4.5) : c2=u1*40
      2d_pen_color c2,c2,c2
      2d_fill_color rnd(40)+c1,rnd(40)+c1,rnd(40)+c1
      2d_circle xe,ye,rnd(15)+10 : ' remplacez cette ligne par la suivante
    end_if
  end_if
return
' *******************************************************************************
' *** Essayez ces différentes fonctions
fonction:
' x = a*u1*hcos(v1)*cos(u1) : y = a * u1 * hsin(v1)*sin(u1) : z = a * hcos(u1)*sin(v1)
' x = u1 * cos(v1)*hsin(u1) : y = u1 * sin(v1)*hcos(u1) : z = a * tan(u1)* tan(v1)
' x =u1*cos(v1) : y = u1*sin(v1) : z = tan(v1)*tan(u1)
' x = u1 * cos(v1)*sin(u1) : y = u1 * sin(v1) : z = a * tan(u1)* tan(v1)
' x=a*power(cos(u1),3)*power(cos(u1),2):y=a*power(sin(u1),3)*power(cos(v1),3):z=a*power(sin(v1),3)
' x = a*u1*cos(v1) : y = a * u1 * sin(v1) : z = a * hcos(u1)
 x = a * u1 * cos(v1) : y = b * u1 * sin(v1) : z = a/(u1+.0001)
' x =a*4*u1/(1+u1*u1+v1*v1): y = a*6*v1/(1+u1*u1+v1+v1) : z=5*a*(1-(u1*u1)-(v1*v1))/(1+u1*u1+v1*v1)
return
' ***********************************
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 TABLEAUX, c'est  pas mon fort Empty
MessageSujet: Re: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort EmptyMer 25 Avr 2012 - 2:42

Salut !
@Jicehel :
C’est une autre façon de voir. Ça a de l’effet !
@Sergeauze :
Moi aussi je préfère la version avec les points.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Les TABLEAUX, c'est  pas mon fort Empty
MessageSujet: Re: Les TABLEAUX, c'est pas mon fort   Les TABLEAUX, c'est  pas mon fort Empty

Revenir en haut Aller en bas
 
Les TABLEAUX, c'est pas mon fort
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Les tableaux
» Les tableaux
» Tableaux en DIM_LOCAL
» Variables et Tableaux
» Compilateur FBPano

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: