计算几何相关的面试题
文章目录
- 一、凸包
- 二、最小圆覆盖(三点定圆)
- 三、判断一个点是否在多边形内部(射线法思路)
一、凸包
关于凸包的严格定义,这里不打算写出来,大家可以自行Google或者百度,因为严格的数学定义反而不太好理解,用最通俗的话来解释凸包:给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边型,使得它能包含点集中所有的点,凸包最常见的应用是求平面上距离最远的两个点。
【凸包的特点】:
首先我们观察一下任何一个凸包,很明显的一个特点就是,凸包是凸多边。那么凸多边有什么用呢,我们来看看一个凸包上连续三点的一些关系。我们让这连续的三个点分别为p0,p1,p2。
向量 a = p1 - p0;
向量 b = p2 - p0;
特点:在凸包上找两个连续的点,如果下一个点是凸包上的点,则b在向量a的右端。
二、最小圆覆盖(三点定圆)
最小圆覆盖问题指平面上有n个点,给定n个点的坐标,找到一个半径最小的圆,将n个点全部包围,点可以在圆上。
假设圆O是前i-1个点得最小覆盖圆,加入第i个点,如果在圆内或边上则什么也不做。否则新得到的最小覆盖圆肯定经过第i个点。然后以第i个点为基础(半径为0),重复以上过程依次加入第j个点,若第j个点在圆外,则最小覆盖圆必经过第j个点。重复以上步骤(因为最多需要三个点来确定这个最小覆盖圆,所以重复三次)。遍历完所有点之后,所得到的圆就是覆盖所有点得最小圆。证明可以考虑这么做:最小圆必定是可以通过不断放大半径,直到所有以任意点为圆心,半径为半径的圆存在交点,此时的半径就是最小圆。所以上述定理可以通过这个思想得到。这个做法复杂度是O(n)的,当加入圆的顺序随机时,因为三点定一圆,所以不在圆内概率是3/i,求出期望可得是O(n)。
三、判断一个点是否在多边形内部(射线法思路)
首先想到的一个解法是从这个点做一条射线,计算它跟多边形边界的交点个数,如果交点个数为奇数,那么点在多边形内部,否则点在多边形外。
常识:直线穿越多边形边界时,有且只有两种情况:进入多边形或穿出多边形。 在不考虑非欧空间的情况下,直线不可能从内部再次进入多边形,或从外部再次穿出多边形,即连续两次穿越边界的情况必然成对。
计算几何相关的面试题相关推荐
- vue 给取data值_一些Vue相关的面试题,帮助求职者提升竞争力
Vue是一套构建用户界面的渐进式框架,具有简单易用.性能好.前后端分离等优势,是Web前端工程师工作的好帮手,也是企业选拔人才时考察的重点技能.接下来我就给大家分享一些Vue相关的面试题,帮助大家提升 ...
- 2022年二级建造师建设工程法规及相关知识精选试题及答案
题库来源:优题宝公众号 2022年二级建造师建设工程法规及相关知识精选试题及答案,由优题宝公众号根据最新二级建造师建设工程法规及相关知识大纲与历年真题汇总编写,包含二级建造师建设工程法规及相关知识常考 ...
- python 计算面积 比计算几何慢_计算几何相关 - osc_kbyywydz的个人空间 - OSCHINA - 中文开源技术交流社区...
计算几何相关 ##向量表示法 这里最适合的就是用一个二维点对$(a,b)$来表示了. ##点积 ${a.xb.x+a.yb.y}$ 在向量的含义下:$\vec{a}·\vec{b}=|\vec{a}| ...
- 2022年桂林二级建造师机电工程施工相关法规冲刺试题及答案
题库来源:优题宝公众号 2022年桂林二级建造师机电工程施工相关法规冲刺试题及答案,由优题宝公众号根据最新二级建造师机大纲与历年真题汇总编写,包含二级建造师机常考重点题型与知识点,有助于考生复习备考二 ...
- Maven相关常见面试题
Maven相关常见面试题 更好的解答需要大家自行百度,这里主要是列出,单个问题的去搜索了解 1.你们公司使用的maven 版本 我使用的是maven3.6.3(根据你平时用的版本答就好了) 2.使用m ...
- 【资源】NLP 算法工程师相关的面试题
点击上方,选择星标或置顶,每天给你送干货! 阅读大概需要4分钟 跟随小博主,每天进步一丢丢 作者 | songyingxin https://github.com/songyingxin/NLPer- ...
- 【渝粤教育】国家开放大学2018年春季 0599-22T工程造价管理基础理论与相关法规 参考试题
科目编号:0599 座位号 2017-2018学年度第二学期期末考试 工程造价管理基础理论与相关法规 试题 2018年 7 月 一.单选题(本大题共10小题,每小题4分,共计40分) (★请考生务必将 ...
- 【渝粤教育】国家开放大学2018年春季 0599-21T工程造价管理基础理论与相关法规 参考试题
科目编号:0599 座位号 2017-2018学年度第二学期期末考试 工程造价管理基础理论与相关法规 试题 2018年 7 月 一.单选题(本大题共10小题,每小题4分,共计40分) (★请考生务必将 ...
- 计算几何相关资料+题目推荐(不定期补充)
旋转卡壳:http://blog.csdn.net/accry/article/details/6070626 计算几何题目推荐:http://blog.csdn.net/accry/article/ ...
- python相关岗位面试题总结(五)(持续更新)
一,Python 基础 1.python常见的PEP8规范 可以参考文章:https://blog.csdn.net/woailuohui/article/details/84604251:大佬写的很 ...
最新文章
- Windows server 2003 IP路由配置
- java操作跨页的word cell,利用itext 生成pdf,处理cell 跨页问题 [转]
- 图灵八月书讯 ——技术图书嘉年华
- php中一个经典的!==的用法
- (操作系统)实验二 作业调度
- POJ 1753 Flip Game (黑白棋) (状态压缩+BFS)
- 【设计模式】设计模式C++编程实现之观察者模式(ObserverPattern)
- ssm框架requestmapping找不到_从MVC原理开始手敲一个MVC框架,带你体会当大神的乐趣...
- cimiss数据_CIMISS数据下载小助手
- 锐捷Linux认证失败,如何解决win10系统锐捷认证失败?锐捷认证失败的解决方法步骤...
- php酒店预订源码,如家快捷酒店预订源码 for php
- 计算机界面右下角,电脑开机卡主板界面右下角显示B4~
- Java中ThreadLocal详解
- 歌词遍历案例 lrc文件
- 将 ChatGPT 引入你的飞书
- php如何判断emoji字符串,PHP实现识别带emoji表情的字符串
- Kubernetes调度之亲和性和反亲和性
- 计算机专业毕业设计致谢,计算机毕业论文致谢范文3篇
- 量化投资之宏观篇 | 达里欧谈美国社会的矛盾及如何改良
- mysql 提示The maximum column size is 767 bytes.
热门文章
- 华为ICT题目-云服务题库1
- matlab与信道编码,基于MATLAB的信道编码.doc
- (2016.12.02更新)CnCrypt文件保险柜1.18,兼容TrueCrypt加密卷,单文件绿色版
- (2017.03.12更新)CnCrypt文件保险箱1.19,兼容TrueCrypt加密卷
- 完整版本的 poj 题目分类 转载
- mac配置VMware Fusion虚拟机网络配置
- 6 种 Python 数据可视化工具
- 百度地图API:自定义途经点路线拼接
- SolidWorks导入3DSource零件库的模型方法介绍
- java 修改pdf文档的页面的大小