Determination des 5 paramètres d´une Elipse grâce a n points

Olympiades mathématiques, énigmes et défis
siewemonthea
Messages: 4
Enregistré le: 22 Juin 2019, 15:38

determination des 5 paramètres d´une Elipse grâce a n points

par siewemonthea » 22 Juin 2019, 15:56

Bonjour je suis Arnauld,je developer actuellement une application et j´ai besoin de determiner les paramètres d´une elipse donc:

Xc,yc : le centre

A,B : semiaxes majeur et mineur

Alpha : angle de l’axe majeur par rapport au repere geometrique.
Svp quelqu´un pourra m´aide pour cela.
Arnauld



azertytreza
Membre Relatif
Messages: 163
Enregistré le: 26 Mai 2019, 16:51

Re: determination des 5 paramètres d´une Elipse grâce a n po

par azertytreza » 22 Juin 2019, 16:53

bonjour

il faut prendre le temps de formuler une question

prendre le temps de formuler une question c'est perdre du temps pour l'écrire (et c'est très fatiguant) mais c'est plus intelligent car les réponses viennent plus vite

si tu connais cinq points de ton ellipse (distincts deux à deux ) tu peux écrire l'équation cartésienne de ton ellipse (déterminer ses foyers son excentricité etc...)

mais je ne suis pas certain d'avoir compris ce que tu demande

siewemonthea
Messages: 4
Enregistré le: 22 Juin 2019, 15:38

Re: determination des 5 paramètres d´une Elipse grâce a n po

par siewemonthea » 24 Juin 2019, 10:52

Bonjour merci d´abord pour votre reponse rapide.
En effet j´ai 13 points de coordonnée(X,Y) et à partir de ces 13 points je dois determiner le centre de l elipse(Xc,Yc),le grand Axe A et le petit Axe B,L´angle d´inclinaison Alpha.
En gros j´ai mes 13 points et dans mon application il y a des moments ou avec les 13 points j´ai plutôt un cercle grâce a la methode des moindres carées j´ai pu determiner le centre et le rayon du cercle ,Mais il y a des moments ou les 13 points formes plutôt une ellipse .Ces pourquoi j ai besoin de determiner les 5 paramètres de l´ellipse sachant que j´ai juste les 13 points comme information et les 13 points ne sont pas forcement exactement sur l ellipse.

azertytreza
Membre Relatif
Messages: 163
Enregistré le: 26 Mai 2019, 16:51

Re: determination des 5 paramètres d´une Elipse grâce a n po

par azertytreza » 24 Juin 2019, 13:36

bonjour

Je ne me suis pas engagé à t'aider mais ceci dit sur l'autre sujet rien ne t'empêche de calculer tout ce qui est écrit sur le fil de DJODJO2000 (tu est allé là-bas pour qu'on résolve ton problème alors que tu avais ouvert ce sujet ici) et de vérifier si tes points appartiennent bien à une conique propre d'excentricité non nulle ou pas puis de voir qu'elle est la valeur de

puisque tout est écrit là-bas je ne comprend pas ton comportement (la moindre des choses aurait été que tu calcule toute les valeurs écrites là-bas avec tes données )

siewemonthea
Messages: 4
Enregistré le: 22 Juin 2019, 15:38

Re: determination des 5 paramètres d´une Elipse grâce a n po

par siewemonthea » 24 Juin 2019, 13:43

ok

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: determination des 5 paramètres d´une Elipse grâce a n po

par GaBuZoMeu » 24 Juin 2019, 16:01

Bonjour,

Pourquoi 13, et pas 14 ou 12 ?
Enfin peu importe. Tu peux déterminer une équation de conique avec les points dont tu disposes par la méthode des moindres carrés. Tu écris l'équation de ta conique comme

et tu ajustes les coefficients indéterminés pour minimiser la somme des carrés des si les sont les points dont tu disposes.
Une fois que tu as une équation, tu détermines facilement les éléments de la conique. Mais as-tu vraiment besoin de ces éléments, ou l'équation ne te suffit-elle pas ?

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 13:00

Re: determination des 5 paramètres d´une Elipse grâce a n po

par fatal_error » 24 Juin 2019, 16:30

bj,

Code: Tout sélectionner
tu détermines facilement les éléments de la conique

c'est pour moi le plus difficile...je développe, pe y a til plus simple?

