www.pudn.com > roll.rar > INTERSEC.H


 
int Circle_Circle_OutTangentLine(double x1,double y1,double r1, 
								 double x2,double y2,double r2, 
								 double *alfa); 
 
int Circle_Circle_InnerTangentLine(double x1,double y1,double r1, 
								   double x2,double y2,double r2, 
								   double *alfa); 
 
int Circle_Circle_InterSection(double x1,double y1,double r1, 
							   double x2,double y2,double r2, 
							   double *alfa,double *beta=NULL); 
 
#define   PARALLEL    1.0E15 
#define   PRECISION   1.0E-10 
 
void AdjustAngle(double& s,double& e); 
 
int Line_Line_Int_S(double x1,double y1,double xx1,double yy1,double x2,double y2,double xx2,double yy2,double& x,double& y); 
int Arc_Arc_Int_S(double x1,double y1,double s1,double e1,double r1,double x2,double y2,double s2,double e2,double r2,double& x,double& y); 
int Line_Arc_Int_S(double x0,double y0,double xx1,double yy1,double x1,double y1,double s,double e,double r,double& x,double& y); 
 
int Circle_Circle_Int(double x1,double y1,double r1,double x2,double y2,double r2,double x[2],double y[2]); 
int Line_Circle_Int(double x0,double y0,double Dx,double Dy,double x1,double y1,double r,double t[2]); 
int Line_Line_Int(double x1,double y1,double xx1,double yy1,double x2,double y2,double xx2,double yy2,double& t1,double& t2); 
 
#define Arc_Line_Int_S(x0,y0,s,e,r,x1,y1,x2,y2,x,y) \ 
   Line_Arc_Int_S(x1,y1,x2,y2,x0,y0,s,e,r,x,y) 
#define Circle_Line_Int(x1,y1,r,x0,y0,dx,dy,t) \ 
   Line_Circle_Int(x0,y0,dx,dy,x1,y1,r,t)