ACM常用算法(16)

发布时间:2021-06-06

ACM常考算法

double dtheta,theta1,theta2; theta1 = atan2(y1,x1); theta2 = atan2(y2,x2); dtheta = theta2 - theta1; while (dtheta > PI) dtheta -= PI*2; while (dtheta < -PI) dtheta += PI*2; return(dtheta); }

4.两点距离(2D、3D)

语法:result=distance_2d(float x1,float x2,float y1,float y2); 参数:

x/y/z1

各点的x、y、z坐标 ~2:

返回

两点之间的距离 值: 注意: 源程序:

需要 math.h

float distance_2d(float x1,float x2,float y1,float y2) {

return(sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))); }

float distance_3d(float x1,float x2,float y1,float y2,float z1,float z2) {

return(sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2))); }

5.射向法判断点是否在多边形内部

语法:result=insidepolygon(Point *polygon,int N,Point p); 参数:

*polyg

多边形顶点数组 on:

N: 多边形顶点个数 p: 被判断点

返回

0:点在多边形内部;1:点在多边形外部 值: 注意:

若p点在多边形顶点或者边上,返回值不确定,需另行判断

ACM常用算法(16).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219