begin process at 2010 03 19 02:34:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

resoudre des équation de cercle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

resoudre des équation de cercle

dimanche 14 janvier 2007 à 19:05:43 | resoudre des équation de cercle

inconnu2nulpar

slt ts le monde, alors j'ai besoin de petite aide,alors je vais essayer d'étre clair, donc je programme en C++, j'ai dans un tableau un nuage de point ( avec les coordonné x,y), et je vouddrais définir si ces point appartienne à un cercle ( dont je connais le rayon), si oui définir le centre.

Enfait j'ai un télémétre laser, qui scanne une scéne, et je voudrai reconnaitre certain objet dont un cercle, et je voudrai connaitre ça position dans l'espace ( d'ou le calcul du centre ), est ce que qu'elqu'un peut m'aider?
dimanche 14 janvier 2007 à 20:09:57 | Re : resoudre des équation de cercle

juju12

De manière formelle il suffit de trois points distincts pour définir un cercle de façon unique :
si (x1,y1), (x2,y2), (x3,y3) sont les coordonnées de ces  points alors les coordonnées du centre du cercle (x,y) vérifient l'équation:
(x-x1)^2+(y-y1)^2=(x-x2)^2+(y-y2)^2=(x-x3)^2+(y-y3)^2=R^2
et il n'y a qu'à résoudre cette équation pour déterminer x,y.
Puis il faut vérifier que les autres points sont à même distance du centre:(x-x4)^2+(y-y4)^2=R^2...
Cependant, vu les additions d'erreurs dues aux arrondis et au calcul flottant, il te faudra adapter l'algorithme pour en tenir compte (définitions d'écarts admissibles etc...) sous peine de mauvais fonctionnement.
dimanche 14 janvier 2007 à 20:51:37 | Re : resoudre des équation de cercle

inconnu2nulpar

merci pour ton aide, mais àa je le savais, le pb c comment résoudre c trois équatoin? je ne vois vraiment pas l'algo a faire...
dimanche 14 janvier 2007 à 22:10:59 | Re : resoudre des équation de cercle

laurent1024

Tu peux aussi calculer la distance du point X(x,y) par rapport au Centre du centre C(xc, yc)
sqrt((x-xc)(x-xc) + (y-yc)(y-yc)) < R => dans le cercle
                                                    = R => sur le cercle
                                                   > R => en dehors du cercle
++

dimanche 14 janvier 2007 à 22:35:56 | Re : resoudre des équation de cercle

juju12

Suffit de développer et tu retombes sur un système linéaire à 2 inconnues niveau 2nde....
Soit:
x1^2+y1^2-2(x1*x+y1*y)=x2^2+y2^2-2(x2*x+y2*y)=x3^2+y3^2-2(x3*x+y3*y)
Y a plus qu'à résoudre ce truc mais je mettrai pas la solution : d'abord c'est enfantin et en plus c'est long à taper.
Au passage on peut vérifier que le déterminant n'est pas nul sinon il faut changer les points (il y en a 2 qui coïncident).
laurent1024->c'est exactement ce que j'ai proposé sauf qu'il vaut mieux mettre au carré pour virer la racine, un calcul de moins.
lundi 15 janvier 2007 à 01:39:44 | Re : resoudre des équation de cercle

luhtor

Oui mais son pb de base, c'est qu'il a un nuage de point, pas 3 ! Donc c'est bcp plus compliqué, a mon avis, ca mène sur des statistiques. Et personnellement je vois du tout comment faire.

lundi 15 janvier 2007 à 09:54:52 | Re : resoudre des équation de cercle

juju12

luthor->il veut vérifier que tous les points appartiennent à un cercle : il suffit de définir un cercle avec trois points et de vérifier que les autres sont dessus.
lundi 15 janvier 2007 à 10:15:27 | Re : resoudre des équation de cercle

louis14

Si c'est un nuage de points, il faut passer par les statisitstiques et introduire l'erreur admise pour dire que le point  appartient ou non à un cecle. Il faut passer par les moindres carrés, ou bien utiliser un algorithme de résolution tel que le Marquardt ( le code est disponible sur numerical recipes in C++, il doit y avoir aussi les algo pour les statisitiques).
On utilise les moindres carrés par seulement pour les droites, mais pour n'importe quelle courbe dont on connait l'équation et dont il faut déterminer les paramètres.
C'est l'approche que j'adopterai, surtout qu'il s'agit de mesures qui ont une certaine incertitude

louis14
lundi 15 janvier 2007 à 11:48:51 | Re : resoudre des équation de cercle

luhtor

juj12 => non tu peux pas faire comme ca, car tes points sur prends lesquels ? Faut pas que ca devienne du bricolage, encore que ca dépend du contexte dans lequel il a besoin de faire ca. Si c'est un truc artisanal, ca ira en prenant des points empiriquement, mais c'est tout sauf rigoureux.
lundi 15 janvier 2007 à 20:50:31 | Re : resoudre des équation de cercle

inconnu2nulpar

merci a vous ts, tu sait juj au point au je suis un truc qui marche méme si c'est du bricolage je prend... mais ça marche comme els moindre carré? il y a un code sur le forum?

1 2

Cette discussion est classée dans : centre, définir, cercle, équation, resoudre


Répondre à ce message

Sujets en rapport avec ce message

le lieu d'un centre de gravité [ par annso777 ] <TD id=HB_Focus_Element vAlign=top width="100%" background="" Tracer un cercle [ par giudy ] Bonjour ,Je suis entrain d'écrire un programme qui trace un cercle (sans utiliser de fonctions trigonométriques ,  en  tracé continu et les points cal resolution equation convection-diffusion en elements finis...help [ par sam90 ] Bonjour mes amis,j'ai un problème pour en éléments finis.Je veux résoudre cette équation : (dc/dt)+(d(A(c)c)/dz)-(d(B(c).(dc/dz)/dz)=0 Par la méthode resoudre f(x)=0 [ par melaneb ] Bonjour, J'ai un réelle soucis. Je souhaiterais par méthode de newton, de dichotomie ou autre résoudre en C++ n'importe qu'elle fonction =0 cad trouve traçer des paraboles [ par hssan ] Salut,j'ai une équation de parabole y=a/b racine carré(2*k*x+k^2)avec a et b sont des constantes entrer par le clavier alors que k est un entier qui v Définir un point d'entrée [ par Havy ] Bonjour, sachant que tout programme console doit contenir la fonction main pour fonctionner, car c'est le point d'entrée, je voudrais savoir s'il est définir une Matrice en C [ par Ashretor ] Bonjour, je travaille sur DevC++, en C: Je cherche à créer une matrice contenant et affichant: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 J'ai d centre de surface avec opengl [ par sousoi ] bonjours, mon programme est pour réduit le temps de calcul de rendu il faut calcule le normal de chaque surface ( triangulaire et carré) puis j'utilis définir un graphe dynamique en c++ [ par manelisg ] salem, je suis débutante en c++ et je dois implémenter un algorithme pour max flow dans un graphe dynamique. donc j'ai besoin de définir ce graphe. J'


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,434 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales