Sphère

Résolu
RedSkidy Messages postés 196 Date d'inscription   Statut Membre Dernière intervention   -  
RedSkidy Messages postés 196 Date d'inscription   Statut Membre Dernière intervention   -
bonjour,

je voudrais coder en c++ un algorithme qui fait des sphères comme celle-ci: http://www.plotz.co.uk/_gfx/voxel_sphere_1.png avec rayon variable
mais sans affichage a l'écran juste en stockant les cubes dans un tableau tridimensionnels
j'ai un peu cherché sur internet mais j'ai trouvé que des trucs en anglais et puis j'aimerais bien comprendre le code que j'utilise.
quelqu'un peut m'aider ?
merci

7 réponses

Viking57 Messages postés 68 Date d'inscription   Statut Membre Dernière intervention   5
 
Bonjour, ça sent le développement de sphère avec des Octree ^^

recherche un peu du coté des Octree (arbre avec 8 fils) j'ai déjà fait ça comme développement
1
RedSkidy Messages postés 196 Date d'inscription   Statut Membre Dernière intervention   6
 
ok merci je vais voir sa
1
RedSkidy Messages postés 196 Date d'inscription   Statut Membre Dernière intervention   6
 
j'ai regardé mais je pense pas que se soit ce qu'il me faut je voudrais un algorithme qui fait des spheres avec des cubes de meme taille et place leurs coordonnées dans un tableau le probleme ce n'est pas les cubes mais plutot comment les organiser pour qu'ils forment une sphere
1
Viking57 Messages postés 68 Date d'inscription   Statut Membre Dernière intervention   5
 
justement ^^ c'est la le problème comment agencer ??

Avec les octrees tu définit un cube de travail ou tu va modéliser chaque petit cube de 1*1*1 si il sont plein ou non le cube de travail se modélise en 8 parties : tu coupe le cube en 2 puis en 2 et ainsi de suite. J'ai eu un projet ou je devais utiliser cela afin de modéliser une sphère, cylindre et parallélépipède rectangle
1
sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   49
 
Bonsoir,
tu le dis toi-même tu as utilisé l'algorithme d'octrees pour un travail et je pense que ce travail était de modéliser une sphère ou une autres forme, en faisant une subdivision de façon récursive dans un espace 3D serte tu peux passer par cet algorithme pour faire ce qui est sur son image, ou modéliser un tesseract, bref ce qu'il demande je pense c'est juste une sphère
à bientôt
0
Viking57 Messages postés 68 Date d'inscription   Statut Membre Dernière intervention   5
 
ben pour modéliser une sphère en vue isométrique en cube de 1*1*1 les octrees sont la meilleure structure et aussi la moins couteuse en mémoire. Car aussi il faut résonner en 3D sur un espace de travail. En passant par du tri-dimensionnelle c'est tout a fait possible mais la pour programmer cela, ça risque de prendre du temps afin de trouver comment commencer cela.
à bientot
0
sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   49
 
Bonjour
@viking57 pour modéliser une sphère en vue isométrique en cube, oui mais il n'a pas les connaissances nécessaires pour comprendre ce genre d'algorithmes ou l'implementé, le mieux est de commencer par de simples algorithmes lui permettant de faire un cube une sphère, un rectangle toute bête avant de taper dans du lourd, ou pire courbe de bésier :) bref faisant simple
à bientôt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
RedSkidy Messages postés 196 Date d'inscription   Statut Membre Dernière intervention   6
 
je pensait plutot que se serait une fonction du type avec des sinus cosinus tangeantes pi des angles...
il faudrais deja savoir faire un cercle et apres avec plusieurs a cotés sa fait une sphere
enfaite je voudrais tester si un objet est situé dans un certain rayon au tour d'un autre

edit : j'ai fait une classe distance qui additione la différence entre les coordonnées x y z sa peut marcher ou sa va faire un truc tout moche comme sa http://hydra-media.cursecdn.com/minecraft.gamepedia.com/thumb/e/e2/2011-10-14_01.01.39.png/120px-2011-10-14_01.01.39.png?version=1f627e08f2ba2cc2297e5770fa3dbf5e ?
1
RedSkidy
 
enfaite je veut pas vraiment créer une sphere mais tester si un cube fait partie de cette sphere mais je pense que pour ca il faut faire une sphere
1
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
'lut, pour ce genre de test, le bon vieux théorème de Pythagore s'avère très pratique. Et oui, ça marche en 3D aussi ;)
int dx = point.x-sphere.x, dy = point.y-sphere.y, dz = point.z-sphere.z;
if (dx*dx+dy*dy+dz*dz <= sphere.rayon*sphere.rayon) {
    // Dedans
} else {
    // Dehors
}
0
RedSkidy Messages postés 196 Date d'inscription   Statut Membre Dernière intervention   6
 
ok merci j'avais pensé a utiliser pythagore mais je savais pas comment
0