📄 xmathlib.h
字号:
/* mmathlib.h
mmathlib functions and variables
*/
/*
*
*
* Copyright (C) 1996 by HUST CAD Center
* All Rights Reserved.
*
*/
#ifndef _MMATHLIB_H
#define _MMATHLIB_H
// C run-time library header files
#include <math.h>
#ifndef BIG
#define BIG 1.0e15
#endif
#ifndef LITTLE
#define LITTLE 1.0e-15
#endif
#define DIST_TOL 0.00001
#define dtor(angle) angle*PI/180.0
#define rtod(angle) angle*180.0/PI
#define sind(angle) sin(dtor(angle))
#define cosd(angle) cos(dtor(angle))
#define tand(angle) tan(dtor(angle))
#define atand(value) rtod(atan(value))
#define asind(value) rtod(asin(value))
#define acosd(value) rtod(acos(value))
#ifndef min
#define min(a,b) ((a)<(b))?(a):(b)
#endif
#define fmin(a,b) ((a)<(b))?(a):(b)
#define sqr(value) (value)*(value)
double __stdcall dpp(double x1, double y1, double x2, double y2);
void __stdcall lpp(double x1,double y1,double x2,double y2, double *a,double *b,double *c);
void __stdcall ppln(double x, double y, double a, double b, double c, double *xp,double *yp);
double __stdcall dpl(double a, double b, double c, double x, double y);
short __stdcall pll(double a1,double b1,double c1,double a2,double b2,double c2, double *x,double *y);
short __stdcall plc(double a,double b,double c,double xc,double yc,double r, double x_int[],double y_int[]);
short __stdcall pcc(double xc1,double yc1,double r1,double xc2,double yc2,double r2, double x_int[],double y_int[]);
short __stdcall point_in_line(double x, double y, double xs, double ys, double xe, double ye);
short __stdcall point_in_arc(double x, double y, double xc, double yc, double xs, double ys, double xe, double ye);
short __stdcall same_coor(double value1, double value2);
short __stdcall same(double value1, double value2);
short __stdcall same_point(double x1, double y1, double x2, double y2);
short __stdcall same_angle(double value1, double value2);
void __stdcall rotate(double x1, double y1, double x2, double y2, double angle, double x[]);
short __stdcall tangent_line_circle(double x1, double y1, double x2, double y2, double r2, double x_tan[], double y_tan[]);
void __stdcall get_ver_point(double x, double y, double x1, double y1, double x2, double y2, double *xv, double *yv);
short __stdcall in_angle(double angle, double angle_1, double angle_2);
short __stdcall in_angle_with_eps(double angle, double angle_1, double angle_2,double eps);
void __stdcall lcpt(double xc, double yc, double r, double xt, double yt, double *a, double *b, double *c);
short __stdcall lcct(double xc1, double yc1, double r1, double xc2, double yc2, double r2, double *xt1, double *yt1, double *xt2, double *yt2);
double __stdcall standard_angle(double angle);
double __stdcall points_to_angle(double x1, double y1, double x2, double y2);
short __stdcall ppppp(double x1, double y1, double x2, double y2, double x3, double y3,
double x4, double y4, double *x0, double *y0);
double __stdcall alx(double a,double b);
short __stdcall tlpp(double x1, double y1, double x2, double y2, double a, double b);
int __stdcall ppp(double x1, double y1, double x2, double y2, double d, double *x, double *y);
void __stdcall plp(double a, double b, double c, double xp, double yp, double *x, double *y);
void __stdcall plpd(double a, double b, double xp, double yp, double d, double *x, double *y);
void __stdcall plpd1(double a, double b, double xp, double yp, double d, double *x, double *y);
void __stdcall lld(double c, double d, double *c1);
void __stdcall lpla(double a1, double b1, double xp, double yp, double alpha,double *a, double *b, double *c);
void __stdcall lpln(double a1, double b1, double xp, double yp, double *a, double *b,double *c);
double __stdcall appx(double x1, double y1, double x2, double y2);
void __stdcall lppn(double x1, double y1, double x2, double y2, double *a, double *b, double *c);
void __stdcall lplp(double xp, double yp, double a, double b, double *c);
double __stdcall all(double a1, double b1, double a2, double b2);
void __stdcall pcpa(double xc, double yc, double xp, double yp, double alpha, double *x, double *y);
short __stdcall side_of(double a, double b, double c, double x, double y);
short __stdcall colinear(double a1, double b1, double c1, double a2, double b2, double c2);
short __stdcall parallel(double a1, double b1, double a2, double b2);
short __stdcall perpend(double a1, double b1, double a2, double b2);
short __stdcall Sign(double x);
short __stdcall clll(double a1, double b1, double c1, short q1, double a2, double b2, double c2, short q2,
double a3, double b3, double c3, short q3, double *xc, double *yc, double *r);
short __stdcall ccll(double x1, double y1, double r1, short q1, double a2, double b2, double c2, short q2,
double a3, double b3, double c3, short q3, double rr[], double xxc[], double yyc[]);
short __stdcall cccl(double x1, double y1, double r1, short q1, double x2, double y2, double r2, short q2,
double a3, double b3, double c3, short q3, double rr[], double xxc[], double yyc[]);
short __stdcall cccc(double x1, double y1, double r1, short q1, double x2, double y2, double r2, short q2,
double x3, double y3, double r3, short q3, double rr[], double xxc[], double yyc[]);
void __stdcall dswap(double *p1,double *p2);
short __stdcall point_on_circle(double x, double y, double cenx, double ceny, double radius);
int __stdcall PointInBox(double x, double y, double x1, double y1, double x2, double y2);
void __stdcall StandardAngle(double *angle);
// added by Bossin 1996--6--29
void __stdcall Polar(double *pt1, double angle, double dist, double *pt2);
double __stdcall AngleLX(double *p1, double *p2);
double __stdcall get_lineangle(double x1,double y1,double x2,double y2);
short __stdcall GetIntersectPt(double x1, double y1, double x2, double y2, double x3, double y3,
double x4, double y4, double *x0, double *y0);
//add by zhanghuaan 2007-6
void __stdcall ldl(double a1,double b1,double c1,double *a, double *b, double *c,double d);
void __stdcall ldl1(double a1,double b1,double c1,double *a, double *b, double *c,double d);
void __stdcall ppdl(double x1, double y1,double x2,double y2,double d,double *a,double *b,double *c);
void __stdcall ppdl1(double x1, double y1,double x2,double y2,double d,double *a,double *b,double *c);
#endif // _XMATHLIB_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -