Bonjour,
j'ai 3 point A(xa,ya,za), B(xb,yb,zb) et C(xc, yc,zc), les deux points A et B forment un segment
Comment je peux calculer la distance (la plus courte) entre C et le segment AB?
Merci d'avance
Bonjour,
j'ai 3 point A(xa,ya,za), B(xb,yb,zb) et C(xc, yc,zc), les deux points A et B forment un segment
Comment je peux calculer la distance (la plus courte) entre C et le segment AB?
Merci d'avance
est-ce que ton segment est une droite, ou est ce que c'est vraiment un segment? i.e. est-ce que c'est la distance la plus proche au point A ou B ou un point entre A et B, ou bien la distance entre le point C et n'importe quel point sur une droite qui passe par A, B, C?
la distance entre le point C et n'importe quel point sur le segment AB
Merci
http://paulbourke.net/geometry/pointline/ a �t� le premier r�sultat sur google.
C'est nouveau, c'est chaud, alors vous m'en prendrez bien une louche : Boost.Geometry:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include <boost\geometry.hpp> #include <iostream> int main() { typedef boost::geometry::model::point<int,3,boost::geometry::cs::cartesian> point_type; typedef boost::geometry::model::segment<point_type> segment_type; point_type pt(1,2,3); segment_type s( point_type(3,4,5) ,point_type(6,7,8) ); std::cout<<boost::geometry::distance(pt,s)<<"\n"; return 0; }
Ressources propos�es par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
Bonsoir,
Honn�tement 3DArchi, c'est peut �tre tout frais, mais �a m'a l'air mal barr� ce boost::geometry... En l'absence de mod�le de pr�cision, avec les diff�rents types de syst�mes de coordonn�es, j'ai h�te de les voir calculer un buffer qui ne soient pas une BBOX expans�e...
Pour les calculs g�om�triques robuste avec une mod�lisation raisonnable, mieux vaut voir du cot� de GEOS.
Partager