MrPatachou
Messages postés2Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention14 avril 2003
-
9 avril 2003 à 15:05
MrPatachou
Messages postés2Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention14 avril 2003
-
14 avril 2003 à 17:46
Bonjour
Je dois realiser un programme qui analyse des formes du dos ; mais je reste bloque a une etape a cause de mes lacunes en maths, je m explique :
Je dois dessiner a un moment des spheres qui englobent n points donnees ( des pR3 donc ).
J ai besoin de son centre (3 coordonnees) et de son rayon, en fonction des n points que j aurai recupere d une maniere ou d une autre.
Et evidemment je n ai AUCUNE idee de comment faire ( je sors de DUT info, les maths ne sont pas vraiment approfondies).
Si l un d entre vous peut me mettre sur la voie, je lui en serait tres reconnaissant !
crocejf2000
Messages postés260Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention27 août 20081 9 avril 2003 à 16:22
Moi aussi je sors de IUT info, et c'est vrai que les math c'est pas ca !
Sinon, pour ta sphere, il faut (je propose) que tu fasse la moyenne des coordonéés des points, ca te donne le centre de la sphere
ex :
p1(3,5,2)
p2(10,2,0)
p3(3,9,2)
-->
psphere(5.33,5.33,1.33) -->origine
pour le rayon, c'est la difference entre ton point le plus loin par rapport au centre de la sphere et le centre de la sphere.
cs_payen
Messages postés252Date d'inscriptionmercredi 25 octobre 2000StatutMembreDernière intervention 1 mai 2005 9 avril 2003 à 16:26
je dirais que tu pourrais :
1. calculer le barycentre du nuage de points dans chacune des dimensions (tu calcules en fait la moyenne de tous les points sur chacun des axes)
2. une fois ce point determine, tu calcules la distance entre ce point (le barycentre) et tous les autres points (tu fais en fait des differences de coordonnees sur chacun des axes, puis tu calcules la norme sur les 3 coordonnees)
3. tu as maintenant la plus grande distance entre le barycentre du nuage de points et l'ensemble des points: c'est le rayon de ta sphere ...
cette solution fonctionne certainement, mais je ne sais pas si c'est la solution optimale (c'est a dire la sphere de plus petit rayon) ...
il te reste plus qu'a la tracer!
si t'as des soucis en maths sur ce que j'ai presente, n'hesite pas a envoyer un mail ...
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 20071 12 avril 2003 à 16:23
Tu calcules un cube qui emglobe les points en calculant le
min(xi), max(xi), min(yi), max(yi), min(zi), max(zi)
{xi, yi, zi} sont chaque point:
les 8 points du cubes sont donc:
{min(xi), min(yi), min(zi)}
{max(xi), min(yi), min(zi)}
{min(xi), max(yi), min(zi)}
{max(xi), max(yi), min(zi)}
{min(xi), min(yi), max(zi)}
{max(xi), min(yi), max(zi)}
{min(xi), max(yi), max(zi)}
{max(xi), max(yi), max(zi)}
Les diagonales du cubes sont donc le diamètre de ta sphère
centre: {(min(xi)+max(xi))/2, (min(yi)+max(yi))/2, (min(zi)+max(zi))/2}
et le rayon est la moitié de la longueur d'une diagonale:
sqrt((max(xi)-min(xi))²+(max(yi)-min(yi))²+(max(zi)-min(zi))²)/2
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 20071 12 avril 2003 à 18:02
Tu calcules un cube qui emglobe les points en calculant le
min(xi), max(xi), min(yi), max(yi), min(zi), max(zi)
{xi, yi, zi} sont chaque point:
les 8 points du cubes sont donc:
{min(xi), min(yi), min(zi)}
{max(xi), min(yi), min(zi)}
{min(xi), max(yi), min(zi)}
{max(xi), max(yi), min(zi)}
{min(xi), min(yi), max(zi)}
{max(xi), min(yi), max(zi)}
{min(xi), max(yi), max(zi)}
{max(xi), max(yi), max(zi)}
Les diagonales du cubes sont donc le diamètre de ta sphère
centre: {(min(xi)+max(xi))/2, (min(yi)+max(yi))/2, (min(zi)+max(zi))/2}
et le rayon est la moitié de la longueur d'une diagonale:
sqrt((max(xi)-min(xi))²+(max(yi)-min(yi))²+(max(zi)-min(zi))²)/2