(無題)

 投稿者:  投稿日:2014年 3月24日(月)00時28分21秒
  我々は 若き飯高先生の頃の血が逆流した 二重接線を 追体験し 其処に停留状態で 悲嘆中..先に進めず...

●2次関数と円x^2+y^2=r^2との共通接線  を 飯高先生が推奨された @十進BASIC@ を用いて

            具現された方に 邂逅しました(2014.3.23) ↓ ;

                 其れを 味読願います。

               (どの位 プログラムを組む愉しみを 味われたか 忖度しつつ)

-------------------------------------------------------------------------------------
!図形と方程式

SET WINDOW -8,8,-8,8 !表示領域を設定する ※調整が必要である
DRAW grid !XY座標

PUBLIC NUMERIC cEps !精度 ※調整が必要である
LET cEPS=1E-8
PUBLIC NUMERIC cINF !∞ ※調整が必要である
LET cINF=999999

PUBLIC NUMERIC gcCOLOR,gcSTYLE,gcLINESTYLE !描画色、線種
LET gcCOLOR=1 !黒色
LET gcLINESTYLE=1 !実線
!------------------------------ ここまでがサブルーチン


!●2次関数と円x^2+y^2=r^2との共通接線

LET A=1/2
LET B=0
LET C=-5
CALL gcDRAWFNC2(A,B,C,-8,8)

LET R=3 !x^2+y^2=r^2
CALL gcDRAWCIRCLE(0,0,-R^2,"",-1)


!2次関数y=Ax^2+Bx+C上の点(a,Aa^2+Ba+C)における接線
!y-f(a)=f'(a)(x-a) ∴y=(2Aa+B)x+(C-Aa^2)
!これが、円x^2+y^2=R^2と接するには、円の中心との距離が半径となる必要がある。
!| C-Aa^2 |/√{(2Aa+B)^2+(-1)^2}=R
!∴A^2a^4 -2(2A^2R^2+AC)a^2 -4ABR^2a -(B^2+1)R^2+C^2=0
!この4次方程式の実数解が2次関数上の接点である。

LET aa=A^2 !x^4の係数
LET bb=0 !x^3
LET cc=-2*(2*A^2*R^2+A*C) !x^2
LET dd=-4*A*B*R^2 !x
LET ee=-(B^2+1)*R^2+C^2 !1

DIM x(4)
CALL Solve4Equ(aa,bb,cc,dd,ee, x,K) !実数解を得る
PRINT K
MAT PRINT x;
FOR i=1 TO K
   CALL gcDRAWPOINT(x(i),gcFNC2VAL(x(i),A,B,C),STR$(i))

   LET L=2*A*x(i)+B !2次関数上の点における接線
   LET M=-1
   LET N=C-A*x(i)^2
   CALL gcDRAWLINE(L,M,N,"",-1)
NEXT i

END


!考察
!2次関数y=Ax^2+Bx+C上の点(a,Aa^2+Ba+C)における接線
!y-f(a)=f'(a)(x-a) ∴y=(2Aa+B)x+(C-Aa^2)
!これが、円(x-P)^2+(y-Q)^2=R^2と接するには、円の中心との距離が半径となる必要がある。
!| (2Aa+B)P-Q+C-Aa^2 |/√{(2Aa+B)^2+(-1)^2}=R
!((2Aa+B)P-Q+C-Aa^2)^2=R^2{(2Aa+B)^2+(-1)^2}
!{(BP-Q+C)+2APa-Aa^2}^2=R^2{4A^2a^2+4ABa+B^2+1}
!(BP-Q+C)^2+(BP-Q+C)(2APa-Aa^2)+(2APa-Aa^2)^2=R^2{4A^2a^2+4ABa+B^2+1}
!(BP-Q+C)^2+2AP(BP-Q+C)a-A(BP-Q+C)a^2 +4A^2P^2a^2-4A^2Pa^3+A^2a^4=R^2{4A^2a^2+4ABa+B^2+1}
!A^2a^4 -4A^2Pa^3 -{A(BP-Q+C)-4A^2(P^2-R^2)}a^2 +2AP(BP-Q+C-2ABR^2)a +(BP-Q+C)^2-(B^2+1)R^2=0


EXTERNAL SUB Solve4Equ(a4,a3,a2,a1,a0, x(),K) !4次方程式 Ax^4+Bx^3+Cx^2+Dx+E=0、A≠0 の解
!フェラーリ(Ferrari)の方法

!x=y-a3/(4*a4)を代入して、3次の項を消去すると、
!y^4+p*y^2+q*y+r=0
!ただし、
! p=-3*a3^2/(8*a4^2)+a2/a4
! q=a3^3/(8*a4^3)-a2*a3/(2*a4^2)+a1/a4
! r=-3*a3^4/(256*a4^4)+a2*a3^2/(16*a4^3)-a1*a3/(4*a4^2)+a0/a4

LET p=(-3*a3^2/8/a4 + a2)/a4
LET q=((a3^3/(2*a4) - 2*a2*a3)/(2*a4) + 2*a1)/(2*a4)
LET r=(((-3*a3^4/(4*a4) + 4*a2*a3^2)/(4*a4) - 4*a1*a3)/(4*a4) + 4*a0)/(4*a4)

!!!PRINT p;q;r !debug

