Pick定理、欧拉公式和圆的反演

Tags:高级算法


Pick定理

内容

定点都是整点的多边形,内部整点数为\(innod\),边界整点数\(ednod\),\(S=innod+\frac{ednod}{2}-1\)

证明

把每个整点近似地看成一个圆,那么多边形内部的整点所代表的圆全部被算入
多边形边界上的圆被算了一半
顶点上被算了\(\sum 半圆-外角\),外角和360度,于是\(-1\)

应用

POJ2954 求格点三角形内部点数

欧拉公式

内容

\[V-E+F=2\]
\(V:vertex\) 顶点
\(E:edge\) 边
\(F:Flat\) 面

适用于所有多变形(无论维度)

例如一个长方形:\(4\)个点\(4\)条边,两个面:里面和外面

应用

\(n\)个点做三维凸包,求增量构造法复杂度。

假设\(n\)个点都在凸包上,那么\(V=n\),每个面有三条边,每条边被算了两次,即\(2E=3F\)
通过上面的公式可以得到\(F=2n-4,E=3n-6\)。
增量构造法的复杂度是面数×点数,所以是\(\cal O(n^2)\)级别

圆的反演变换

内容

反演中心为\(O\),反演半径为\(R\),若经过\(O\)的直线经过\(P,P'\),且\(OP*OP'=R^2\),则称\(P\)、\(P'\)关于\(O\)互为反演

性质

  • 1.一根过\(O\)的直线的反形是本身
  • 2.一根不过\(O\)的直线的反形是一个过\(O\)的圆
  • 3.一个过\(O\)的圆的反形是一根不过\(O\)的直线
  • 4.一个不过\(O\)的圆的反形是一个和该圆关于\(O\)位似的圆

下面这张图可以粗略解释一下有这么个东西:两种不同颜色的三角形相似,可以证出\(CD\)关于\(E\)的反形为圆

  • 5.反演不改变相切关系

应用

1、求平面内与原点四点共圆的三元组个数

Problem Provider:自为风月马前卒
对所有点反演后求三点共线的三元组即可

2、求经过P点并与两给定相离圆外切的圆

参考博客:ACdreamer反演教程水郁图文cdsszjj题解教你尺规画图
Problem Provider:HDU4773 Problem of Apollonius
先将两相离圆关于P反演,然后做反形的公切线,反演回来成为公切圆

TBC...

Pick定理、欧拉公式和圆的反演的更多相关文章

  1. The Designer (笛卡尔定理+韦达定理 || 圆的反演)

    Nowadays, little haha got a problem from his teacher.His teacher wants to design a big logo for the ...

  2. CF77E Martian Food(圆的反演or 笛卡尔定理+韦达定理)

    题面 传送门 这题有两种方法(然而两种我都想不到) 方法一 前置芝士 笛卡尔定理 我们定义一个圆的曲率为\(k=\pm {1\over r}\),其中\(r\)是圆的半径 若在平面上有两两相切,且六个 ...

  3. 格点多边形面积公式(Pick定理)的一个形象解释(转)

    Pick定理:如果一个简单多边形(以下称为“多边形”)的每个顶点都是直角坐标平面上的格点,则称该多边形为格点多边形.若一个面积为S的格点多边形,其边界上有a个格点,内部有b个格点,则S=a/2+b-1 ...

  4. 【计算几何 05】Pick定理

    什么是Pick定理(皮克定理) 来自wiki的介绍: 给定顶点座标均是整点(或正方形格子点)的简单多边形,皮克定理说明了其面积 \(A\)和内部格点数目 \(i\) .边上格点数目 \(b\) 的关系 ...

  5. HDU 3775 Chain Code ——(Pick定理)

    Pick定理运用在整点围城的面积,有以下公式:S围 = S内(线内部的整点个数)+ S线(线上整点的个数)/2 - 1.在这题上,我们可以用叉乘计算S围,题意要求的答案应该是S内+S线.那么我们进行推 ...

  6. 【POJ】2954 Triangle(pick定理)

    http://poj.org/problem?id=2954 表示我交了20+次... 为什么呢?因为多组数据我是这样判断的:da=sum{a[i].x+a[i].y},然后!da就表示没有数据了QA ...

  7. UVa 10088 - Trees on My Island (pick定理)

    样例: 输入:123 16 39 28 49 69 98 96 55 84 43 51 3121000 10002000 10004000 20006000 10008000 30008000 800 ...

  8. 圆的反演变换(HDU4773)

    题意:给出两个相离的圆O1,O2和圆外一点P,求构造这样的圆:同时与两个圆相外切,且经过点P,输出圆的圆心和半径 分析:画图很容易看出这样的圆要么存在一个,要么存在两个:此题直接解方程是不容易的,先看 ...

  9. Area(Pick定理POJ1256)

    Area Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5429   Accepted: 2436 Description ...

随机推荐

  1. JSTL、JSTL核心标签库——流程处理标签

    JSTL环境 JSTL是另一个标准规范,并非在JSP的规范中,所以必须另外下载JSTL实现. 要使用JSTL标签库,必须在JSP网页上使用taglib指示元素定义前置名称与uri参考.例如,引入JST ...

  2. Web Api通过文件流下载文件到本地实例

    最近项目里面需要和C++的客户端互动,其中一个接口就是需要提供文件下载的接口,保证C++项目调用这个接口的时候能够正常下载文件到本地.参考了一下网上的代码,其原理就是读取服务器上指定路径的文件流,并将 ...

  3. LeetCode题解之Happy Number

    1.题目描述 2.题目分析 根据 happy number 的 性质,如果循环7次还没有到达 1,则这个数不是happy number . 3.代码 bool isHappy(int n) { ) r ...

  4. python自学——集合

    #皇城根儿#集合:是无序的.不重复的:1.去重:2.关系测试#创建集合#创建数字集合number=set([1,3,5,7,9]) #数字型集合str_type=set(["im" ...

  5. unbuntu 安装python包提示E: Unable to locate package python-timeout

    今天本想着在unbuntu环境下安装python的一个包,安装了几次都提示 E: Unable to locate package python-timeout 查阅了一些信息才知道,原来是一些软件源 ...

  6. 卷积神经网络入门:LeNet5(手写体数字识别)详解

    第一张图包括8层LeNet5卷积神经网络的结构图,以及其中最复杂的一层S2到C3的结构处理示意图. 第二张图及第三张图是用tensorflow重写LeNet5网络及其注释. 这是原始的LeNet5网络 ...

  7. Beta 冲刺 (1/7)

    Beta 冲刺 (1/7) 队名:洛基小队 峻雄(组长) 已完成:β版的初步计划 后两天计划:设计角色的技能树 剩余任务:角色的技能 困难:关于技能施放以及相关伤害计算等的代码 非易 已完成:角色交互 ...

  8. Beta版本项目计划

    小队名称:PHILOSOPHER 小组成员 [组长]金盛昌(201421122043).刘文钊(20142112255).陈笑林(201421122042) 张俊逸(201421122044).陈志建 ...

  9. [Python] 制作启动uiautomator2 的web版 uiautomatorviewer2 批处理启动

    打开一个txt文件,复制如下命令进行并另存为为 .bat文件 @echo on @echo 正在启动 uiautomatorviewer2 python -m weditor @echo off 注意 ...

  10. jQuery事件整合

    一.jQuery事件 1.focus()元素获得焦点 2.blur()元素失去焦点 3.change() 表单元素的值发生变化(可用于验证用户名是否存在) 4.click() 鼠标单击 5.dbcli ...