算法 计算几何.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法 计算几何

POJ上的习题 七.计算几何学. ???? (1)几何公式. ???? (2)叉积和点积的运用(如线段相交的判定,点到线段的距离等). (poj2031,poj1039) ???? (3)多边型的简单算法(求面积)和相关判定(点在多边型内,多边型是否相交)? (poj1408,poj1584) ???? (4)凸包. (poj2187,poj1113) 高级 (1)坐标离散化. (2)扫描线算法(例如求矩形的面积和周长并,常和线段树或堆一起使用). (poj1765,poj1177,poj1151,poj3277,poj2280,poj3004) (3)多边形的内核(半平面交)(poj3130,poj3335) (4)几何工具的综合应用. (poj1819,poj1066,poj2043,poj3227,poj2165,poj3429) 其他参考资料 NUAA 2007 ACM/ICPC Standard Code Library Volume Ⅲ Computational Geometry Big Numbers 离散化的应用 对a[]重复处理,如果遇到左端点++deep,如果遇到右端点--deep。直到deep==0,结束当前步骤,并另当前大区间右端点Right=x。 4. 累加答案ans += (Right-Left),如果还有区间未处理,即in,则重复1 1 2 1 2 1 0 1 0 离散化的进一步应用 矩形面积并:求多个矩形所覆盖的总面积(POJ 1151) 1 2 3 4 5 6 1 2 1 0 离散化的进一步应用 沿用区间并的方法 (rect_union.cpp) 先对个矩形按照x坐标排序,进行离散化 再对x轴上的区间段[xa,xb]进行处理 对x坐标范围包含[xa,xb]的矩形进行处理 对所有矩形的y坐标按照扫描线法进行处理 三维几何初步 三维几何 //计算cross product U x V point3 xmult(point3 u,point3 v){ point3 ret; ret.x=u.y*v.z-v.y*u.z; ret.y=u.z*v.x-u.x*v.z; ret.z=u.x*v.y-u.y*v.x; return ret; } 三维几何 //计算dot product U . V double dmult(point3 u,point3 v){ return u.x*v.x+u.y*v.y+u.z*v.z; } 三维几何 //判三点共线 int dots_inline(point3 p1,point3 p2,point3 p3){ return vlen(xmult(subt(p1,p2),subt(p2,p3)))eps; } //判四点共面 int dots_onplane(point3 a,point3 b,point3 c,point3 d){ return zero(dmult(pvec(a,b,c),subt(d,a))); } 平面Voronoi图的构造 及应用 引言: 在计算几何这一领域中,Voronoi图是仅次于凸壳的一个重要的几何结构。这是由于Voronoi图在求解点集或其他几何对象与距离有关的问题时起重要作用。 常见的问题包括谁离谁最近,谁离谁最远,等等。 现在,让我们大家首先来了解一下Voronoi图的定义! Voronoi图的定义 设P1,P2是平面上的两个点,L是的它们的中垂线,L将平面分成两部分半平面L1和半平面L2,在L1内的点P具有特性|PP1||PP2|,即位于Ll内的点比平面中其他点更接近点P1 ,我们记半平面H(P1, P2)= L1 ,同理半平面H(P2, P1)= L2 。 直线L P1 P2 平面L1 平面L2 P Voronoi图的定义 对于平面上n个点的点集S,任给ji,定义V(Pi)=∩H(Pi,Pj),即V(Pi)表示比其他点更接近Pi的点的轨迹是n-1个半平面的交集,它是一个不多于n-1条边的凸多边形区域,称为关联于Pi的Voronoi多边形或关联于Pi的Voronoi多边形域。 pi n=6时的一种V(pi) 位于多边形V(pi)内的任意一个点P满足|PPi||PPj|(ij) p Pj Voronoi图的定义 对于S中的每个点都可以 作一个Voronoi多边形,这样n个Voronoi多边形组成的图称为Voronoi图,记为Vor(S)。 n=6时的Vor(S) Voronoi图的构造 传统的构造方法 分治法构造Delaunay三角剖分法 编写麻烦 难于理解 编写容易 易于理解 O(N log

文档评论(0)

zhuliyan1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档