30 #ifndef _GEOM_FUNCTION_
31 #define _GEOM_FUNCTION_
47 inline double cross_product(
double x1,
double y1,
double x2,
double y2,
double x3,
double y3 )
49 return ( x2 - x1 ) *( y3 - y1 ) - ( x3 - x1 ) *( y2 - y1 );
52 inline double dist_euc2d(
double x1,
double y1,
double x2,
double y2 )
54 return sqrt(( x2 - x1 ) *( x2 - x1 ) + ( y2 - y1 ) *( y2 - y1 ) );
57 inline double dist_euc2d_sq(
double x1,
double y1,
double x2,
double y2 )
59 return ( x2 - x1 ) *( x2 - x1 ) + ( y2 - y1 ) *( y2 - y1 );
63 double x1,
double y1,
double x2,
double y2,
64 double& xRes,
double& yRes );
67 int convexHullId(
int *
id,
const double*
const x,
const double*
const y,
int n,
int *&cHull );
70 double x3,
double y3,
double x4,
double y4 );
77 double x3,
double y3,
double x4,
double y4,
78 double *x,
double *y );
int reorderPolygon(int nbPoints, double *x, double *y)
bool computeLineIntersection(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, double *x, double *y)
double dist_euc2d_sq(double x1, double y1, double x2, double y2)
double dist_euc2d(double x1, double y1, double x2, double y2)
double cross_product(double x1, double y1, double x2, double y2, double x3, double y3)
int convexHullId(int *id, const double *const x, const double *const y, int n, int *&cHull)
bool isSegIntersects(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
void findLineCircleIntersection(double cx, double cy, double radius, double x1, double y1, double x2, double y2, double &xRes, double &yRes)