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
» PANORAMIC V 1
Simuler un tableau à 3 dimensions Emptypar Marc Aujourd'hui à 13:48

» Gestion d'un système client-serveur.
Simuler un tableau à 3 dimensions Emptypar Klaus Aujourd'hui à 12:18

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Simuler un tableau à 3 dimensions Emptypar Froggy One Aujourd'hui à 10:16

» @Jack
Simuler un tableau à 3 dimensions Emptypar Jack Mar 30 Avr 2024 - 19:40

» trop de fichiers en cours
Simuler un tableau à 3 dimensions Emptypar papydall Lun 29 Avr 2024 - 22:39

» Une calculatrice en une ligne de programme
Simuler un tableau à 3 dimensions Emptypar jean_debord Dim 28 Avr 2024 - 7:47

» Form(résolu)
Simuler un tableau à 3 dimensions Emptypar leclode Sam 27 Avr 2024 - 16:59

» Bataille navale SM
Simuler un tableau à 3 dimensions Emptypar jjn4 Ven 26 Avr 2024 - 16:39

» Les maths du crocodile
Simuler un tableau à 3 dimensions Emptypar jean_debord Jeu 25 Avr 2024 - 9:37

» Naissance de Crocodile Basic
Simuler un tableau à 3 dimensions Emptypar jean_debord Jeu 25 Avr 2024 - 7:45

» Dessine-moi une galaxie
Simuler un tableau à 3 dimensions Emptypar jjn4 Lun 22 Avr 2024 - 12:47

» Erreur END_SUB
Simuler un tableau à 3 dimensions Emptypar jjn4 Lun 22 Avr 2024 - 12:43

» Bug sur DIM_LOCAL ?
Simuler un tableau à 3 dimensions Emptypar papydall Dim 21 Avr 2024 - 22:30

» 2D_fill_color(résolu)
Simuler un tableau à 3 dimensions Emptypar leclode Sam 20 Avr 2024 - 7:32

» Consommation gaz électricité
Simuler un tableau à 3 dimensions Emptypar leclode Mer 17 Avr 2024 - 10:07

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -50%
-50% Baskets Nike Air Huarache Runner
Voir le deal
69.99 €

 

 Simuler un tableau à 3 dimensions

Aller en bas 
+4
Yannick
Jean Claude
Minibug
papydall
8 participants
AuteurMessage
papydall

papydall


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

Simuler un tableau à 3 dimensions Empty
MessageSujet: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions EmptyDim 13 Oct 2013 - 0:42

PANORAMIC ne supporte nativement que les tableaux à deux dimensions.
Voici comment on peut simuler un tableau à trois dimensions.

Spoiler:

Mais est-ce bien utile cette astuce ?
Probablement NON !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/ En ligne
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Simuler un tableau à 3 dimensions Empty
MessageSujet: Re: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions EmptyDim 13 Oct 2013 - 6:24

Bonjour papydall,

Bin oui, fallait juste y penser !!!!

Bravo, excellente idée.

bounce bounce bounce 
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jean Claude

Jean Claude


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

Simuler un tableau à 3 dimensions Empty
MessageSujet: Re: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions EmptyDim 13 Oct 2013 - 8:40

Astucieux effectivement.
L'utilité je ne la voit pas au premier abord mais je garde çà sous le coude, on ne sait jamais.

A+
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Simuler un tableau à 3 dimensions Empty
MessageSujet: re   Simuler un tableau à 3 dimensions EmptyDim 13 Oct 2013 - 11:55

Bravo Papydall !

Je ne sais pas encore à quoi cela pourra servir
mais je suis sûr que nos esprits tordus vont y trouver une utilité...Laughing 
Revenir en haut Aller en bas
Jicehel

Jicehel


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

Simuler un tableau à 3 dimensions Empty
MessageSujet: Re: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions EmptyDim 13 Oct 2013 - 12:16

Tu devrais juste ajouter une astuce pour la declaration du tableau pour que les indices soient automatiques
pour le tableau(x,y,z) => déclaration du tableau(x,((y+1)*(z+1))-1)
Revenir en haut Aller en bas
Mumu




Nombre de messages : 176
Localisation : 45
Date d'inscription : 20/12/2012

Simuler un tableau à 3 dimensions Empty
MessageSujet: Re: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions EmptyDim 13 Oct 2013 - 13:03

L'idée est tout bonnement Géniale !!!

