11536 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
J'aimerai utiliser un tableau à 3 dimensions , la première dimension contiendrai les coordonnées d'un point (x,y), la deuxième dimension contiendrai le numéro du point et la troisième dimension contiendrai le numéro de la projection.
-J'arrive à remplir un tableau à 2 dimensions en utilisant la fonction push dans une boucle for

function calcul()
   {
   for (var k =0; k <(long_tab); k++)
	 {....
         ptspara.push([xpara,ypara]) ;
         }
   }

Cela rempli le tableau ptspara avec les coordonnées x,y , en 2 dimensions
J'ai créé un second tableau

   for (var j =0; j <20; j++)
	 {
         calcul()
         tableau_pts[j]=ptspara ;
         }

Actuellement je n'arrive pas à "réinitialisé" le tableau ptspara,je pense que si j'arrivai à effacer le tableau ptspara après l'affectation dans le tableau tableau_pts cela remplirai correctement le tableau tableau_pts.
Modérateur
Salut,


let dataPoints = [
  {
    id: 1,
    x: 123,
    y: 456,
    z: 789
  }, 
  // etc.
]


Pour aller plus loin, autant créer une class s'il y a des méthodes associées.
Modifié par niuxe (23 Mar 2025 - 18:56)
" niuxe"je ne connais pas cette écriture

let dataPoints = [
  {
    id: 1,
    x: 123,
    y: 456,
    z: 789
  }, 
  // etc.
]


Est ce un tableau a 2 dimensions dont une dimension contient 4 informations id,x,y et z?
Modérateur
le principe est simple. Ce que j'ai pu comprendre, tu veux représenter des points dans un espace 3D (Ton sujet n'explique pas précisément ce que tu veux faire au final). Tu génères des objets qui représenteront des points dans un espace 3D (x,y,z). À mon avis, ce ne sera pas suffisant, mais comme je ne connais pas le but, je ne peux pas me prononcer. Ton tableau ne sera qu'une liste de tes objets.
Modifié par niuxe (24 Mar 2025 - 15:41)
Salut,

je suppose que ton tableau ptspara est une variable "globale" (je suis pas convaincu que tu en as conscience) et ça me semble "crade" comme solution (surtout vu comment tu t'en sers Smiley ohwell )

Je dirais qu'il faut plutôt déclarer ton tableau dans ta fonction calcul puis de retourner ton tableau à la fin de la fonction :


function calcul()
{
    let ptspara=[]
    for (var k =0; k <(long_tab); k++)
    {....
        ptspara.push([xpara,ypara]) ;
    }
    return ptspara;
}



for (var j =0; j <20; j++)
{
    tableau_pts[j]=calcul();
}



Et ensuite je pense qu'il faudrait mieux expliquer ton problème car ça me semble bizarre entre ta description de problème et le peu de code qu'on a.
Dans ta description tu sembles vouloir associer un seul point à la fois, donc tableau_pts[0] devrait contenir un seul point, mais tu semble lui affecté un tableau de plusieurs points (de taille long_tab).
Et si à chaque fois c'est bien une association 1->1 , ça semble plus logique d'utiliser une structure comme propose niuxe qui rassemble toutes les infos ensembles pour un point
Modifié par Mathieuu (25 Mar 2025 - 11:50)