[学习笔记]计算几何基础

AireenYe AireenYe     2022-08-20     204

关键词:

三角函数

向量

线性空间中有大小方向的量.

坐标表示:$P(x_1,y_1),Q(x_2,y_2)$.

$\overrightarrow{PQ}=(x_2-x_1,y_2-y_1)$.

$|PQ|=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}$.

image

向量运算

$a=(x_1,y_1),b=(x_2,y_2)$.

  • 加法

$a+b=(x_1+x_2,y_1+y_2)$.

image

  • 减法

$a-b=(x_1-x_2,y_1-y_2)$.

image

  • 点乘

$a\;\cdot\;b=x_1x_2+y_1y_2$.

$a\;\cdot\;b=|a||b|cos<a,b>$

应用:求两向量夹角,判断是否垂直($cos90$°$=0$).

  • 叉乘

$a\;\times\;b=x_1y_2-x_2y_1$.

$|a\;\times\;b|=|a||b|sin<a,b>$.

$a\;\times\;b=0$,共线.

 

 

image

判断线段交

$(AC\;\times\;AD)(BC\;\times\;BD)\;\leq\;0$且$(CA\;\times\;CB)(DA\;\times\;DB)\;\leq\;0$.

image

向量旋转

将$a(x_1,y_1)$逆时针旋转$\theta$(弧度)得到$b(x_1cos\theta-y_1sin\theta,x_1sin\theta+y_1cos\theta)$.

$P.S.$只改变方向(长度不变).记忆方法:旋转$\pi/2$得到的结果$(-y_1,x_1)$.

三点共线

夹角为$0$且$a\;\times\;b=0$.

点是否在射线上

夹角为$0$且点乘$\geq\;0$.

$<0$?反向!

多边形面积

设多边形顶点依次为$P_1,P_2,...,P_n$.

$\large{S=|\frac{\sum_{i=1}^{n-1}\overrightarrow{OP_i}\times\overrightarrow{OP_{i+1}}+\overrightarrow{OP_n}\times\overrightarrow{OP_{1}}}{2}}|$.

点到直线垂足

点到直线垂足$D,ED\;\perp\;AB$.

旋转$\overrightarrow{AB}\pi/2$.

直线求交.

image

圆的位置关系

$d$为两圆圆心距,$R,r$分别为两圆半径.

$d>R+r$ 外离;

$d=R+r$ 外切;

$|R – r|<d<R+r$ 相交;

$d=|R–r|$ 内切;

$d<|R–r|$内含.

点是否在凸多边形内

面积和判别法:判断目标点与多边形的每条边组成的三角形面积和是否等于该多边形,相等则在多边形内部。

推荐

http://dev.gameres.com/Program/Abstract/Geometry.htm#判断点是否在多边形中

 

笔记篇最良心的计算几何学习笔记

动态凸包本文的github传送门在这里~======================================================================不会凸包的赶紧去学一下哦~======================================================================好的我们已经会求凸包了.那我们来看这样一道题.题目大意 查看详情

笔记篇最良心的计算几何学习笔记

广告:先是放一下本文的::github传送门::(不知道为什么要放)今天发现了一个AMA(Askmeanything)的东西,觉得非常好玩,就fork了一个放到自己的github里面,估计没有人会来问,所以就放到这里拉拢人气(虽然这里也拉拢不到)欢迎大家来玩哦~地... 查看详情

笔记篇最良心的计算几何学习笔记

半平面交github传送门简介Emmmm学完旋转卡壳感觉自己已经是个废人了..修整了一个周末,回来接着跟计算几何势力硬干...(这个周末是不是有点长?)今天就讲讲半平面交吧.请自己回顾必修五线性规划相关知识...什么是半平面?就是一... 查看详情

笔记篇最良心的计算几何学习笔记

......有想看的可以去看看→_→*温馨提示:看本文之前请务必学习或回顾数学-必修2的解析几何和数学-必修4的平面向量有关内容...本文中的代码基本都是口胡的,不过还是用了IDE,只保证能过编译,不保证正确OvO...一浮点数相关...众所... 查看详情

笔记篇最良心的计算几何学习笔记