Edit: Et pourquoi ne pas envisager des tableaux à n dimensions... ?
Revenir en haut Aller en bas
bignono

bignono


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

Simuler un tableau à 3 dimensions Empty
MessageSujet: Re: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions EmptyDim 13 Oct 2013 - 18:17

Bonsoir Papydall Smile 
C'est génial ton truc! Idea 
Revenir en haut Aller en bas
mindstorm

mindstorm


Nombre de messages : 684
Age : 55
Localisation : charente
Date d'inscription : 13/02/2013

Simuler un tableau à 3 dimensions Empty
MessageSujet: Re: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions EmptyDim 13 Oct 2013 - 20:25

papydall est de retour
je vois un usage pour l'imprimante 3D
mais je ne suis pas sur de savoir l'utiliser
cyclops 
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Simuler un tableau à 3 dimensions Empty
MessageSujet: re   Simuler un tableau à 3 dimensions EmptyDim 13 Oct 2013 - 21:39

Moi aussi je vois bien çà en 3D...

...Imaginons une scene 3D avec chaque pixel dans un tableau 3D...study 
Revenir en haut Aller en bas
Jicehel

Jicehel


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

Simuler un tableau à 3 dimensions Empty
MessageSujet: Re: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions EmptyDim 13 Oct 2013 - 22:31

Ça permet par exemple d'extrapoler pour des calculs matriciels.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Simuler un tableau à 3 dimensions Empty
MessageSujet: re   Simuler un tableau à 3 dimensions EmptyLun 14 Oct 2013 - 2:12

Et la couleur qui a trois variables en RGB...Very Happy

Je dirai même que cela (le tableau 3D) mérite un petit article explicatif a publié sur le mag.
C'est une chose qui n' existe pas en natif et que tu crées avec Panoramic, cela peut être
utile de le mettre sur le mag pour le retrouver plus facilement. 
C' est même digne de la rubrique des tutoriels...
Revenir en haut Aller en bas
papydall

papydall


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

Simuler un tableau à 3 dimensions Empty
MessageSujet: Re: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions EmptyLun 14 Oct 2013 - 6:23

Bonjour tout le monde et merci pour vos interventions.

Vous avez tous des bonnes idées pour utiliser des tableaux à 3 dimensions.
Comme je suis actuellement en panne (heu, en panne d’idées s’entend !), je vous propose un code pour mieux illustrer comment on peut utiliser ces tableaux tridimensionnels simulés.
Le programme en lui-même n’a que peu  d’intérêt, mais il montre comment déclarer ce type de tableaux, et la manière de l’utiliser.
Vous trouverez certainement des bonnes applications utilisant des tableaux à 3 dimensions ! Alors ne vous en privez pas.

Code:
rem ============================================================================
'  Simulation et utilisation d'un tableau à 3 dimensions
rem ============================================================================

dim n1, n2 ,n3, x, y, z : n1 = 10 : n2 = 20 : n3 = 5
dim tableau(n1,n2*n3) : ' simuler un tableau à 3 dimensions n1,n2,n3
dim get_tableau : ' variable dans laquelle on récupère la valeur du tableau(x,y,z)
dim rand : ' variable qui contiendra un entier aléatoire entre mini et maxi
color 0,0,0,0 : display : caption 0,"<CLICK> pour arrêter"
' Initialiser le tableau tridimensionnel par des entiers aléatoires
for x = 1 to n1
   for y = 1 to n2
       for z = 1 to n3
           rand(10,150) : ' entier aléatoire entre 10 et 150
           set_tableau(x,y,z,rand) : ' affecter la valeur rand au tableau(x,y,z)
       next z
   next y
next x
rem ===========================================================================
' Recupérer le contenu du tableau tridimensionnel pour tracer des cercles dont
' les coordonnées de leur centre ainsi que leur rayon en dépendent.
for x = 1 to n1
    for y = 1 to n2
        for z = 1 to n3
            get_tableau(x,y,z) : 2d_pen_width 1 + get_tableau/100
            2d_pen_color rnd(255),rnd(255),rnd(255)
            2d_circle 300+get_tableau,200+get_tableau,get_tableau/4
            2d_circle 300+get_tableau,200-get_tableau,get_tableau/4
            2d_circle 300-get_tableau,200-get_tableau,get_tableau/4
            2d_circle 300-get_tableau,200+get_tableau,get_tableau/4
            2d_circle 300,200+get_tableau,get_tableau/4
            2d_circle 300,200-get_tableau,get_tableau/4
            2d_circle 300+get_tableau,200,get_tableau/4
            2d_circle 300-get_tableau,200,get_tableau/4
         if scancode <> 0 then terminate
        next z
    next y