à partir de le rep matricielle
X'AX -2B'X + c=0 (A dim 2 def positive et sym)
donc avec A et B à trouver

si tout se passait bien on aurait
X'DX = 1 (avec D(1,1)=1/a^2, D(2,2)=1/b^2)

donc j'impose c = 1, et A et B sont scalés de ce facteur c

translation:
soit Y + U= X

developpant
(1) Y'AY
(2) 2Y'AU - 2B'Y
(3) U'AU -2B'U + c

posant U = inv(A)B, (2) fait 0 et donc

avec

U est le vecteur translation (centre de lellipse)

en appliquant l'homothétie? de rapport -c2, on a
d'où


Puis on diagonalise pour trouver les axes:


et pour l'angle, en constatant que P (orthonormée..) est une matrice de rotation:

theta = atan2(D(1,2), D(1,1))

la méthode semble ok m'enfin..
Code: Tout sélectionner
1;
clear all;
% generate an ellipse, with some rotation
% ---------------------------------------

a = 5;
b = 3;
xc = 22;%translation center
yc = 8;
theta = pi/3;%towards a axis
function [ xs,ys ] = genEllipse(a,b,xc,yc, theta)
    ef = sqrt(1-b^2/a^2)
    c = a*ef
    npoints = 200
    angles = (1:npoints)/npoints*2*pi;
    r = a*(1-ef^2)./(1+ef*cos(angles));
    xRef = c+r.*cos(angles);
    yRef = r.*sin(angles);
    xRefRot = cos(theta)*xRef - sin(theta)*yRef;
    yRefRot = sin(theta)*xRef + cos(theta)*yRef;
    xs = xc + xRefRot;
    ys = yc + yRefRot;
    %plot(xRef, yRef,'o', xs, ys, 'x')
endfunction
[ xs, ys ] = genEllipse(a,b,xc,yc,theta);


%% add some noise onto some points
% ---------------------------------------
nRegPoints = 25
indices = (1:nRegPoints)*floor(length(xs)/nRegPoints);
percentError=0.1%
points = [xs(indices); ys(indices)];
noiseScal=1+(rand(1, nRegPoints)*2-1)*percentError;
noisePoints=[
    (points(1,:)-xc).*noiseScal+xc;
    (points(2,:)-yc).*noiseScal+yc
]';
%plot(points(1,:), points(2,:),'o',noisePoints(:,1), noisePoints(:,2) '.','x')


% regress the parameters from those
% ---------------------------------------
x0 = [0,0,0,0,0,1];
function obj=phi(x, points)
    A = [
        x(1),x(2);
        x(2),x(3)
    ];
    B = [x(4),x(5)];
    c = x(6);
    r=[];
    for i = 1:length(points)
        p = points(i,:);
        r(i) = p*A*p' - 2*B*p' -1;%assumes, c!=0
    end
    obj = sumsq(r);
endfunction

[x, obj, info, iter, nf, lambda] = sqp(x0, @(x) phi(x, noisePoints))

% get back the original ellipse
% ---------------------------------------
A = [
    x(1),x(2);
    x(2),x(3)
];
B = [x(4),x(5)]';
c = x(6);
U = inv(A)*B;

c2 =  -1-B'*U;
A = A/(-c2);
[P,D] = eig(A) % ordered decreasing value. must be def positive
aBack = 1/sqrt(D(1,1))
bBack = 1/sqrt(D(2,2))
thetaBack = atan2(P(1,2),P(1,1))
xcBack = U(1)
ycBack = U(2)

% compare
% ---------------------------------------
[xs2, ys2] = genEllipse(aBack, bBack, xcBack, ycBack, thetaBack);
plot(xs, ys, 'x', xs2, ys2, 'o', noisePoints(:,1), noisePoints(:,2), '.')

ex:
Image
bleu, référence,
rouge: les points à interpoler
vert: ellipse interpolante
la vie est une fête :)

azertytreza
Membre Relatif
Messages: 163
Enregistré le: 26 Mai 2019, 16:51

Re: determination des 5 paramètres d´une Elipse grâce a n po

par azertytreza » 24 Juin 2019, 16:47

avec cette inflation de points (lui il a une quinzaine de points )

il est fort probable qu'il en a dix de trop lui empêchant d'avoir une conique propre et six de trop lui empêchant d'avoir une courbe elliptique

il n'a rien dit sur le comment il se donne ses quinze points

 

Retourner vers ⚔ Défis et énigmes

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite