反演变换
引入
反演变换适用于题目中存在多个圆/直线之间的相切关系的情况。利用反演变换的性质,在反演空间求解问题,可以大幅简化计算。
定义
给定反演中心点
- 点
在射线 上
则称点
解释
下图所示即为平面上一点
性质
-
圆
外的点的反演点在圆 内,反之亦然;圆 上的点的反演点为其自身。 -
不过点
的圆 ,其反演图形也是不过点 的圆。-
记圆
半径为 ,其反演图形圆 半径为 ,则有:证明:
根据反演变换定义:
消掉
,解方程即可。 -
记点
坐标为 ,点 坐标为 ,点 坐标为 ,则有:其中
可在上述求 的过程中计算得到。
-
-
过点
的圆 ,其反演图形是不过点 的直线。note为什么是一条直线呢?因为圆
上无限接近点 的一点,其反演点离点 无限远。 -
两个图形相切,则他们的反演图形也相切。
例题
「ICPC 2013 杭州赛区」Problem of Apollonius
题目大意
求过两圆外一点,且与两圆相切的所有的圆。
解法
首先考虑解析几何解法,似乎很难求解。
考虑以需要经过的点为反演中心进行反演(反演半径任意),所求的圆的反演图形是一条直线(应用性质
于是题目经过反演变换后转变为:求两圆的所有公切线。
求出公切线后,反演回原平面即可。
示例代码
练习
「ICPC 2017 南宁赛区网络赛」Finding the Radius for an Inserted Circle
参考资料与拓展阅读
贡献者:@Jimmy@Menci@Ir1dXD@mgt@H-J-Granger@liupo@hyp1231@Yupeng
本页面最近更新:2/3/2023, 12:00:00 AM,更新历史
发现错误?想一起完善? 在 GitHub 上编辑此页!
本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用