!q=0のとき、
! 複2次式 (y^2 - (-p-√{p^2-4r})/2)(y^2 - (-p+√{p^2-4r})/2)=0 と因数分解される。
!q≠0のとき、
! y^4=-p*y^2-q*y-rとして、両辺にy^2*z+z^2/4を加えて、変形すると、
! (y^2+z/2)^2=(z-p){y-q/(2*(z-p))}^2 + {1/(4*(z-p))}(z^3-p*z^2-4*r*z+4*p*r-q^2)
! ここで、z^3-p*z^2-4*r*z+4*p*r-q^2=0となるzを1つ求めると、
! 同様に、複2次式
!  (y^2+z/2 - √(z-p){y-q/(2*(z-p))})(y^2+z/2 + √(z-p){y-q/(2*(z-p))})=0
! と因数分解できる。
!後は、この2次方程式を解けばよい。

IF q=0 THEN
   LET t=p^2-4*r !判別式
   IF t>0 THEN
      CALL Solve2Equ(1,0,-(-p-SQR(t))/2 ,y1,y2,K1)
      CALL Solve2Equ(1,0,-(-p+SQR(t))/2 ,y3,y4,K2)
   ELSEIF t=0 THEN !(y^2 + p/2)^2=0の形
      CALL Solve2Equ(1,0,p/2 ,y1,y2,K1)
      LET K2=0
   ELSE !2式とも虚数解
      LET K1=0
      LET K2=0
   END IF

ELSE
   CALL Solve3Equ(1,-p,-4*r,4*p*r-q^2, z1,z2,z3,KK)
   LET t=SQR(z1-p)

   CALL Solve2Equ(1,-t, q/(2*t)+z1/2, y1,y2,K1)
   CALL Solve2Equ(1, t,-q/(2*t)+z1/2, y3,y4,K2)

END IF

LET K=0 !実数解の個数
IF K1>0 THEN
   LET K=K+1
   LET x(K)=y1-a3/(4*a4) !1番目 x=y-a3/(4*a4)
   IF K1=2 THEN
      LET K=K+1
      LET x(K)=y2-a3/(4*a4) !2番目
   END IF
END IF
IF K2>0 THEN
   LET K=K+1
   LET x(K)=y3-a3/(4*a4) !3番目
   IF K2=2 THEN
      LET K=K+1
      LET x(K)=y4-a3/(4*a4) !4番目
   END IF
END IF
END SUB

!------------------------------


MERGE "FV.LIB" !関数とグラフ、図形と方程式
MERGE "EQU.LIB" !整式、方程式


=============================================

                 少女 A は ↑をみた刹那

            双方 の ■ 双対曲線を 多様な発想で求め;

c1; x^2 + y^2 - r^2==0                c1^* ;_________________==0
c2; y - (A*x^2 + B*x + C)==0          c2^* ;_________________==0

   c1^*∩c2^* を求め瞬時に図示可能と  方針を 述べた。


   云うだけ番長なら 誰でも叶う発想ね と カゲの声   が聴こえ 為した;

         c1^* ;(r^2 x^2+r^2 y^2-1)=0
         c2^* ; (4 A C y^2+4 A y-B^2 y^2-2 B x y-x^2)=0

         この交点なら 最高4 で 4本の共通接線ねっ! と 妹の a.

  例示の

LET A=1/2
LET B=0
LET C=-5

r=3 は 特殊すぎて 2本ねっと  と 妹の a.


4本の共通接線が 欲しい! と 欲求 され 少女 A が 期待にこたえた;

<< Graphics`ImplicitPlot`
{(-5 - 2 x - x^2/2 + y) (-9 + x^2 + y^2) ==
   0, (-x^2 + 2 y - 4 x y + 6 y^2) (-1 + 9 x^2 + 9 y^2) == 0,
  1.` - 0.3333333333333333` y == 0,
  1 + (0.32229741684803903` ) x + (0.08506166118876686` ) y == 0,
  1 + (0.2557143513185063` ) x - (0.213825353129292` ) y == 0,
  1 - (0.3318579220126996`) x + (0.03132779450462768` ) y == 0};
ImplicitPlot[%, {x, -8, 9}, {y, -5, 48 - 20},
PlotStyle -> {{Thickness[0.012],
    RGBColor[1, 0, 0]}, {Thickness[0.00712],
    RGBColor[0, 0, 1]}, {Thickness[0.01],
    RGBColor[0.3, 0.31, 0.3]}, {Thickness[0.01],
    RGBColor[0.3, 0.31, 0.3]}, {Thickness[0.01],
    RGBColor[0.3, 0.31, 0.3]}, {Thickness[0.01],
    RGBColor[0.3, 0.31, 0.3]},
   {Thickness[0.015], RGBColor[0.913, 0.3, 0.961]},
   {Thickness[0.015], RGBColor[0.913, 0.3, 0.961]}},
AspectRatio -> Automatic, PlotPoints -> 276 - 100]

グラフは 伊達に描くものではありません と。



    薬物  依存症の 少女 A の 両親が 依存した 顛末 の コピペ;



  双対が 円 と 双曲線 で 交点を ロハで と 在りがたや


       \\\\\\\\\\\\\

       行間埋め子さんが 方針はずばり述べているが

       上の行間が空き過ぎ  故

       必ず 行間を丁寧に埋めて!!!! と 要望した。


       要望をシカトしないで 此処に投稿願います;

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\


   特殊過ぎる

    例示の

LET A=1/2
LET B=0
LET C=-5

r=3 を 双対の視座で 具



\\\\\\\\\\\



     草の根 民間 レベル での 真の 相互尊重 に 休日フル利用で

                    感謝致します。

            それぞれの お国言葉で その感動 語句を

               付記願います.


           <----土筆が 恥ずかしげに ...と



            の 地方も在り....


      
 

戻る