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

Posted Aireen Ye

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[学习笔记]计算几何基础相关的知识,希望对你有一定的参考价值。

三角函数

向量

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

坐标表示:$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#判断点是否在多边形中

 

以上是关于[学习笔记]计算几何基础的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

OpenCV学习笔记4基础:几何变换-改变大小