计算几何学复习【信息技术】.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文档。上传文档
查看更多
计算几何学的有关算法 若向量P1在向量P2的顺时针方向,则叉积P1*P2 0; 若向量P1在向量P2的逆时针方向,则叉积P1*P2 0; 若P2、P1两个向量共线(方向可以相同或相反),则叉积P2*P1=0。 地主 在Dukeswood这块土地上生活着一个富有的农庄主和他的几个孩子。在他临死前,他想把他的土地分给他的孩子。他有许多农场,每个农场都是一块矩形土地。他在农场地图上划上一些直线将矩形分成若干块。当他划直线时,他总是从矩形边界上的某一点划到另一个矩形边界上的点,这条线的结束点将成为下一条线的起始点。他划线时从不会让任三线共点。例如下图是某一种划分结果。 划分的起始点和结束点均以五角星标记。当他完成划分后,他想要数一下划出的土地的块数以确保每个孩子都有一块地。例如,上图中土地被划分成18块。然而这个庄主由于年迈常会数错,因而他寻求你的帮助。 请写一个程序,输入原来的土地尺寸及线段的位置,输出划分出的土地块数。 结论 平面上n条直线最多可以将平面分成f(n)个区域,其中f(n)=(n2+n+2)/2。 设f(n)为前n条输入的线段将矩形分成的区域个数,1? n ? L,L为线段总数。 边界:f(1) = 2,即一条线段将矩形分成2个区域,如下图 (a)所示。 递推:假设现在已经处理了n-1条线段,新线段为l,它和已有的n-1条线段交于t’(n)个交点。注意其中有些交点在矩形边界上,这些交点也是线段的端点,必须将其排除,于是剩下t(n)个交点。如下图 (b)所示。由于题目中限定“任三线不共点”,因此这些交点将l分成t(n)+1条线段。这t(n)+1条线段将所在区域一分为二,这样就增加了t(n)+1个区域 u[1.. L]为线段序列,其中u[i]为第i条线段。计算过程如下 T←0;{交点数初始化} for i←1 to L do{统计L条线段之间的交点个数} for j←i+1 to L do if u[i]与u[j]相交 then T←T+1; 输出T+L+1; 机器蛇 在未来的某次战争中,我军计划了一次军事行动,目的是劫持敌人的航母。由于这个计划高度保密,你只知道你所负责的一部分:机器蛇的通信网络。计划中要将数百条机器蛇投放到航母的各个角落里。由于航母内部舱室、管线错综复杂,且大部分由金属构成,因此屏蔽效应十分强烈,况且还要考虑敌人的大强度电子干扰,如何保持机器蛇间的联系,成了一大难题。每条机器蛇的战斗位置由作战计划部门制定,将会及时通知你。每条机器蛇上都带有接收、发射系统,可以同时与多条机器蛇通讯。由于整个系统承载的数据量庞大,需要一个固定的通讯网络。情报部门提供了极其详尽的敌方航母图纸,使你对什么地方有屏蔽了如指掌。 请你设计一个程序,根据以上信息构造通讯网络,要求信息可以在任意两条机器蛇间传递,同时为了避免干扰,通讯网络的总长度要尽可能的短。 ⑴设计dist(s)函数:计算机器蛇通信线路s的距离。若通信线路s与任一条屏蔽线相交,则距离设为无穷大,即该边在无向图不存在;否则s为无向图的一条边,边权为距离。 ⑵计算无向图的最小生成树。最小生成树的边权和为问题的解。 计算两条相交线段的交点 确定目标点的可能位置 游戏者B在一张100*100纸上确定了一个目标点,游戏者A一开始在点(0,0)上,每次游戏者A从一个点到另一个点,如果新的点离目标点近了,那么游戏者B说“Hotter”,如果新的点离目标远了,那么游戏者B说“Colder”,如果距离不变,那么游戏者B说“Same”。 输入文件包括很多行,每行包含游戏者A这一步到达的点(x,y)和游戏者B说的话。说话的形式有三种:“Same”、“Hotter”或“Colder”。对每次游戏者B说话,你必须计算和输出目标点可能位置的面积,精确到小数点后2位。 可能位置的图形一定是个凸多边形。 证明: 因为每次对游戏者B的回答,就可以确定可能的位置在出发点和到达点中垂线的哪一边或就是中垂线。由于每次可能位置的图形都是凸多边形。所以当前图形是许多个凸多边形的交集,显然是一个凸多边形。 由于最初纸上的每一个点都可能认作为目标点,因此凸多边形为一个四边形,(0,0),(0,100), (100,100),(100,0)。接下来,依次处理游戏者A到达的位置和游戏者B的回答。设游戏者A先后到达的两个位置为p1=(x1,y1)、p2=(x2,y2),p1p2线段的中垂线方程为 2*(x2-x1)*x+2*(y2-y1)*y+ x12+y12-x22-y22=0。 若p2=(x2,y2)代入上述方程后 0,则说明p2位于中垂线的上方;若 0,则说明p2位于中垂线的下方。需要注意的是,若游戏者A到达的p2点和这步前的p1点完全相同,这时就不存

文档评论(0)

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

1亿VIP精品文档

相关文档