例 1
设出圆的方程 (x-a)^2+(y-b)^2=r^2,计算圆与直线的两个交点,算出弦长,列出两个关于 a,b,r 的方程,消去 r,得到关于 a,b 的方程,即要求的轨迹方程.
Mathematica 代码:
EuclideanDistance @@ Values@Solve[{(x – a)^2 + (y – b)^2 == r^2, #}, {x, y}] & /@ {3 x – y == 0, 3 x + y == 0} == {8, 4} /.
Abs -> Identity // Simplify
Eliminate[%, r]
例 2
计算直线和圆的两个交点,再算出线段中点坐标,结合 a,b,c 成等差数列,消去 a,b,c 得出轨迹方程,再将轨迹方程化为圆的标准形式.
Mathematica 代码:
{x, y} == Mean@Values@Solve[{a x + b y + c == 0, x^2 + y^2 == 5}, {x, y}] // Together
Eliminate[% && 2 b == a + c, {a, b}]
(x – a)^2 + (y – b)^2 == r /. SolveAlways[-Subtract @@ % == (x – a)^2 + (y – b)^2 – r, {x, y}]// TraditionalForm
发布者:Cara,转载请注明出处:http://www.makercollider.com/course/1820