当前位置: 首页 > news >正文

免费静态网站托管北京市住房城乡建设部网站首页

免费静态网站托管,北京市住房城乡建设部网站首页,大数据是干什么的,wordpress update sql文章目录直线#xff1a;图形#xff1a;求垂足求两圆交点直线与圆交点多边形问题判断一个点是否在任意多边形内部Pick定理凸包求点集的凸包水平法#xff1a;增量法#xff1a;半平面半平面交求半平面交直线#xff1a; struct Line{point p,v;Line(){}Line(point _p.po… 文章目录直线图形求垂足求两圆交点直线与圆交点多边形问题判断一个点是否在任意多边形内部Pick定理凸包求点集的凸包水平法增量法半平面半平面交求半平面交直线 struct Line{point p,v;Line(){}Line(point _p.point _v):p(_p),v(_v){} }L[N];图形 求垂足 point vp(Line l,point p)//求p点向l做垂线得到的垂足 {double Disdis(l,p);//求p到l的距离Dis DisDis*Dis;double pDis(p-l.p).length();//求AP距离pDis pDispDis*pDis;double vDissqrt(pDis-Dis);//勾股定理得到AH距离 point ansl.pl.v*(vDis/l.v.length());//通过方向单位向量乘长度得到路径加起点得到答案 return ans; }求两圆交点 先求余弦定理 cosp1反函数 角p1p1p2旋转到p11T方向调整长度p1p1T向量T 代码 point get_intersection(circle A,circle B) {point ABB.o-A.o;double costhetaAB.length() * AB.length() A.r *A.r-B.r*B.r;costhetacostheta/(2*AB.length()*A.r);//余弦定理ABAB.rotatr(acos(costheta));//旋转theta角return A.oAB*(A.r/AB.length()); } 直线与圆交点 代码 point get_intersection(circle A,Line B) {point Hvp(B,A.o);//求垂线 double OH(H-A.o).length();double HYsqrt(A.r * A.r -OH * OH);return H B.v *(HY/B.v.length());// return H B.v *(-HY/B.v.length()); }点单位向量 * 长度 多边形问题 平面上n个点收尾顺次连接组成的平面图形 可能是凸多边形或者凹多边形 判断一个点是否在任意多边形内部 从这个点出发引一条射线如果这个射线与多边形有奇数个交点则在内部否则在外部 double calc_S() {double ans0;int npoly.size();for(int i1;in;i)anspoly[i-1]^poly[i];anspoly[n-1]^poly[0];return ans/2; }Pick定理 对于顶点都是整点的多边形设其面积为S多边形内部的点数为a边上的点数为b那么满足 S a b/2 - 1 凸包 给出一个二维平面内的点集如果任意两个点的连线都在点集内则这个点集是个凸集 对于给定的散点集X包含X的所有凸集的交集S叫做X的凸包 点就是墙上的钉子用一个橡皮筋套在外面收缩后形成的凸多边形就是凸包 求点集的凸包 水平法 凸包一般使用水平法求解 将凸包分为上凸壳和下凸壳两部分分别求解 每一部分按照x的坐标排序用单调栈维护利用叉积的符号判断凹凸性 增量法 判断情况 此时B合法 此时B不合法 不合法的点一定是最后添加入S的且是连续的 //判断上凸包 sort(poly.begin(),poly.end(),cmp); int top0,npoly.size(); Stack[top]poly[0]; for(int i1;in;i) {point Cpoly[i];while(top1){point BStack[top];point AStack[top-1];point ABB-A;point ACC-A;if((AB^AC)eps)top--;else break;}Stack[top]C; }半平面 • 顾名思义就是平面的一半。一条直线会把平面分成两部分就 是两个半平面。对于半平面我们可以用直线方程式如 axbyc 0 表示更常用的是用直线表示 半平面交 • 顾名思义就是多个半平面求交集。其结果可能是一个凸多边形、 无穷平面、直线、线段、点等。 • 什么时候需要半平面交 • 1. 二维线性规划 高中数学 • 2. 求多边形的核 • 多边形的核如果多边形中存在一个区域使得在区域中可以看到 多边形中任意位置反之亦然则这个区域就是多边形的核 求半平面交 • 理论上有很多很多种求法但是在实际应用中效率最高而且最好 写的是 SI 增量法也就是一个一个插入半平面并且更新答案。 • 核心思想 • 1. 选取逆时针方向为正方向把所有的直线变成向量。 • 2. 所有的向量按照极角排序角度相同的保留左边的。 • 3. 按照顺序每次插入一个平面删掉右面的部分保留左边的部 分。 ###具体方法 1.选方向排序如上文 • 2.用双端队列保存构成当前核的所有向量。 • 3.按照顺序遍历所有向量每次加入判断影响 • 假设队列中最后两条直线的交点是左图所示。如果新加入了直线 后原来的交点在直线右侧说明最后一条直线没有用把它从队 列中删除。 看遍边6要不要保留就看5和6的交点在直线的哪一侧 由p指向v的向量 ans存的交点 q存的边
http://www.sadfv.cn/news/166393/

相关文章:

  • 音乐网站建立广州品牌网站建设
  • 手机网站开发怎么收费wordpress文件调用
  • 深圳网站建设是哪个app ui界面设计模板
  • 网站制作需求文档制作二维码的思维导图
  • 永久免费的网站服务器有哪些软件仪征网站建设公司哪家好
  • 沂源手机网站建设公司芜湖做网站的公司
  • 中网的官方网站wordpress active
  • 电子工程设计网站google网站收录入口
  • 西安网站优化培训织梦装修网站模板
  • 网站层次索引模板龙华营销型网站制作
  • 网站开发行业代码网站建设 猫云seo
  • 上海学网站建设网站建网站建设
  • WordPress论坛推广插件文山seo公司
  • 手机网站页面不想用wordpress
  • 如何免费建购物网站拍摄宣传片制作公司
  • 做网站的得花多少钱网站移动端推广
  • 网站建设的发展趋势本地推广最好用的平台
  • 网站制作流程分为哪三步如何搭建一个论坛网站
  • 优秀定制网站建设案例北京搬家公司大全
  • 宝格丽网站建设wordpress视频网站模板下载
  • 菲律宾 网站开发公司滕州营销型网站建设
  • 长沙做网站建设公司排名网站开发和网络工程师
  • 网站建设公司怎么办云盘建设网站
  • 物流网站建设合同范本网页平面设计招聘
  • 网站服务器租赁哪家好深圳建筑招聘网
  • 建设部网站城市规划资质标准哪里能做网站
  • 网站建设专业用语wordpress 图片 视频播放
  • 怎么做百度网盘链接网站企业号怎么注册
  • 网站开发属于哪个大学专业网站 网址 域名
  • 金融网站建设公司排名头部互联网公司有哪些