错在哪
圆与直线的位置关系只看一个数:圆心到直线的距离 d 与半径 r。d<r 相交、d=r 相切、d>r 相离——这条判据干净利落,但它判的是整条直线。
题目里出现的常常不是直线,而是直线的一段:三角形的一条边、线段 AB、区间 [0,4] 上的那一段。直线上的两个交点可能一个在段内、一个在段外,甚至两个都在段外。这时 d<r 仍然成立,段与圆的公共点却可能只有一个、甚至一个也没有。
反过来也有:段的端点恰好落在圆上时,这个点同属相邻两条边,计数时只能算一次。
翻车现场
2009 年浙江卷(理)第 7 题:三边为 3,4,5 的直角三角形,问它的边与半径 1 的圆最多有几个公共点。
把直角顶点放在原点,两条直角边沿坐标轴,取圆心 (21,21)。到 x 轴的距离是 21<1,按直线的判据「有两个交点」,解出来是
x=21±1−41=21±23,
即 x≈1.366 与 x≈−0.366。后一个是负数——它在 x 轴这条直线上,却不在 [0,4] 这条边上。这条边实际只贡献 1 个公共点。
不做这一步核验的人,会以为「三条边到圆心的距离都小于 1 就能得 6 个点」,一路答到 6。
怎么防
- 判据分两步写:第一步用 d 与 r 定「直线上有几个交点」,第二步把交点的坐标(或参数 t)解出来,逐个验它在不在段内。别把第一步的结论直接当答案。
- 用参数形式算:把线段写成 P=U+t(V−U), t∈[0,1],代进圆方程解 t,只留 t∈[0,1] 的根。段内段外一目了然,不必事后补验。
- 端点单独过一遍:端点在圆上时,它同时属于两条边;数总数时去重。
- 收口时回头读题:题目说的是「直线」「边」「线段」还是「弧」——这个词决定了要不要做第二步。