cn8888 发表于 2015-10-12 18:45:51

本帖最后由 cn8888 于 2015-10-12 18:48 编辑


Clear["Global`*"];(*Clear all variables*)
sol=Solve[{A*(2*x-r*cosx)+B*(2*y-r*sinx)+C==0,
          (x-r*cosx)*r*cosx+(y-r*sinx)*r*sinx==0},
          {cosx,sinx}];
out=cosx^2+sinx^2/.sol;
FullSimplify@out




两个方程分别是:


\(\frac{{2{A^2}rx(C+3By)+{A^3}r(4{x^2}+{y^2})-Bx\sqrt{-{A^2}{r^2}(4{C^2}+(8{A^2}-{B^2}){x^2}+18ABxy-({A^2}-8{B^2}){y^2}+12C(Ax+By))}+Ay\sqrt{-{A^2}{r^2}(4{C^2}+(8{A^2}-{B^2}){x^2}+18ABxy-({A^2}-8{B^2}){y^2}+12C(Ax+By))}+ABr(2Cy+B({x^2}+4{y^2}))}}{{2A({A^2}+{B^2}){r^3}}}=1\)

\(\frac{{2{A^2}rx(C+3By)+{A^3}r(4{x^2}+{y^2})+Bx\sqrt{-{A^2}{r^2}(4{C^2}+(8{A^2}-{B^2}){x^2}+18ABxy-({A^2}-8{B^2}){y^2}+12C(Ax+By))}-Ay\sqrt{-{A^2}{r^2}(4{C^2}+(8{A^2}-{B^2}){x^2}+18ABxy-({A^2}-8{B^2}){y^2}+12C(Ax+By))}+ABr(2Cy+B({x^2}+4{y^2}))}}{{2A({A^2}+{B^2}){r^3}}}=1\)


cn8888 发表于 2015-10-12 18:51:13

\(\frac{{2{A^2}rx(C+3By)+{A^3}r(4{x^2}+{y^2})-Bx\sqrt{-{A^2}{r^2}(4{C^2}+(8{A^2}-{B^2}){x^2}+18ABxy-({A^2}-8{B^2}){y^2}+12C(Ax+By))}+Ay\sqrt{-{A^2}{r^2}(4{C^2}+(8{A^2}-{B^2}){x^2}+18ABxy-({A^2}-8{B^2}){y^2}+12C(Ax+By))}+ABr(2Cy+B({x^2}+4{y^2}))}}{{2A({A^2}+{B^2}){r^3}}}=1\)

上面的代码的效果:
\(\frac{{2{A^2}rx(C+3By)+{A^3}r(4{x^2}+{y^2})-Bx\sqrt{-{A^2}{r^2}(4{C^2}+(8{A^2}-{B^2}){x^2}+18ABxy-({A^2}-8{B^2}){y^2}+12C(Ax+By))}+Ay\sqrt{-{A^2}{r^2}(4{C^2}+(8{A^2}-{B^2}){x^2}+18ABxy-({A^2}-8{B^2}){y^2}+12C(Ax+By))}+ABr(2Cy+B({x^2}+4{y^2}))}}{{2A({A^2}+{B^2}){r^3}}}=1\)

\[
\frac{{2{A^2}rx(C+3By)+{A^3}r(4{x^2}+{y^2})-Bx\sqrt{-{A^2}{r^2}(4{C^2}+(8{A^2}-{B^2}){x^2}+18ABxy-({A^2}-8{B^2}){y^2}+12C(Ax+By))}+Ay\sqrt{-{A^2}{r^2}(4{C^2}+(8{A^2}-{B^2}){x^2}+18ABxy-({A^2}-8{B^2}){y^2}+12C(Ax+By))}+ABr(2Cy+B({x^2}+4{y^2}))}}{{2A({A^2}+{B^2}){r^3}}}=1
\]

上面的代码的效果:
\[
\frac{{2{A^2}rx(C+3By)+{A^3}r(4{x^2}+{y^2})-Bx\sqrt{-{A^2}{r^2}(4{C^2}+(8{A^2}-{B^2}){x^2}+18ABxy-({A^2}-8{B^2}){y^2}+12C(Ax+By))}+Ay\sqrt{-{A^2}{r^2}(4{C^2}+(8{A^2}-{B^2}){x^2}+18ABxy-({A^2}-8{B^2}){y^2}+12C(Ax+By))}+ABr(2Cy+B({x^2}+4{y^2}))}}{{2A({A^2}+{B^2}){r^3}}}=1
\]

原来代码的效果还是有区别的!

cn8888 发表于 2015-10-12 18:56:15

Clear["Global`*"];(*Clear all variables*)
sol=Solve[{
          (*P点在直线上*)
          A*(2*x-r*cosx)+B*(2*y-r*sinx)+C==0,
          (*MQ垂直于OQ,O为原点圆心*)
          (x-r*cosx)*r*cosx+(y-r*sinx)*r*sinx==0},
          {cosx,sinx}];
(*这个值等于1*)
out=cosx^2+sinx^2/.sol;
(*尽一切可能化简方程,等于1*)
FullSimplify@out

上传一个有注释的代码,方便大家交流!

manthanein 发表于 2015-10-12 19:46:49

谢谢诸位关心这个不起眼的问题。下面是我用几何画板做出来的效果。
javascript:;

manthanein 发表于 2015-10-12 19:49:43

manthanein 发表于 2015-10-12 19:53:02

aimisiyou 发表于 2015-10-12 23:17:30

解个简单方程都离不开程序,有点退化迹象。

manthanein 发表于 2015-10-13 19:41:53

为简化方程,我认为可以将坐标原点选在点与圆心的连线和直线垂直时连线的中点,此时连线为横轴,线段垂直平分线为纵轴。
此时直线x+a=0,圆(x-a)^2+y^2=r^2
这样能否简化方程?

manthanein 发表于 2015-10-13 20:05:58

突然想到一个可能简单一些的方法。首先应用上一楼的设定。
设中点坐标为(x,y),点P坐标为(-a,p)。则切点坐标为(2x+a,2y-p)
圆心到切点的距离等于半径:
(2x)^2+(2y-p)^2=r^2
切线段和半径垂直:
(-x-a)(-2x)+(p-y)(p-2y)=0
这样方程是不是简化了?
页: 1 [2]
查看完整版本: 圆的切线段中点轨迹