J’ai besoin d’aide
3 sujets de 1 à 3 (sur un total de 3)
-
Bonjour,
Oui, j’ai besoin d’un petit coup de main pour les hollywoodiens qui maîtrise les tableaux.
J’explique,
J’ai un tableau avec les coordonnées Zmoy,X,Y,Z,D
Le voici:
PT[0 à 95]={PZM=ZM,PX=X,PY=Y,PD=D}
Se tableau m’a l’air Ok, mais comment fait-on pour trier se tableau en fonction de PZM, je veux que la valeur de PX,PY et PD suive la valeur trié de PZM
ex:
PT[0]={9,5,3,7,9}
PT[1]={8,4,4,8,2}
PT[3]={5,8,6,8,2}
Une fois trié, je veux que mon tableau soit comme sa:
PT[0]={5,8,6,8,2}
PT[1]={8,4,4,8,2}
PT[2]={9,5,3,7,9}
Quelqu’un sait? c’est pour trié les coordonnées afin d’afficher en premier le triangle le plus éloigné. Comme sa, plus d’erreur d’affichage lors d’une rotation.
Si j’arrive à faire sa, j’optimise le truc et hop, vous avez un code hollywood pour afficher des objet 3D surface pleine SANS ERREUR d’affichage. Car à la fin, je donne toujours tous
Merci du coup de main
Respect
Hello
Ce que tu cherche s’appelle le « tri fusion »
Y a plein d’exemple de code sur Internet à toi de choisir celui qui te parais le plus clair
L’idée c’est on trie d’abord les cellules du tableau par 2 cellules à la fois (trivial) puis on regroupe par 4 (cad on entrelace en comparant 2 cellules de chaque paquet ) …etc jusqu’à la taille du tableau
genre un tableau à l’envers qu’on veut mettre par ordre croissant
7 6 5 4 3 2 1 0
Etape1 (blocs par 2)
on trie 7 6
6 7
idem les autres
4 5
2 3
0 1
Etape2 (blocs par 4)
on fusionne
6 7 et 4 5
si 6< 4 alors 6 4 sinon 4 6 etc... si 7< 5 alors 7 5 sinon 5 7 etc... –> 4 5 6 7
on fusionne
2 3 et 0 1
–> 1 2 3 4
Etape3 (blocs par
on fusionne
4 5 6 7 et 0 1 2 3
–> 0 1 2 3 4 5 6 7
Merci, j’essai.
Il faudra surement que je passe par les metatables… Recherche ardu, mais je finirais bien par trouver
EDIT: J’AI TROUVE…
Encore merci Mr thellier et Alex sur ANG de votre coup de main
Respect
3 sujets de 1 à 3 (sur un total de 3)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › J’ai besoin d’aide