Concept du Multidimensionnel

 

Il

Aide

Pour étendre sur un axe, taper le numéro d'axe (ex: 1) puis cliquer sur le bouton OK

Pour calculer l'adresse, introduire les différents indices (ex: (1,2,3)) puis cliquer sur le bouton Chercher.

Pour Effacer ou faire une remise à zéro, cliquer sur le bouton Effacer.

Pour modifier l'angle de vision ou changer le point de repère, effectuer des changements sur les paramètres optionnels (Angle et Dép) , puis cliquer sur Afficher pour prendre en compte les modifications apportées.

Pour remettre les paramètres initiaux (par défaut), cliquer sur Default.

NB: Le nombre d'extensions par axe est fixé à 10 .

Tableau extensible à 3 dimensions

Tableau extensible à 2 dimensions

Tableaux extensibles : définition, notations

·         Tableau A[0:U1, 0:U2, ....,0:Uk ], Ui variable.

·         A[j1, j2, ...jk] représente un élément du tableau.

·         Chaque ji est dans l'intervalle [0..Ui].

·         Le tableau est représenté en mémoire de manière contigüe M[0..V] .

·         V = Produit(Ui + 1)  - 1 , i variant de 1 à k

·         L'état initial Ui est 0 pour tout i dans {1, 2, ...,k).

·         A[0, 0, ...] a comme image M[0]. 

Fonction d’allocation

Un schéma d'allocation du tableau A est une fonction bijective Loc : Nk -> N telle que:


·  Loc(0, 0,...,0) = 0

·  Loc(a1,a2,...,ak) < Loc(b1, b2, ...bk) ssi pour i =< k: at = bt (pour 1 =< t < i) et ai < bi sinon .


Représentation d’un tableau extensible à K dimensions

Utilisation d’un tableau d'index : IXA[0:X, 1..K, 1..K).

·         Première dimension : évolution des indices

·         Deuxième dimension : 1 tableau par dimension

·         Troisième dimension : base et facteur multiplicatif pour chaque dimension

X = Max (U1, U2, ....,Uk )

Remarque : IXA peut être vu comme K distinct 2-dimensionnel tableaux  Bi[0..Ui , 1..k] avec i=1,..,k.

Procédure d'allocation

Etendre(t) : t index, t =1, k


·  1. Etendre Bt[0:Ut, 1..K] à Bt[0:Ut + 1, 1..K ]

·  2. Ut<--Ut + 1

·  3. Bt[Ut+1,t] := (Ut+1)* Produit(Ur+ 1) pour r = 1 à k et r <> t (Base)

·  3. Bt(Ut+1, q] := Produit ( Ur + 1) pour r = q+1 à k et r et q = 1 à K et q <> t (Facteurs multiplicatifs)


Fonction d'accès

Adresse de A(j1, j2, ..., jk ) ?


·  1. Déterminer l'indice t tel que Bt[jt, t] := Max { Bi[ji, i], pour i=1,...,K }

·  2.Adresse :=Bt[jt,t]+ Somme(Bt[jt, r] * jr ) pour r = 1,...,K et r <> t



Note d'installation

Pour visualiser ces animations, Il est nécessaire d'avoir Java3D

Java 3D est disponible sur le site https://Java3d.dev.java.net . La version complète de cette bibliothèque est actuellement disponible sous Windows, Solaris, SGI, HP-UX et Linux. La version Windows est disponible sous OpenGL ou DirectX. La version pour Mac OS X est disponible sur le site d'Apple.

Il est conseillé d'installer Java 3D dans le même répertoire que le JDK, pour simplifier l'arborescence de l'installation de votre JDK. Java 3D installe essentiellement :

·  Des DLLs (Dynamic Link Library) dans le répertoire bin du JRE (Java Runtime Environment).

·  les fichiers vecmath.jar, j3dcore.jar, j3daudio.jar et j3dutils.jar dans le répertoire lib/ext du JRE .