next x
caption 0, " terminé"
end
rem ============================================================================
' Affectation du tableau
' Sub permetant de mettre la valeur V dans Tableau(x,y,z)
sub Set_Tableau(x,y,z,v)
   Tableau(x, y + z * (n3-1)) = v
end_sub
rem ============================================================================
' Lecture du tableau
' Sub renvoyant la valeur de Tableau(x,y,z) dans la variable Get_Tableau
SUB Get_Tableau(x,y,z)
   Get_Tableau = Tableau(x, y + z *(n3-1))
end_sub
rem ===========================================================================

' Fournir un entier aléatoire entre mini et maxi bornes comprises
SUB Rand(mini,maxi)
   rand = int(rnd(maxi-mini+1))+mini
END_SUB
rem ============================================================================


Dernière édition par papydall le Lun 14 Oct 2013 - 13:09, édité 1 fois (Raison : Correction de l'erreur signalée par Jicehel)
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/ En ligne
Jicehel

Jicehel


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

Simuler un tableau à 3 dimensions Empty
MessageSujet: Re: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions EmptyLun 14 Oct 2013 - 7:23

Je pense qu'il y avait un petit problème dans les formules, je n'ai pas trop le temps de vérifier (je dois me préparer pour le boulot) mais j'ai modifié un peu le prog.

Code:
rem ============================================================================
'  Simulation et utilisation d'un tableau à 3 dimensions
rem ============================================================================

dim n1, n2 ,n3, x, y, z : n1 = 10 : n2 = 20 : n3 = 5
dim tableau(n1,n2*n3) : ' simuler un tableau à 3 dimensions n1,n2,n3
dim get_tableau : ' variable dans laquelle on récupère la valeur du tableau(x,y,z)
dim rand : ' variable qui contiendra un entier aléatoire entre mini et maxi
color 0,0,0,0 : display : caption 0,"<CLICK> pour arrêter"
' Initialiser le tableau tridimensionnel par des entiers aléatoires
for x = 1 to n1
  for y = 1 to n2
      for z = 1 to n3
          rand(10,150) : ' entier aléatoire entre 10 et 150
          set_tableau(x,y,z,rand) : ' affecter la valeur rand au tableau(x,y,z)
      next z
  next y
next x
rem ===========================================================================
' Recupérer le contenu du tableau tridimensionnel pour tracer des cercles dont
' les coordonnées de leur centre ainsi que leur rayon en dépendent.
for x = 1 to n1
    for y = 1 to n2
        for z = 1 to n3
            get_tableau(x,y,z) : 2d_pen_width 1 + get_tableau/100
            2d_pen_color rnd(255),rnd(255),rnd(255)
            2d_circle 300+get_tableau,200+get_tableau,get_tableau/4
            2d_circle 300+get_tableau,200-get_tableau,get_tableau/4
            2d_circle 300-get_tableau,200-get_tableau,get_tableau/4
            2d_circle 300-get_tableau,200+get_tableau,get_tableau/4
            2d_circle 300,200+get_tableau,get_tableau/4
            2d_circle 300,200-get_tableau,get_tableau/4
            2d_circle 300+get_tableau,200,get_tableau/4
            2d_circle 300-get_tableau,200,get_tableau/4
            wait 20
        if scancode <> 0 then terminate
        next z
    next y
next x
caption 0, " terminé"
end
rem ============================================================================
' Affectation du tableau
' Sub permetant de mettre la valeur V dans Tableau(x,y,z)
sub Set_Tableau(x,y,z,v)
  Tableau(x, y + (z-1) * n2) = v
end_sub
rem ============================================================================
' Lecture du tableau
' Sub renvoyant la valeur de Tableau(x,y,z) dans la variable Get_Tableau
SUB Get_Tableau(x,y,z)
  Get_Tableau = Tableau(x, y + (z-1) * n2)
end_sub
rem ===========================================================================

' Fournir un entier aléatoire entre mini et maxi bornes comprises
SUB Rand(mini,maxi)
  rand = int(rnd(maxi-mini+1))+mini
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
papydall

papydall


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

Simuler un tableau à 3 dimensions Empty
MessageSujet: Re: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions EmptyLun 14 Oct 2013 - 10:57

Bonjour Jicehel
A quel endroit, penses-tu voir quelque chose qui cloche dans les formules ?
Personnellement, je n’en voie pas, mais qui sait ?

NB : pour le WAIT 20, je l’avais dans mon code, mais je l’ai supprimé par inattention avant de poster ! Embarassed 
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/ En ligne
Jicehel

Jicehel


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

Simuler un tableau à 3 dimensions Empty
MessageSujet: Re: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions EmptyLun 14 Oct 2013 - 12:03

Sauf erreur de logique de ma part, car j'ai regardé très vite ce matin avant de partir, tu avais écrit:

' =========================================================
' Affectation du tableau
' Sub permetant de mettre la valeur V dans Tableau(x,y,z)

sub Set_Tableau(x,y,z,v)
Tableau(x, y + z * (n3-1)) = v
end_sub


=> Tu écris la valeur en x, y+z*(n3-1) soit pour x = 1 , y=2, z=3 en (1,2+3*(5-1)) soit en (1,14)

'==========================================================
' Lecture du tableau
' Sub renvoyant la valeur de Tableau(x,y,z) dans la variable Get_Tableau
SUB Get_Tableau(x,y,z)
Get_Tableau = Tableau(x, y + z * 10)
end_sub

=> Pour les mêmes valeurs, tu lis le tableau en (1,2+3*10) soit (1,32)

-----

De plus, je pense que c'est mieux d'utiliser la même formule pour la compréhension et la mise à jour (je trouve très bien l'usage de n3 à la place de la valeur fixe 10 qui dépend en réalité de la taille du tableau, comme dans ton cas où tu as réglé la valeur à 5)

Mais bon, c'est comme ça que je l'ai lu rapidement ce matin, peut-être que j'ai manqué quelque chose...
Revenir en haut Aller en bas
papydall

papydall


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

Simuler un tableau à 3 dimensions Empty
MessageSujet: Re: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions EmptyLun 14 Oct 2013 - 13:22

Merci Jicehel d’avoir remarqué l’erreur due au copier/coller.
Il fallait écrire, dans les 2 SUBs Set_tableau() et Get_Tableau() , les mêmes paramètres, à savoir (x, y + z *(n3 – 1)).

J’ai corrigé ci-haut.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/ En ligne
Jicehel

Jicehel


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

Simuler un tableau à 3 dimensions Empty
MessageSujet: Re: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions EmptyLun 14 Oct 2013 - 13:32

En plus du coup, tes proc. sont plus facilement adaptable, puisque tu utilise 3 variables pour déclarer ton tableau. On pourrait même avoir une procédure d'initialisation qui fixe les variables pour le programme à partir d'un appel.
Le seul problème de cette méthode est que l'on doit adapter n3 à la valeur du tableau utilisé si on a plusieurs tableaux.

Sinon histoire de chipoter car je suis un chipoteur, la formule fonctionne tout à fait, mais personnellement, j'aurais trouvé plus logique (la logique étant quelque chose de propre à chacun ...) d'écrire: (x, y *(n2 – 1) + z )

Toutefois, on est d'accord que cela ne change rien au fonctionnement du programme...
Revenir en haut Aller en bas
papydall

papydall


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

Simuler un tableau à 3 dimensions Empty
MessageSujet: Re: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions EmptyLun 14 Oct 2013 - 14:09

Eh bien, je suis ravi d’apprendre une autre qualité de toi : chipoteur ! Simuler un tableau à 3 dimensions Text65

Ta logique est … logique,    Simuler un tableau à 3 dimensions Text1232
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/ En ligne
Jicehel

Jicehel


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

Simuler un tableau à 3 dimensions Empty
MessageSujet: Re: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions EmptyLun 14 Oct 2013 - 14:37

Very Happy Je suis content. Merci Papydall Wink
Revenir en haut Aller en bas
Contenu sponsorisé





Simuler un tableau à 3 dimensions Empty
MessageSujet: Re: Simuler un tableau à 3 dimensions   Simuler un tableau à 3 dimensions Empty

Revenir en haut Aller en bas
 
Simuler un tableau à 3 dimensions
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Tableau à 3 dimensions
» Adresses dans un tableau à 2 dimensions
» Simuler une entrée clavier
» Simuler le passage de paramètre en Panoramic
» Simuler un ON_MOVE sur d'autres FORM que le 0

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: