2017-11-11 Sa Oct 消参
Prior versions:
- 2017-11-04 Sa Oct 消参
- 2017-11-10 Fr Oct 消参
2017-11-04 Sa
$ P(-3, 0) $ 在圆C $ (x-3)^2 + y^2 = 8^2 $ 内,动圆M与圆相切且过P点,求M点轨迹。
设切点 $ A(a, b) $,圆心 \(M(x, y)\),则有 \(R_M = MA = MP = R_C-MC\):
(a-3)^2 + b^2 &= 8^2 \\
\sqrt{(x-a)^2+(y-b)^2} &= \sqrt{(x+3)^2+y^2} \\
&= 8-\sqrt{(x-3)^2+y^2}
\end{aligned} \right. \]
UPD 2017-11-10 Fr 10:39PM
I thought about it at school on Monday. We can solve the relationship between \(a\) and \(b\) in $ (a-3)^2 + b^2 = 8^2 $, and \(x\) and \(y\) in $ \sqrt{(x+3)2+y2} = 8-\sqrt{(x-3)2+y2} $. Now there are just two unknowns left, and another equation \(\sqrt{(x-a)^2+(y-b)^2} = \sqrt{(x+3)^2+y^2}\). Then we can solve it.
On Monday I simplfied it by hand but the last step involved a polynomial with too much terms, thus I decided to go to Maxima at the weekend.
UPD 2017-11-11 Sa 2:50PM
Yesterday night, I have made some attempts on Maxima but failed. Let's do it again.
张惠妹01年专辑里的《记得》声音真细啊,可惜听了几遍就没有一开始听到的那种惊艳的感觉了。
第一次听到这首歌是JJ在一百天Live里唱记得+心墙+她说
,挑的三首写给女生的作品。
Maxima 5.25.0 http://maxima.sourceforge.net
using Lisp Clozure Common Lisp Version 1.7-r14925M (WindowsX8632)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) expand((x+3)^2+y^2-(8-sqrt((x-3)^2+y^2))^2)
;
2 2
(%o1) 16 sqrt(y + x - 6 x + 9) + 12 x - 64
(%i2) expand(16*16*(y^2+x^2-6*x+9)-(64-12*x)^2)
;
2 2
(%o2) 256 y + 112 x - 1792
(%i3) plot2d(%o2, [x,-10,10], [y,-10,10]);
plot2d: expression evaluates to non-numeric value everywhere in plotting range.
plot2d: nothing to plot.
(%o3) false
(%i4) plot2d(%o2=0, [x,-10,10], [y,-10,10]);
plot2d: expression evaluates to non-numeric value everywhere in plotting range.
plot2d: nothing to plot.
(%o4) false
(%i5) contour_plot(%o2=0, [x,-10,10], [y,-10,10]);contour_plot(%o2=0, [x,-10,10], [y,-10,10]);
(%o5)
(%i6)
(%o6)
(%i7) contour_plot(%o2, [x,-10,10], [y,-10,10]);
(%o7)
(%i8) expand((a-3)^2 + b^2 = 8^2)
;
2 2
(%o8) b + a - 6 a + 9 = 64
(%i9) expand((x-a)^2+(y-b)^2 = (x+3)^2+y^2)
;
2 2 2 2 2 2
(%o9) y - 2 b y + x - 2 a x + b + a = y + x + 6 x + 9
(%i10) expand((x-a)^2+(y-b)^2 - (x+3)^2+y^2);
2 2 2
(%o10) 2 y - 2 b y - 2 a x - 6 x + b + a - 9
(%i11) solve([(a-3)^2 + b^2 = 8^2], [b]);
2 2
(%o11) [b = - sqrt(- a + 6 a + 55), b = sqrt(- a + 6 a + 55)]
(%i12) solve([(a-3)^2 + b^2 = 8^2], [a]);
2 2
(%o12) [a = 3 - sqrt(64 - b ), a = sqrt(64 - b ) + 3]
(%i13) solve([%o2], [y]);
2 2
sqrt(7) sqrt(16 - x ) sqrt(7) sqrt(16 - x )
(%o13) [y = - ---------------------, y = ---------------------]
4 4
(%i14) solve([(x-3)^2 + y^2 = 8^2], [y]);
2 2
(%o14) [y = - sqrt(- x + 6 x + 55), y = sqrt(- x + 6 x + 55)]
(%i15) tentex(%o9);
2 2 2 2 2 2
(%o15) tentex(y - 2 b y + x - 2 a x + b + a = y + x + 6 x + 9)
(%i16) load(tentex);
;Compiler warnings for "C:/PROGRA~2/MAXIMA~1.0/share/maxima/5.25.0/share/tensor/tentex.lisp" :
; In TENREFORM: Undefined function CONTI
; In TENREFORM: Undefined function CONTI
; In TENREFORM: Undefined function NAME
; In TENREFORM: Undefined function NAME
; In TENREFORM: Undefined function DERI
; In TENREFORM: Undefined function DERI
; In TENREFORM: Undefined function COVI
; In TENREFORM: Undefined function DERI
; In TENREFORM: Undefined function COVI
; In TENREFORM: Undefined function COVI
; In TENREFORM: Undefined function RPOBJ
(%o16) C:/PROGRA~2/MAXIMA~1.0/share/maxima/5.25.0/share/tensor/tentex.lisp
(%i17) tentex(%o9);
Maxima encountered a Lisp error:
Undefined function RPOBJ called with arguments (((MEQUAL SIMP) ((MPLUS SIMP) ((MEXPT SIMP) $A 2) ((MEXPT SIMP) $B 2) ((MTIMES SIMP) -2 $A $X) ((MEXPT SIMP) $X 2) ((MTIMES SIMP) -2 $B $Y) ((MEXPT SIMP) $Y 2)) ((MPLUS SIMP) 9 ((MTIMES SIMP) 6 $X) ((MEXPT SIMP) $X 2) ((MEXPT SIMP) $Y 2)))) .
Automatically continuing.
To enable the Lisp debugger set *debugger-hook* to nil.
(%i18) tentex(a+b);
Maxima encountered a Lisp error:
Undefined function RPOBJ called with arguments (((MPLUS SIMP) $A $B)) .
Automatically continuing.
To enable the Lisp debugger set *debugger-hook* to nil.
(%i19) load(itensor);
;Compiler warnings for "C:/PROGRA~2/MAXIMA~1.0/share/maxima/5.25.0/share/tensor/itensor.lisp" :
; In $LC_L: Unused lexical variable L2
;Compiler warnings for "C:/PROGRA~2/MAXIMA~1.0/share/maxima/5.25.0/share/tensor/itensor.lisp" :
; In $LC_U: Unused lexical variable L1
(%o19) C:/PROGRA~2/MAXIMA~1.0/share/maxima/5.25.0/share/tensor/itensor.lisp
(%i20) load(tentex);
(%o20) C:/PROGRA~2/MAXIMA~1.0/share/maxima/5.25.0/share/tensor/tentex.lisp
(%i21) tentex(%o9);
$$y^2-2\,b\,y+x^2-2\,a\,x+b^2+a^2=y^2+x^2+6\,x+9$$
(%o21) false
(%i22) tentetx(%o8);
2 2
(%o22) tentetx(b + a - 6 a + 9 = 64)
(%i23) tentex(%o8);
$$b^2+a^2-6\,a+9=64$$
(%o23) false
(%i24)
\]
\]
(%i24) solve([%o8], [a^2+b^2]);
(%o24) []
(%i25) %o9
;
2 2 2 2 2 2
(%o25) y - 2 b y + x - 2 a x + b + a = y + x + 6 x + 9
(%i26) expand(2 a);
incorrect syntax: A is not an infix operator
(%i26) incorrect syntax: Premature termination of input at ;.
(%i26) expand(2*a);
(%o26) 2 a
(%i27) expand(y^2-2*b*y+x^2-2*a*x+64-9+6*a-y^2-x^2-6*x-9);
(%o27) - 2 b y - 2 a x - 6 x + 6 a + 46
(%i28) tentex(%);
$$-2\,b\,y-2\,a\,x-6\,x+6\,a+46$$
(%o28) false
(%i29)
\]
3:14 PM
(%i29) expend(2*b*y = - 2*a*x - 6*x + 6*a + 46);
(%o29) expend(2 b y = - 2 a x - 6 x + 6 a + 46)
(%i30) tentex(%);
$${\it expend}\left(2\,b\,y=-2\,a\,x-6\,x+6\,a+46\right)$$
(%o30) false
(%i31) expand(2*b*y = - 2*a*x - 6*x + 6*a + 46);
(%o31) 2 b y = - 2 a x - 6 x + 6 a + 46
(%i32) tentex(%);
$$2\,b\,y=-2\,a\,x-6\,x+6\,a+46$$
(%o32) false
\]
(%i33) %i8
;
2 2
(%o33) expand(b + (a - 3) = 64)
(%i34) %o8;
2 2
(%o34) b + a - 6 a + 9 = 64
(%i35) expand((2*b*y)^2 = (- 2*a*x - 6*x + 6*a + 46)^2);
2 2 2 2 2 2 2 2
(%o35) 4 b y = 4 a x + 24 a x + 36 x - 24 a x - 256 a x - 552 x + 36 a
+ 552 a + 2116
(%i36) b^2 := 64 - a^2 + 6*a - 9;
define: argument cannot be an atom or a subscripted memoizing function; found:
2
-- an error. To debug this try: debugmode(true);
(%i37) expand(4*(64 - a^2 + 6*a - 9)*y*y - (- 2*a*x - 6*x + 6*a + 46)^2);
2 2 2 2 2 2 2 2 2
(%o37) - 4 a y + 24 a y + 220 y - 4 a x - 24 a x - 36 x + 24 a x
2
+ 256 a x + 552 x - 36 a - 552 a - 2116
(%i38) %o2;
2 2
(%o38) 256 y + 112 x - 1792
(%i39) solve([%o2], [y]);
2 2
sqrt(7) sqrt(16 - x ) sqrt(7) sqrt(16 - x )
(%o39) [y = - ---------------------, y = ---------------------]
4 4
(%i40) solve([%o2], [y*y]);
2
2 7 x - 112
(%o40) [y = - ----------]
16
(%i41) solve([%o2], [y^2]);
2
2 7 x - 112
(%o41) [y = - ----------]
16
(%i42) %o41;
2
2 7 x - 112
(%o42) [y = - ----------]
16
(%i43) expand(4*(64 - a^2 + 6*a - 9)*%o41 - (- 2*a*x - 6*x + 6*a + 46)^2);
2 2 2 2 2 2 2 2 2
(%o43) [- 4 a y + 24 a y + 220 y - 4 a x - 24 a x - 36 x + 24 a x
2
+ 256 a x + 552 x - 36 a - 552 a - 2116 =
2 2 2 2
9 a x 69 a x 529 x 2 2
- ------- - ------- - ------ + 24 a x + 256 a x + 552 x - 64 a - 384 a - 576]
4 2 4
(%i44) expand(4*(64 - a^2 + 6*a - 9)*(-1/16)*(7*x^2-112) - (- 2*a*x - 6*x + 6*a + 46)^2);
2 2 2 2
9 a x 69 a x 529 x 2 2
(%o44) - ------- - ------- - ------ + 24 a x + 256 a x + 552 x - 64 a - 384 a
4 2 4
- 576
(%i45) solve([%o44], [x]);
16 a + 48
(%o45) [x = ---------]
3 a + 23
(%i46) solve([y^2=(-1/16)*(7*((16*a+48)/(3*a+23))^2-112)], [y^2]);
2
2 49 a - 294 a - 2695
(%o46) [y = - --------------------]
2
9 a + 138 a + 529
(%i47) x:=%o44;
define: argument cannot be an atom or a subscripted memoizing function; found:
x
-- an error. To debug this try: debugmode(true);
(%i48) x:=(16*a+48)/(3*a+23);
define: argument cannot be an atom or a subscripted memoizing function; found:
x
-- an error. To debug this try: debugmode(true);
(%i49) x
;
(%o49) x
(%i50) x(a):=(16*a+48)/(3*a+23);
16 a + 48
(%o50) x(a) := ---------
3 a + 23
(%i51) x^2(a);
incorrect syntax: Syntax error
(%i51) incorrect syntax: Too many )'s
(%i51) incorrect syntax: Premature termination of input at ;.
(%i51) (x(a))^2;
2
(16 a + 48)
(%o51) ------------
2
(3 a + 23)
(%i52) y2(a):=(-1/16)*(7*((16*a+48)/(3*a+23))^2-112);
- 1 16 a + 48 2
(%o52) y2(a) := --- (7 (---------) - 112)
16 3 a + 23
(%i53) x2(a):=(x(a))^2;
2
(%o53) x2(a) := x (a)
(%i54) plot2d([parametric, sqrt(x2), sqrt(y2), [a,-5,11], [nticks,2000]]);
set_plot_option: unknown plot option: a
-- an error. To debug this try: debugmode(true);
(%i55) plot2d([parametric, sqrt(x2(a)), sqrt(y2(a)), [a,-5,11], [nticks,2000]]);
set_plot_option: unknown plot option: a
-- an error. To debug this try: debugmode(true);
(%i56) x2(a)/16+y2(a)/7;
2
7 (16 a + 48)
-------------- - 112
2 2
(16 a + 48) (3 a + 23)
(%o56) -------------- - --------------------
2 112
16 (3 a + 23)
(%i57) expand(%o56);
2
256 a 1536 a 2304
(%o57) ---------------------- + ---------------------- + ----------------------
2 2 2
144 a + 2208 a + 8464 144 a + 2208 a + 8464 144 a + 2208 a + 8464
2
16 a 96 a 144
- ------------------ - ------------------ - ------------------ + 1
2 2 2
9 a + 138 a + 529 9 a + 138 a + 529 9 a + 138 a + 529
(%i58)
about that magic number:
圆心m到p(-3,0) 的距离为r
圆心m到圆心c距离为:R-r.
MP+MC=R=8
所以M的轨迹为 以(-3,0)和(3,0)为焦点的椭圆.
x^2/16 + y^2/7 =1
3:32 PM
I thought I have found the answer at %i50
but it's not. Let's see what's the wrong.
(a-3)^2 + b^2 &= 8^2 \\
\sqrt{(x-a)^2+(y-b)^2} &= \sqrt{(x+3)^2+y^2} \\
&= 8-\sqrt{(x-3)^2+y^2}
\end{aligned} \right. \]
(%i8) expand((a-3)^2 + b^2 = 8^2)
;
2 2
(%o8) b + a - 6 a + 9 = 64
\]
(%i1) expand((x+3)^2+y^2-(8-sqrt((x-3)^2+y^2))^2)
;
2 2
(%o1) 16 sqrt(y + x - 6 x + 9) + 12 x - 64
(%i2) expand(16*16*(y^2+x^2-6*x+9)-(64-12*x)^2)
;
2 2
(%o2) 256 y + 112 x - 1792
(%i41) solve([%o2], [y^2]);
2
2 7 x - 112
(%o41) [y = - ----------]
16
\sqrt{(x+3)^2+y^2} &= 8-\sqrt{(x-3)^2+y^2} \\
\Longrightarrow 16\,\sqrt{y^2+x^2-6\,x+9}+12\,x-64 &= 0 \\
\Longrightarrow 256\,y^2+112\,x^2-1792 &= 0 \\
\Longrightarrow y^2 &= -{{7\,x^2-112}\over{16}}
\end{aligned} \]
(%i10) expand((x-a)^2+(y-b)^2 - (x+3)^2+y^2);
2 2 2
(%o10) 2 y - 2 b y - 2 a x - 6 x + b + a - 9
\sqrt{(x-a)^2+(y-b)^2} &= \sqrt{(x+3)^2+y^2} \\
\Longrightarrow (x-a)^2+(y-b)^2 &= (x+3)^2+y^2 \\
\Longrightarrow 2\,y^2-2\,b\,y-2\,a\,x-6\,x+b^2+a^2-9 &= 0
\end{aligned} \]
4:04 PM
I'll do it next week. Do course-selection spider first.