Bonjour,
J'essaie d'approximer un nuage de points 3D (xi,yi,zi) par un plan et par une droite. Le but et de trouver le plan et la droite qui approxime le mieux cet ensemble de points en minimisant la somme des distances orthogonal entre les points et ce plan dans le cas du plan et entre ces points et la droite dans le cas de la droite.
En cherchant un peu, j'ai trouvé une solution qui consiste à utiliser la décomposition SVD de la façon suivante:
Soit M =
[x0, y0, z0
x1, y1, z1
............
xn, yn, zn]
d'après ce forum: http://mathforum.org/library/drmath/view/69103.html
Le vecteur singuliers de M correspondant à sa plus petite valeurs singulière donne le vecteur normale du plan recherché et le vecteur singuliers de M correspondant à sa plus grande valeurs singulière donne le vecteur directeur de la droite recherché. Et puisque le centroide du nuage des points appartient à la droite et au plan recherché, je peux trouver l'équation de mon plan et ma droite.
En supposant que tout ca est vrai (je ne suis pas sure si c'est le cas), j'aimerai trouver les limites (bounds) de mon plan et ma droite correspondant au nuages de points pour pouvoir tracer un plan et une droite finis dans mon espace 3D.
J'ai pensé à calculer l'intersection du plan et de la droite avec le bounding box du nuages de points, mais je ne suis pas sure si c'est une bonne idée et j'ai de la difficulté à le faire. Je cherche un plan rectangulaire qui va couvrir tout les points sans trop dépasser.
Comment trouvez ces limites ? Est ce que je suis dans la bonne direction ? sinon est ce que vous connaissez une meilleure solution ?
Merci !
Partager