依然放上本文的github地址...作业QwQ先来说一下上次留下的例题.poj这道题并没有实数比较模式..所以被精度势力干翻.交上去WA掉竟然是因为-0.00和0.00不相等?根据对拍结果别的地方应该没什么问题了OvO下面给出并不能AC的"正确&qu... 查看详情

opencv学习笔记4基础:几何变换-改变大小(代码片段)

文章目录1.按比例缩小2.放大3.只更改高或宽4.缩放到指定大小References1.按比例缩小我们使用resize函数改变图像大小,例如将图像按比例缩小为原来的80%:importcv2img=cv2.imread('images/test.jpg')width=img.shape[1]height=img... 查看详情

opencv学习笔记4基础:几何变换-改变大小(代码片段)

文章目录1.按比例缩小2.放大3.只更改高或宽4.缩放到指定大小References1.按比例缩小我们使用resize函数改变图像大小,例如将图像按比例缩小为原来的80%:importcv2img=cv2.imread('images/test.jpg')width=img.shape[1]height=img... 查看详情

第一章计算机基础学习笔记

笔记整理起始时间:2018年3月29日11:19:17章节导航       1.计算机系统       2.计算机硬件组成       3.操作系统   &nb 查看详情

opencv学习笔记4基础:几何变换-改变大小(代码片段)

文章目录1.按比例缩小2.放大3.只更改高或宽4.缩放到指定大小References1.按比例缩小我们使用resize函数改变图像大小,例如将图像按比例缩小为原来的80%:importcv2img=cv2.imread('images/test.jpg')width=img.shape[1]height=img... 查看详情

深度学习-计算机视觉-基础学习笔记-02

卷积神经网络ConvolutionalNeuralNetworks—CNN,其与常规神经网络的构想基本一致,不同的是需要训练卷积层,因为其更能保留输入的空间结构。前面我们提到了全连接层的概念,将一个32323的照片像素提取并展开,... 查看详情

day2计算机基础简介学习笔记

 计算机一般来说计算机是由硬件系统和软件系统组成,今天只了解硬件系统的相关原理。 简单来说一台典型的计算机在硬件方面主要由cpu,储存器,I/O设备和一条系统总线连接起来的。  1.cpucpu是计算机的大脑,... 查看详情

深度学习-计算机视觉-基础学习笔记-02(代码片段)

卷积神经网络ConvolutionalNeuralNetworks—CNN,其与常规神经网络的构想基本一致,不同的是需要训练卷积层,因为其更能保留输入的空间结构。前面我们提到了全连接层的概念,将一个32×32×3的照片像素提取并展开... 查看详情

学习笔记高等数据基础

一、数学概况  二、数据类型【分类1】离散型数据:比如骰子,无论怎么掷,概率都是1/6。离散随机变量是指一个只取有限个数或可数无限个数值的随机变量。通常用古典概型来描述。连续型数据:比如时间/长... 查看详情

二维计算几何基础(代码片段)

...的几何问题的范围限制在二维平面内,这样就用到了二维计算几何。要用电脑解平面几何题?数学好的同学们笑了。我们并不是用计算机算数学卷子上的几何题去了,而是解决一些更加复杂的几何相关问题。为了解决复杂且抽象... 查看详情

深度学习-计算机视觉-基础学习笔记-03

更好的优化方法前面提到的随机梯度下降(SGD)在实际使用中会产生很多问题,比如下图中的损失函数对水平方向不敏感而对竖直方向敏感的情况,实际在更高维涉及到非常多的参数时这个问题更明显。其另一个问题是局部... 查看详情

深度学习-计算机视觉-基础学习笔记-01(代码片段)

图像分类的思想:收集大量已知图像数据并带有正确的标签,将以往通过一个函数传入一张图片并返回图片的类型的这个思想转变成,通过俩个函数,第一个函数传入大量的图片并通过该函数训练返回一个模型,该... 查看详情

java基础学习笔记day01

      java基础学习笔记day011.软件开发:  软件:按照特定顺序组织的计算机数据和指令的集合  开发:软件的制作过程  软件开发:借助开发工具和计算机语言制作软件2.java概述:  java之父:詹姆斯·高斯林 ... 查看详情

深度学习·理论篇(2023版)·第003篇深度学习和计算机视觉中的基础数学知识02:特征向量和特征值+矩阵乘法的几何意义+奇异值分解+线性可分性和维度+非线性变换

查看详情