## 定义
-给定反演中心点 $O$ 和反演半径 $R$。若平面上点 $P$ 和 $P'$ 满足:
+给定反演中心点 $O$ 和反演半径 $R$ 。若平面上点 $P$ 和 $P'$ 满足:
- 点 $P'$ 在射线 $\overrightarrow{OP}$ 上
-- $|OP| \cdot |OP'| = R^2$
+- $|OP| \cdot |OP'| = R^2$
则称点 $P$ 和点 $P'$ 互为反演点。
1. 圆 $O$ 外的点的反演点在圆 $O$ 内,反之亦然;圆 $O$ 上的点的反演点为其自身。
-2. 不过点 $O$ 的圆 $A$,其反演图形也是不过点 $O$ 的圆。
+2. 不过点 $O$ 的圆 $A$ ,其反演图形也是不过点 $O$ 的圆。
![Inv2](./images/inverse2.png)
- * 记圆 $A$ 半径为 $r_1$,其反演图形圆 $B$ 半径为 $r_2$,则有:
-
+ - 记圆 $A$ 半径为 $r_1$ ,其反演图形圆 $B$ 半径为 $r_2$ ,则有:
+
$$
r_2 = \frac{1}{2}\left(\frac{1}{|OA| - r_1} - \frac{1}{|OA| + r_2}\right) R^2
$$
- **证明:**
+ **证明:**
![Inv3](./images/inverse3.png)
|OD|\cdot|OD'| = (|OA|-r_1)\cdot(|OB|+r_2) = R^2
$$
- 消掉 $|OB|$,解方程即可。
+ 消掉 $|OB|$ ,解方程即可。
- * 记点 $O$ 坐标为 $(x_0, y_0)$,点 $A$ 坐标为 $x_1, y_1$,点 $B$ 坐标为 $x_2, y_2$,则有:
+ - 记点 $O$ 坐标为 $(x_0, y_0)$ ,点 $A$ 坐标为 $x_1, y_1$ ,点 $B$ 坐标为 $x_2, y_2$ ,则有:
$$
x_2 = x_0 + \frac{|OB|}{|OA|} (x_1 - x_0) \\
其中 $|OB|$ 可在上述求 $r_2$ 的过程中计算得到。
-3. 过点 $O$ 的圆 $A$,其反演图形是不过点 $O$ 的直线。
+3. 过点 $O$ 的圆 $A$ ,其反演图形是不过点 $O$ 的直线。
??? note
为什么是一条直线呢?因为圆 $A$ 上无限接近点 $O$ 的一点,其反演点离点 $O$ 无限远。
## 例题
-### [「ICPC 2013 杭州赛区」Problem of Apollonius](https://vjudge.net/problem/HDU-4773)
+### [「ICPC 2013 杭州赛区」Problem of Apollonius](https://vjudge.net/problem/HDU-4773)
#### 题目大意
首先考虑解析几何解法,似乎很难求解。
-考虑以需要经过的点为反演中心进行反演(反演半径任意),所求的圆的反演图形是一条直线(应用性质 $3$),且与给出题目给出两圆的反演图形(性质 $2$)相切(性质 $4$)。
+考虑以需要经过的点为反演中心进行反演(反演半径任意),所求的圆的反演图形是一条直线(应用性质 $3$ ),且与给出题目给出两圆的反演图形(性质 $2$ )相切(性质 $4$ )。
于是题目经过反演变换后转变为:求两圆的所有公切线。
??? note "示例代码"
```cpp
- #include <iostream>
- #include <cstdio>
#include <algorithm>
+ #include <cmath>
+ #include <cstdio>
#include <cstring>
+ #include <iostream>
#include <vector>
- #include <cmath>
using namespace std;
+ ```
const double EPS = 1e-8; //精度系数
const double PI = acos(-1.0); //π
## 练习
-[「ICPC 2017 南宁赛区网络赛」Finding the Radius for an Inserted Circle](https://nanti.jisuanke.com/t/A1283)
+ [「ICPC 2017 南宁赛区网络赛」Finding the Radius for an Inserted Circle](https://nanti.jisuanke.com/t/A1283)
-[「CCPC 2017 网络赛」The Designer](https://vjudge.net/problem/HDU-6158)
+ [「CCPC 2017 网络赛」The Designer](https://vjudge.net/problem/HDU-6158)
## References
-* [Inversive geometry - Wikipedia](https://en.wikipedia.org/wiki/Inversive_geometry)
+- [Inversive geometry - Wikipedia](https://en.wikipedia.org/wiki/Inversive_geometry)
-* [圆的反演变换 - ACdreamers的博客](https://blog.csdn.net/acdreamers/article/details/16966369)
+- [圆的反演变换 - ACdreamers 的博客](https://blog.csdn.net/acdreamers/article/details/16966369)