Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2705 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  géométrie/c++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

géométrie/c++

n°1648574
ROULI1
Posté le 25-11-2007 à 14:55:53  profilanswer
 

bonjour,  
 
bon alors voilà j'ai une petite partie de programme à faire en c++ et il se trouve que je suis un peu attardé quand il s'agit de programmation.
 
En fait ce que je cherche à faire c'est de trouver le centre d'une sphere à partir de l'aquisition de plusieur points équidistant au centre de cette sphère.
 
Je travaille en fait avec un programme 3D qui acquérit la position de capteur infrarouge. Donc physiquement ce qu'il se passe, c'est que j'ai une tige qui possède à une extrémité un capteur infrarouge et rien à l'autre extrémité, je fais tourner cette tige un peu n'importe comment en gardant l'extrémité nue de la tige fixe. J'obtiens ainsi l'aquisition de plusieurs points qui déterminent le surface de ma sphère dont je dois trouver le centre.
 
Mon programme s'occupe déjà de l'acquisition sans souci, ce que je cherche mnt c'est comment trouver ce fameux centre, enfin j'ai bien une petite idée d'un point de vue analytique mais s'il y a des algorithmes c++ tout fait qlqpart ça m'arrangerait lol

mood
Publicité
Posté le 25-11-2007 à 14:55:53  profilanswer
 

n°1648652
el muchach​o
Comfortably Numb
Posté le 25-11-2007 à 21:27:45  profilanswer
 

Ben si tu vois comment résoudre analytiquement, tu as la moitié du travail de fait, non ?
Moi, là, de tête je vois pas trop.
Intuitivement, je dirais qu'il faut au moins 4 points sur la surface pour déterminer la sphère de façon unique, et donc il faut résoudre le système:
 
(xi-xc)^2 + (yi-yc)^2 + (zi-zc)^2 = R^2
pour i = 1...4


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1648800
ROULI1
Posté le 26-11-2007 à 12:11:18  profilanswer
 

Oui c'est ce à quoi j'avais pensé aussi.
 
Merci ;)
 
Si qqun à autre chose à proposer je suis tjs preneur :-p

n°1648824
MagicBuzz
Posté le 26-11-2007 à 12:40:14  profilanswer
 

Il faut s'assurer avant de faire le calcul que les 4 points ne sont pas sur le même plan, sinon tu as une infinité de solutions si je ne m'abuse (en tout cas, au moins deux, puisque le centre peut être par symétrie de chaque côté du plan)
 
Et pour obtenir un centre précis, parmis toutes tes mesures, cherches les 4 points les plus éloignés les uns des autres possibles.


Message édité par MagicBuzz le 26-11-2007 à 12:40:53
n°1648887
el muchach​o
Comfortably Numb
Posté le 26-11-2007 à 14:22:41  profilanswer
 

Pour la solution analytique, je pense qu'il faut remarquer que un couple de points de la sphère plus le centre forment un triangle isocèle.

Message cité 1 fois
Message édité par el muchacho le 26-11-2007 à 14:23:39

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1648894
breizhbugs
Posté le 26-11-2007 à 14:31:00  profilanswer
 

el muchacho a écrit :

Pour la solution analytique, je pense qu'il faut remarquer que un couple de points de la sphère plus le centre forment un triangle isocèle.


Donc le centre est a l'intersection des medianes entre AB et BC (ou AC), A, B, C se trouvant sur le cercle?
EDIT: ah ben non, c'est sur une sphere il faut donc un autre point!


Message édité par breizhbugs le 26-11-2007 à 14:32:35
n°1648908
MagicBuzz
Posté le 26-11-2007 à 15:01:34  profilanswer
 

Logiquement, lorsque tu as 4 points.
 
Tu prends tes points deux à deux.
Tu cherche le plan médian à chacun de tes deux segments.
Du trouves alors une droite sur laquelle les deux plants se rencontrent (si c'est pas le cas, faut trouver d'autres points, t'es dans un cas à la con, genre les  :D)
 
Le centre du cercle sera la point O de cette droite où AO = BO = CO = DO normalement :)
 
En toute logique, si tu cherches aussi les plans médians des deux autres segments formés par tes 4 points, le centre sera le point d'intersection de tes 4 plans.


Message édité par MagicBuzz le 26-11-2007 à 15:02:55

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  géométrie/c++

 

Sujets relatifs
Géométrie variable : se positionner sur une cellule[MFC] Fenetre à geometrie variable
[sivouplé] [opengl] aidez moi à régler mon p'tit problème de géométrieGeometrie 3D?
[Geometrie] Qui pourra me dire... 
Plus de sujets relatifs à : géométrie/c++


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)