圆
圆基础
- 圆的表示:圆心、半径
- 圆的周长:$C=2\pi r$
- 圆的面积:$S=\pi r^2$
关系问题
点与圆的关系
- 点在圆外
- 点在圆上
- 点在圆内
判定方法:点到圆心距离(平方)与圆的半径(平方)比较。
无精度误差。
直线与圆的关系
- 相离
- 相切
- 相交
判定方法:圆心到直线距离与圆的半径比较
可以做到无精度误差。
圆与圆的关系
令两圆半径分别为 $r_1$ 和 $r_2$,两圆圆心的距离为 $d$。
- 相同:$r_1=r_2$ 且 $d=0$
- 相离:$d>r_1+r_2$
- 外切:$d=r_1+r_2$
- 相交:$|r_1-r_2|<d<r_1+r_2$
- 内切:$d=|r_1-r_2|$
- 内含:$d<|r_1-r_2|$
交集问题
直线与圆的交点
前提:直线与圆不相离
直线:$\lbrace P,\vec v\rbrace$
圆:$\lbrace C,r\rbrace$
设圆心到直线距离为 $d$,投影为 $C’$,则:
交点:$\overrightarrow{OC’}±\dfrac{\sqrt{r^2-d^2}}{|\vec v|}\vec v$。
圆与圆交点
前提:两圆不相同、不相离、不内含
两圆圆心连线与一圆心到交点连线夹角 $\alpha$。
根据余弦定理:$\cos\alpha=\dfrac{r_1^2+d^2-r_2^2}{2r_1d},\sin\alpha =\sqrt{1-\cos^2\alpha}$。
将两圆心连线对应向量进行伸缩旋转。
圆与圆面积交
两个弓形(扇形减去三角形)面积和。
扇形面积:$\pi r^2\times\dfrac{2\alpha}{2\pi}=r^2\alpha$。
三角形面积:$\dfrac12\times 2r\sin\alpha\times r\cos\alpha=r^2\sin\alpha\cos\alpha$
弓形面积:$r^2(\alpha-\sin\alpha\cos\alpha)$
圆与多边形面积交
从圆心将多边形剖分成若干三角形,求三角形与原的面积交。
多个圆的面积并
对于极角在 $\theta_l$ 到 $\theta_r$ 之间的一段圆弧。
$2S=x_0r(\sin\theta_r-\sin\theta_l)-y_0r(\cos\theta_r-\cos\theta_l)+r^2(\theta_r-\theta_l)$。
时间复杂度:$O(n^2\log n)$。
切线问题
过圆外一点圆的切线
- $\cos\alpha=\dfrac{r}{d}$
- 向量伸缩、旋转
两圆的公切线
- 相离:4 条
- 外切:3 条
- 相交:2 条
- 内切:1 条
- 内含:0 条
外公切线
$\cos\alpha=\dfrac{r_1-r_2}{d}$
内公切线
$\cos\alpha=\dfrac{r_1+r_2}{d}$
圆的反演
给定反演中心点 $O$ 和反演半径 $R$。若平面上点 $P$ 和 $P’$ 满足:
- 点 $P’$ 在射线 $OP$ 上
- $|\overrightarrow{OP}|\times|\overrightarrow{OP’}|=R^2$
则称点 $P$ 和点 $P’$ 互为反演点
性质:
- 圆外的点的反演点在圆内,反之亦然。
- 圆上的点的反演点为其自身。
- 不过点 $O$ 的圆,其反演图形也是不过点 $O$ 的圆。
- 过点 $O$ 的圆,其反演图形是不过点 $O$ 的直线。
- 两个图形相切,则它们的反演图形也相切。