1.方程:

两个圆方程为: ∥ X − C i ∥ 2 = r i 2 ⋯ ( 1 ) \left \| X-C_i \right \|^2=r_i^2\cdots(1) ∥X−Ci​∥2=ri2​⋯(1)

2.交点分析:

可以设 u ⃗ = C 1 − C 0 = ( u 0 , u 1 ) , d e f i n e : v ⃗ = ( u 1 , − u 0 ) \vec{u}=C_1-C_0=(u_0,u_1),define: \vec{v}=(u_1,-u_0) u =C1​−C0​=(u0​,u1​),define:v =(u1​,−u0​)
有: ∥ u ⃗ ∥ 2 = ∥ v ⃗ ∥ 2 = ∥ C 1 − C 0 ∥ 2 , u ⃗ ⋅ v ⃗ = 0. \left \| \vec{u} \right \|^2=\left \| \vec{v} \right \|^2=\left \| C_1-C_0 \right \|^2,\vec{u}\cdot\vec{v}=0. ∥u ∥2=∥v ∥2=∥C1​−C0​∥2,u ⋅v =0.
设交点为: X = C 0 + s u ⃗ + t v ⃗ X=C_0+s\vec{u}+t\vec{v} X=C0​+su +tv ,也可写作 X = C 1 + ( s − 1 ) u ⃗ + t v ⃗ X=C_1+(s-1)\vec{u}+t\vec{v} X=C1​+(s−1)u +tv
将上式分别带入式(1),可以得到:
( s 2 + t 2 ) ∥ u ⃗ ∥ 2 = r 0 2 ⋯ ( 2 ) (s^2+t^2)\left \| \vec{u} \right \|^2=r_0^2\cdots(2) (s2+t2)∥u ∥2=r02​⋯(2)
( ( s − 1 ) 2 + t 2 ) ∥ u ⃗ ∥ 2 = r 0 2 ⋯ ( 3 ) ((s-1)^2+t^2)\left \| \vec{u} \right \|^2=r_0^2\cdots(3) ((s−1)2+t2)∥u ∥2=r02​⋯(3)
(2),(3)可化简为:
s = 1 2 ( r 0 2 − r 1 2 ∥ u ⃗ ∥ 2 + 1 ) ⋯ ( 4 ) s=\frac{1}{2}(\frac{r_0^2-r_1^2}{\left \| \vec{u} \right \|^2}+1)\cdots(4) s=21​(∥u ∥2r02​−r12​​+1)⋯(4)
(4)带入(2)可得:
t 2 = − ( ∥ u ⃗ ∥ 2 − ( r 0 + r 1 ) 2 ) ( ∥ u ⃗ ∥ 2 − ( r 0 − r 1 ) 2 ) 4 ∥ u ⃗ ∥ 4 t^2=-\frac{( \left \| \vec{u} \right \|^2 -(r_0+r_1)^2)(\left \| \vec{u} \right \|^2 -(r_0-r_1)^2)} {4 \left \| \vec{u} \right \|^4} t2=−4∥u ∥4(∥u ∥2−(r0​+r1​)2)(∥u ∥2−(r0​−r1​)2)​
要使得上式有解,需保证分子小于0即可。

3.结论

有解条件: ( r 0 − r 1 ) 2 ≤ ∥ u ⃗ ∥ 2 ≤ ( r 0 + r 1 ) 2 (r_0-r_1)^2\le\left \| \vec{u} \right \|^2 \le(r_0+r_1)^2 (r0​−r1​)2≤∥u ∥2≤(r0​+r1​)2
外切: ∥ u ⃗ ∥ 2 = ( r 0 + r 1 ) 2 \left \| \vec{u} \right \|^2 =(r_0+r_1)^2 ∥u ∥2=(r0​+r1​)2
内切: ∥ u ⃗ ∥ 2 = ( r 0 − r 1 ) 2 \left \| \vec{u} \right \|^2 =(r_0-r_1)^2 ∥u ∥2=(r0​−r1​)2
两个圆是同一个圆: ∥ u ⃗ ∥ 2 = 0 , r 1 = r 0 \left \| \vec{u} \right \|^2=0,r_1=r_0 ∥u ∥2=0,r1​=r0​
由(4)参数值为 s , t s,t s,t,可得解: t = ± − ( ∥ u ⃗ ∥ 2 − ( r 0 + r 1 ) 2 ) ( ∥ u ⃗ ∥ 2 − ( r 0 − r 1 ) 2 ) 4 ∥ u ⃗ ∥ 4 , s = 1 2 ( r 0 2 − r 1 2 ∥ u ⃗ ∥ 2 + 1 ) t=\pm\sqrt{-\frac{( \left \| \vec{u} \right \|^2 -(r_0+r_1)^2)(\left \| \vec{u} \right \|^2 -(r_0-r_1)^2)} {4 \left \| \vec{u} \right \|^4}},s=\frac{1}{2}(\frac{r_0^2-r_1^2}{\left \| \vec{u} \right \|^2}+1) t=±−4∥u ∥4(∥u ∥2−(r0​+r1​)2)(∥u ∥2−(r0​−r1​)2)​ ​,s=21​(∥u ∥2r02​−r12​​+1)
交点为: X = C 0 + s u ⃗ + t v ⃗ X=C_0+s\vec{u}+t\vec{v} X=C0​+su +tv

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