|
三角形ABCの各辺の中点で内接する楕円
三角形の3点を、複素平面上の複素数A,B,Cとする。
複素数係数の3次方程式 f(x)=(x-A)(x-B)(x-C)=0 を考える。
f'(x)=3x^2-2(A+B+C)x+(AB+BC+CA)=0 の2解は、楕円の焦点となる。
f''(x)=6x-2(A+B+C)=0 の1解は、楕円の中点で、三角形の重心となる。
例
A(5,3)、B(-7,1)、C(2,-4)のとき、
f(x)=x^3-26x+(140-120i)=0なので、f'(x)=3x^2-26=0 ∴x=±(√78)/3
焦点は、( ±(√78)/3, 0 )
A(5,1)、B(1,3)、C(-6,-4)のとき、
f(x)=x^3-(18+32i)x+(-52+104i)=0なので、f'(x)=3x^2-(18+32i)=0
∴x=±√{54+96i)}/3 =±( √{3(√337)+27} + ( √{3(√337)-27} )i )/3
焦点は、( ±√{3(√337)+27}/3 , ±( √{3(√337)-27}/3 )
OPTION ARITHMETIC COMPLEX !複素平面
LET i=COMPLEX(0,1) !虚数単位
SET WINDOW -8,8,-8,8 !表示領域
DRAW grid !座標を表示する
LET OA=COMPLEX(5,3) !点A(5,3)
LET OB=COMPLEX(-7,1) !点B(-7,1)
LET OC=COMPLEX(2,-4) !点C(2,-4)
!LET OA=COMPLEX(5,1) !点A(5,1)
!LET OB=COMPLEX(1,3) !点B(1,3)
!LET OC=COMPLEX(-6,-4) !点C(-6,-4)
!LET OA=6*EXP(0*i) !正三角形
!LET OB=6*EXP(2*PI/3*i)
!LET OC=6*EXP(4*PI/3*i)
DRAW disk WITH SCALE(0.1)*SHIFT(OA)
PLOT TEXT ,AT OA: "A"
DRAW disk WITH SCALE(0.1)*SHIFT(OB)
PLOT TEXT ,AT OB: "B"
DRAW disk WITH SCALE(0.1)*SHIFT(OC)
PLOT TEXT ,AT OC: "C"
PLOT LINES: OA; OB; OC; OA !三角形ABCを描く
LET OD=(OA+OB)/2 !辺ABの中点
LET OE=(OB+OC)/2 !辺BCの中点
LET OF=(OC+OA)/2 !辺CAの中点
DRAW disk WITH SCALE(0.1)*SHIFT(OD)
DRAW disk WITH SCALE(0.1)*SHIFT(OE)
DRAW disk WITH SCALE(0.1)*SHIFT(OF)
LET P=-(OA+OB+OC) !f(x)=x^3+Px^2+Qx+R
LET Q=OA*OB+OB*OC+OC*OA
PRINT P; Q; -OA*OB*OC
CALL Solve2EQU(3,2*P,Q, x1,x2) !f'(x)の解
PRINT x1; x2
DRAW disk WITH SCALE(0.1)*SHIFT(x1)
DRAW disk WITH SCALE(0.1)*SHIFT(x2)
IF x1-x2=0 THEN !円になる場合
LET m=0
ELSE
LET m=arg(x1-x2) !傾き(-π,π]
END IF
LET C=(x1+x2)/2 !中心 Re(x1)
LET F=ABS(x1-x2)/2 !焦点F(f,0)、F'(-f,0)とする
LET A=(ABS(x1-OD)+ABS(x2-OD))/2 !2焦点までの距離の和2aの楕円は
LET B=SQR(A^2-F^2) !標準形(x/a)^2+(y/b)^2=1である
DRAW Elipse(A,B) WITH ROTATE(m)*SHIFT(C) !それを中心Cでm傾ける
PRINT F; A;B
PRINT C; (OA+OB+OC)/3 !重心
END
EXTERNAL SUB Solve2EQU(A,B,C, x1,x2) !2次方程式Ax^2+Bx+C=0を解く
OPTION ARITHMETIC COMPLEX !複素平面
LET D=B^2-4*A*C
LET x1=(-B-SQR(D))/(2*A)
LET x2=(-B+SQR(D))/(2*A) !共役
END SUB
EXTERNAL PICTURE Elipse(A,B) !標準形楕円を描く x^2/a^2+y^2/b^2=1
OPTION ARITHMETIC COMPLEX !複素平面
FOR T=0 TO 360 !弧を描く
LET X=A*COS(RAD(T))
LET Y=B*SIN(RAD(T))
PLOT LINES: X,Y;
NEXT T
PLOT LINES
DRAW disk WITH SCALE(0.1)*SHIFT(0,0) !中心を描く
IF A>=B THEN !焦点を描く
LET C=SQR(A^2-B^2)
DRAW disk WITH SCALE(0.1)*SHIFT( C,0)
DRAW disk WITH SCALE(0.1)*SHIFT(-C,0)
ELSE
LET C=SQR(B^2-A^2)
DRAW disk WITH SCALE(0.1)*SHIFT(0, C)
DRAW disk WITH SCALE(0.1)*SHIFT(0,-C)
END IF
END PICTURE
実行結果
0 -26 ( 140 -120)
-2.94392028877595 2.94392028877595
2.94392028877595 3.60555127546399 2.08166599946613
0 0
|
|