:
Maxima数学A自習教材開発
教材の概要
2図形の性質 1)平面図形
1.三角形の比の辺
2.三角形の外心・内心・重心
3.チェバの定理・メネラウスの定理
4.円に内接する四角形
5.円と直線
6.2つの円
7.作図
201.補充問題
Maxima数学I自習教材試行報告用紙(Word)
Maxima数学I自習教材試行報告用紙(PDF)
:
教材の概要
活動時間
自宅での予習か授業初めの5分程度
活動概要
1 タブレット等を用いてトライ
1) 教科書の該当ページを開く
2) このWebページを開く
3) Maxima on lineのWebページを開く
4) 該当コマンドをMaximaOnLineにコピペして、実行
2 自分なりの感触、着想
1) 自分なりに、実行結果を見て、気づいたり感じたりすることがないか、考えてみる。
2) ワークシートに、考えてみたこと(意見・質問・感じたこと)を書く
3) ワークシートを、事前に提出する場合は、課題提出フォームを使うこと。
3 問題の雰囲気を2で感じてから、授業へ
1) 班活動などで自分の考えを仲間に伝える
2) 仲間の考えを受け止める
3) 筋が通って、見通しのよい解法、数学的な論点をうまく処理した解法をまとめる
http://www.ac.cyberhome.ne.jp/~konoha/KNOPPIX/MaximaBook.pdf
参照テキスト
数研出版新編数学A
:
第2章図形の性質
第1節平面図形
1.三角形の辺の比
A 線分の比と三角形の角の二等分線
◆コマンド番号101
●内分・外分
練習1 内分・外分●●●●●●●●●●●●●●●●
kill(all) $
MONDAI: "101練習1 線分ABを2:1に内分する点Pを、下の図に示せ。"$
pAL:[[0,0],[6,0]];
pH:[2,1] /* ◆修正部分 */;
pP:pH[2]/(pH[1]+pH[2])*pAL[1]+pH[1]/(pH[1]+pH[2])*pAL[2];
pPL:[pP];
(xm:min(pAL[1][1],pAL[2][1]),xm:min(xm,pP[1])-2,xM:max(pAL[1][1],pAL[2][1]),xM:max(xM,pP[1])+2)$
KAITOU:pP$
print(KAITOU,MONDAI)$
draw2d(title ="AB/P", yrange=[-1,3] /* "タイトルと値域を確認し" */,
/**/color=black,explicit(0,x,xm,xM),
/**/point_type=circle,points(pAL),
/**/point_type=filled_up_triangle,color=red,points(pPL)) /* "◆数直線上に数を表示◆" */;
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
pH:[2,-1] /* ◆修正部分 */;
◆コマンド番号102
●三角形の内角の二等分線
三角形の内角の二等分線と対辺の内分●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"102例題1 BC=15,CA=15,AB=10の三角形の頂点Aの二等分線による対辺の内分点D。BDは ▲変更部分"$
hL:[15,15,10] /* a=BC,b=CA,c=AB 辺と頂点の対応に注意 ▲変更部分*/;
KOUSATU:"内角の二等分線は、対辺を、挟む辺の比に内分、外角では外分";
KANSUU:"定数・関数定義";
ap:[3,2] /* グラフのアスペクト比 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(p):=r2d(acos(p));dasin(p):=r2d(asin(p)) /* 角度の逆余弦、逆正弦 */;
nbL:[hL[2]/(hL[3]+hL[2]),hL[3]/(hL[3]+hL[2])] /* 辺の比に内分点D */;
KOTAE:hL[1]*nbL[1] /* BDの長さ */;
KAKUNIN:" 図形を書いて確認 ";
title1:"A/BDC" /* 図形のタイトル(頂点の位置) */;
a1:dacos((hL[3]^2+hL[2]^2-hL[1]^2)/(2*hL[3]*hL[2])) /* 頂角1 */;
a2:dacos((hL[1]^2+hL[3]^2-hL[2]^2)/(2*hL[1]*hL[3])) /* 頂角2 */;
a3:dacos((hL[2]^2+hL[1]^2-hL[3]^2)/(2*hL[2]*hL[1])) /* 頂角3 */;
aL:[a1,a2,a3] /* 頂角のリスト */;
R:hL[1]/dsin(aL[1])/2 /* 外接円の半径 */;
p2:[R*dcos(270-a1),R*dsin(270-a1)] /* 頂点2 */;
p3:[R*dcos(270+a1),R*dsin(270+a1)] /* 頂点3 */;
p1:[R*dcos(270-a1-2*a3),R*dsin(270-a1-2*a3)] /* 頂点1 */;
p4:p2*nbL[1]+p3*nbL[2] /* 2等分線と辺の交点 */;
ptL:[p1,p2,p3,p1] /* 頂点と交点 */;
ppL:[p1,p4] /* 2等分線 */;
ym:-R-1;yM:R+1;xm:ym/ap[2]*ap[1];xM:yM/ap[2]*ap[1] /* 描画の範囲アスペクト比の調整 */;
draw2d(title=title1,xrange = [xm,xM], yrange = [ym,yM],
points_joined = true,line_type = solid,point_type =-1,points(ptL),
points_joined = true,line_type = dots,point_type =-1,points(ppL)
) /*pLのグラフ表示*/$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"102練習2 BC=12,CA=6,AB=10の三角形の頂点Aの二等分線による対辺の内分点D。BDは ▲変更部分"$
hL:[12,6,10] /* a=BC,b=CA,c=AB 辺と頂点の対応に注意 ▲変更部分*/;
◆コマンド番号103
●三角形の外角の二等分線
三角形の外角の二等分線と対辺の内分●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"103練習3 BC=15,CA=15,AB=10の三角形の頂点Aの外角の二等分線による対辺の外分点D。BDは ▲変更部分"$
hL:[15,15,10] /* a=BC,b=CA,c=AB 辺と頂点の対応に注意 ▲変更部分*/;
KOUSATU:"この例で、外角の二等分線は、対辺を、挟む辺の比に外分することを示す。";
KANSUU:"定数・関数定義";
ap:[3,2] /* グラフのアスペクト比 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(p):=r2d(acos(p));dasin(p):=r2d(asin(p)) /* 角度の逆余弦、逆正弦 */;
gbL:[-hL[2]/(hL[3]-hL[2]),hL[3]/(hL[3]-hL[2])] /* 辺の比に外分点D */;
nbL:[(hL[2]-hL[3])/hL[2],hL[3]/hL[2]] /* 辺の比に外分点D */;
gbL2:[3/2,-1/2] /* CAの延長上にとる外分点Fの外分比 */;
KOTAE:hL[1]*nbL[1] /* BDの長さ */;
KAKUNIN:" 図形を書いて確認 ";
title1:"F/A/E/DBC" /* 図形のタイトル(頂点の位置) */;
a1:dacos((hL[3]^2+hL[2]^2-hL[1]^2)/(2*hL[3]*hL[2])) /* 頂角1 */;
a2:dacos((hL[1]^2+hL[3]^2-hL[2]^2)/(2*hL[1]*hL[3])) /* 頂角2 */;
a3:dacos((hL[2]^2+hL[1]^2-hL[3]^2)/(2*hL[2]*hL[1])) /* 頂角3 */;
aL:[a1,a2,a3] /* 頂角のリスト */;
R:hL[1]/dsin(aL[1])/2 /* 外接円の半径 */;
p2:[R*dcos(270-a1),R*dsin(270-a1)] /* 頂点2 */;
p3:[R*dcos(270+a1),R*dsin(270+a1)] /* 頂点3 */;
p1:[R*dcos(270-a1-2*a3),R*dsin(270-a1-2*a3)] /* 頂点1 */;
p4:p2*gbL[1]+p3*gbL[2] /* 2等分線と辺の延長との交点 */;
p5:nbL[1]*p1+nbL[2]*p3 /* Bを通るDAの平行線がACを内分する比 */;
p6:gbL2[1]*p1+gbL2[2]*p3 /* CAの延長上の点F */;
ptL:[p1,p2,p4,p3,p6] /* 頂点と交点 */;
ppL:[p1,p4,p2,p5] /* 2等分線、平行線 */;
pAL:[p1,p2,p3,p4,p5,p6],numer; /* すべての点のリスト */
pAxL:[];pAyL:[]; /* すべての点のx座標、y座標のリストの準備 */
for i:1 thru length(pAL) do(
/**/pAxL:endcons(pAL[i][1],pAxL),pAyL:endcons(pAL[i][2],pAyL))$
pAxL;pAyL;/* すべての点のx座標、y座標のリストの作成 */
ym:lmin(pAyL)-1;yM:lmax(pAyL)+1;yc:(ym+yM)/2;dy:(yM-ym)/2;
xm:lmin(pAxL)-1;xM:lmax(pAxL)+1;xc:(xm+xM)/2;dx:(xM-xm)/2;
dxy:max(dy,dx/ap[1]*ap[2]);
ym:yc-dxy;yM:yc+dxy;xm:xc-dxy/ap[2]*ap[1];xM:xc+dxy/ap[2]*ap[1];/* グラフのxの範囲、yの範囲 */
draw2d(title=title1,xrange = [xm,xM], yrange = [ym,yM],
points_joined = true,line_type = solid,point_type =-1,points(ptL),
points_joined = true,line_type = dots,point_type =-1,points(ppL)
) /*pLのグラフ表示*/$
SUIRON:"CAの延長線上にFをとり、①";
SUIRON:"Aの外角FABの2等分線とCBの延長との交点をDとし、②";
SUIRON:"Bを通るDAの平行線とACとの交点をEとすると、③";
SUIRON:"∠AEB=∠FAD (平行線の同位角)④";
SUIRON:" =∠DAB (∠FABの二等分)⑤";
SUIRON:" =∠EBA (平行線の錯角)⑥";
SUIRON:"△ABEは2等辺三角形(2つの底角が等しい)⑦";
SUIRON:"AB=AE(△ABEが2等辺三角形)⑧";
SUIRON:"BA:AC=EA:AC (AB=AE)⑨";
SUIRON:" =BD:DC (DA//BE)⑩";
SUIRON:"よって、DはBCをBZ:ACに外分⑪";
SAGYO:"上の、①~⑪に該当する図形要素(頂点、辺、角など)に、その番号を記せ。";
◎上のMaximaコマンドを実行せよ。
◎上の実行出力をプリントアウトし、SAGYOUの内容を書き込み、その結果を考察せよ。
◆コマンド番号104
●三角形の外角の二等分線
三角形の外角の二等分線と対辺の内分●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"104練習4 BC=10,CA=15,AB=20の三角形の頂点Aの外角の二等分線による対辺の外分点D。BDは ▲変更部分"$
hL:[10,15,20] /* a=BC,b=CA,c=AB 辺と頂点の対応に注意 ▲変更部分*/;
KOUSATU:"この例で、外角の二等分線は、対辺を、挟む辺の比に外分することを示す。";
ap:[3,2] /* グラフのアスペクト比 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(p):=r2d(acos(p));dasin(p):=r2d(asin(p)) /* 角度の逆余弦、逆正弦 */;
gbL2:[3/2,-1/2] /* 角を挟む長い方の辺の延長上にとる外分点Fの外分比 */;
gbL:[-hL[2]/(hL[3]-hL[2]),hL[3]/(hL[3]-hL[2])] /* 辺の比に外分点D */;
if hL[2]>hL[3] then nbL:[(hL[2]-hL[3])/hL[2],hL[3]/hL[2]] else nbL:[(hL[3]-hL[2])/hL[3],hL[2]/hL[3]] /* 外分線の平行線による長い方の辺の内分点Eの内分比 */;
KOTAE:hL[1]*nbL[1] /* BDの長さ */;
KAKUNIN:" 図形を書いて確認 ";
title1:"F/A/E/DBC" /* 図形のタイトル(頂点の位置) */;
a1:dacos((hL[3]^2+hL[2]^2-hL[1]^2)/(2*hL[3]*hL[2])) /* 頂角1 */;
a2:dacos((hL[1]^2+hL[3]^2-hL[2]^2)/(2*hL[1]*hL[3])) /* 頂角2 */;
a3:dacos((hL[2]^2+hL[1]^2-hL[3]^2)/(2*hL[2]*hL[1])) /* 頂角3 */;
aL:[a1,a2,a3] /* 頂角のリスト */;
R:hL[1]/dsin(aL[1])/2 /* 外接円の半径 */;
p2:[R*dcos(270-a1),R*dsin(270-a1)] /* 頂点2 */;
p3:[R*dcos(270+a1),R*dsin(270+a1)] /* 頂点3 */;
p1:[R*dcos(270-a1-2*a3),R*dsin(270-a1-2*a3)] /* 頂点1 */;
if hL[2]>hL[3] then p7:p2 else p7:p3;
if hL[2]>hL[3] then p4:gbL2[1]*p1+gbL2[2]*p3 else p4:gbL2[1]*p1+gbL2[2]*p2/* CAの延長上の点F */;
p5:p2*gbL[1]+p3*gbL[2] /* 2等分線と辺の延長との交点 */;
if hL[2]>hL[3] then p6:nbL[1]*p1+nbL[2]*p3 else p6:nbL[1]*p1+nbL[2]*p2 /* 外分線の平行線による長い方の辺の内分点Eの内分比 */;
ptL:[p1,p2,p5,p3,p1,p4] /* 頂点と交点 */;
ppL:[p1,p5,p7,p6] /* 2等分線、平行線 */;
pAL:[p1,p2,p3,p5,p6,p4],numer; /* すべての点のリスト */
pAxL:[];pAyL:[]; /* すべての点のx座標、y座標のリストの準備 */
for i:1 thru length(pAL) do(
/**/pAxL:endcons(pAL[i][1],pAxL),pAyL:endcons(pAL[i][2],pAyL))$
pAxL;pAyL;/* すべての点のx座標、y座標のリストの作成 */
ym:lmin(pAyL)-1;yM:lmax(pAyL)+1;yc:(ym+yM)/2;dy:(yM-ym)/2;
xm:lmin(pAxL)-1;xM:lmax(pAxL)+1;xc:(xm+xM)/2;dx:(xM-xm)/2;
dxy:max(dy,dx/ap[1]*ap[2]);
ym:yc-dxy;yM:yc+dxy;xm:xc-dxy/ap[2]*ap[1];xM:xc+dxy/ap[2]*ap[1];/* グラフのxの範囲、yの範囲 */
draw2d(title=title1,xrange = [xm,xM], yrange = [ym,yM],
points_joined = true,line_type = solid,point_type =-1,points(ptL),
points_joined = true,line_type = dots,point_type =-1,points(ppL)
) /*pLのグラフ表示*/$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
hL:[10,20,25] /* a=BC,b=CA,c=AB 辺と頂点の対応に注意 ▲変更部分*/;
:
2.三角形の外心・内心・重心
A 三角形の外心
◆コマンド番号105
●三角形の外心
例1・練習5 三角形の外心と内角●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"105例1 三角形ABCの外心Oとして、∠OBA=35゚,∠BCO=25゚のとき、∠OCAは (▲変更部分)"$
KOUSATU:"辺の垂直二等分線の交点が外心で、外心と2頂点でできる三角形は2等辺";
dAL:[35,25] /*" ∠OBA=35゚,∠BCO=25゚ ▲▲変更時訂正"*/;
KANSUU:"定数・関数定義";
ap:[3,1.9] /* グラフのアスペクト比 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(p):=r2d(acos(p));dasin(p):=r2d(asin(p)) /* 角度の逆余弦、逆正弦 */;
e:2*ax+2*dAL[1]+2*dAL[2]=180 /* 求める角axの方程式 ▲▲変更時訂正*/;
eS:solve(e,ax);
KOTAE:rhs(eS[1]);
SAKUZU:"作図して、考察・確認";
R:5 /* 外接円の半径 */;
aL:[KOTAE+dAL[1],dAL[1]+dAL[2],dAL[2]+KOTAE] /* 頂角のリスト ▲▲変更時訂正*/;
title1:"A/FOE/BDC" /* 図形のタイトル(頂点の位置) ▲▲変更時訂正*/;
p2:[R*dcos(270-aL[1]),R*dsin(270-aL[1])] /* 頂点2 */;
p3:[R*dcos(270+aL[1]),R*dsin(270+aL[1])] /* 頂点3 */;
p1:[R*dcos(270-aL[1]-2*aL[3]),R*dsin(270-aL[1]-2*aL[3])] /* 頂点1 */;
p5:(p3+p1)/2;k1:(p3[2]-p1[2])/(p3[1]-p1[1]);e1:y=-1/k1*(x-p5[1])+p5[2] ;
p6:(p1+p2)/2;k2:(p1[2]-p2[2])/(p1[1]-p2[1]);e2:y=-1/k2*(x-p6[1])+p6[2] ;
O:solve([e1,e2],[x,y])[1];
p0:[rhs(O[1]),rhs(O[2])];
ptL:[p1,p2,p3,p1] /* 頂点と交点 */;
ppL:[p1,p0,p2,p0,p3,p0,p5,p0,p6] /* 2等分線 */;
ym:-R-1;yM:R+1;xm:ym/ap[2]*ap[1];xM:yM/ap[2]*ap[1] /* 描画の範囲アスペクト比の調整 */;
draw2d(title=title1,xrange = [xm,xM], yrange = [ym,yM],
points_joined = true,line_type = solid,point_type =-1,points(ptL),
points_joined = true,line_type = dots,point_type =-1,points(ppL),
color=red,implicit(x^2+y^2=R^2,x,-R,R,y,-R,R)
) /*pLのグラフ表示*/$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"105練習5(3) 三角形ABCの外心Oとして、∠CBA=20゚,∠ACB=40゚のとき、∠OCAは (▲変更部分)"$
B 三角形の内心
◆コマンド番号106
●内心
例2・練習6 内心●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"106例2 三角形ABCの内心Iとして、∠IBA=25゚,∠ACI=35゚のとき、∠IBCは (▲変更部分)"$
KOUSATU:"角の二等分線の交点が内心で、内心から各辺への垂線3つは等しい";
dAL:[25,35] /*" ∠IBA=25゚,∠ACI=35゚ ▲▲変更時訂正"*/;
KANSUU:"定数・関数定義";
ap:[3,1.9] /* グラフのアスペクト比 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
e:ax+dAL[1]+dAL[2]=180 /* 求める角axの方程式 ▲▲変更時訂正*/;
eS:solve(e,ax);
KOTAE:rhs(eS[1]);
SAKUZU:"作図して、考察・確認";
R:5 /* 外接円の半径 */;
aL:[180-2*(dAL[1]+dAL[2]),2*dAL[1],2*dAL[2]] /* 頂角のリスト ▲▲変更時訂正*/;
title1:"A/I/BC" /* 図形のタイトル(頂点の位置) ▲▲変更時訂正*/;
p2:[R*dcos(270-aL[1]),R*dsin(270-aL[1])] /* 頂点2 */;
p3:[R*dcos(270+aL[1]),R*dsin(270+aL[1])] /* 頂点3 */;
p1:[R*dcos(270-aL[1]-2*aL[3]),R*dsin(270-aL[1]-2*aL[3])] /* 頂点1 */;
s1:dis(p2,p3);s2:dis(p3,p1);s3:dis(p1,p2);
p4:ppie(p2,p3,s3,s2) ;
p5:ppie(p3,p1,s1,s3) ;
p6:ppie(p1,p2,s2,s1) ;
p0:ppie(p1,p4,s2+s3,s1);
ptL:[p1,p2,p3,p1] /* 頂点 */;
ppL:[p2,p0,p3] /* 2等分線 */;
r:S(p0,p2,p3)*2/dis(p2,p3);
ym:-R-1;yM:R+1;xm:ym/ap[2]*ap[1];xM:yM/ap[2]*ap[1] /* 描画の範囲アスペクト比の調整 */;
draw2d(title=title1,xrange = [xm,xM], yrange = [ym,yM],
points_joined = true,line_type = solid,point_type =-1,points(ptL),
points_joined = true,line_type = dots,point_type =-1,points(ppL),
color=red,parametric(r*dcos(t)+p0[1],r*dsin(t)+p0[2],t,0,360)
) /*pLのグラフ表示*/$
print(MONDAI)$
print(KOTAE)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"106練習6 三角形ABCの内心Iとして、∠BAC=40゚のとき、∠BICは (▲変更部分)"$
C 三角形の重心
◆コマンド番号107
●重心
定理2 重心●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"107定理2-1 三角形ABCで、BC,CAの中点D,E、AD,BEの交点Gのとき、AG/GD (▲変更部分)"$
KOUSATU:"Dを通るBEの平行線とACの交点をHとすると、AG:GD=AE:EHとなる (▲変更部分)"$
dsL:[6,5,4] /* BC=6,CA=5,AB=4 として作図 */;
KANSUU:"定数・関数定義";
ap:[3,1.9] /* グラフのアスペクト比 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
e:AG/GD=AE/EH /* 求める比の値AG/GDの式 */;
e2:EH=AE/2;
KOTAE:subst(e2,e) /* 求める比の値AG/GDにeSを代入 */;
AGwGD:rhs(KOTAE) /* (▲変更部分2) */;
SAKUZU:"作図して、考察・確認";
A1:As(dsL[1],dsL[2],dsL[3]);
A2:As(dsL[2],dsL[3],dsL[1]);
A3:As(dsL[3],dsL[1],dsL[2]);
R:dsL[1]/dsin(A1)/2 /* 外接円の半径 */;
aL:[A1,A2,A3] /* 頂角のリスト ▲▲変更時訂正*/;
title1:"A/(KF)GEH/BDC" /* 図形のタイトル(頂点の位置) ▲▲変更時訂正*/;
p2:[R*dcos(270-aL[1]),R*dsin(270-aL[1])] /* 頂点2 */;
p3:[R*dcos(270+aL[1]),R*dsin(270+aL[1])] /* 頂点3 */;
p1:[R*dcos(270-aL[1]-2*aL[3]),R*dsin(270-aL[1]-2*aL[3])] /* 頂点1 */;
p4:ppie(p2,p3,1,1) ;
p5:ppie(p3,p1,1,1) ;
p6:ppie(p1,p2,1,1) ;
p7:ppie(p3,p5,1,1) ;
p8:ppie(p2,p6,1,1) ;
p0:ppie(p1,p4,AGwGD,1) ;
ptL:[p1,p2,p3,p1] /* 頂点 */;
ppL:[p1,p4,p0,p2,p5] /* 中線 */;
ppL2:[p4,p7] /* 中線 */;
ppL3:[p3,p6] /* 中線 */;
ppL4:[p4,p8] /* 中線 */;
ym:-R-1;yM:R+1;xm:ym/ap[2]*ap[1];xM:yM/ap[2]*ap[1] /* 描画の範囲アスペクト比の調整 */;
draw2d(title=title1,xrange = [xm,xM], yrange = [ym,yM],
points_joined = true,line_type = solid,point_type =-1,points(ptL),
points_joined = true,line_type = dots,point_type =-1,points(ppL),
color = red,points(ppL2),
color = green,points(ppL3),
color = green,points(ppL4)
) /*pLのグラフ表示*/$
print(MONDAI)$
print(KOTAE)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"107定理2-2 三角形ABCで、BC,CAの中点D,E、AD,BEの交点G、のとき、BF/FA (▲変更部分)"$
KOUSATU:"Dを通るCFの平行線とABの交点をKとすると、AF:FK=AG:GD、FK:KB=CD:DBとなる (▲変更部分)"$
AGwGD:rhs(KOTAE) /* (▲変更部分2) */;
AGS:solve(KOTAE,AG) /* (▲変更部分2) */;
e3:AF/FB=AF/FK*KF/FB /* 求める比の値AF/FBの式 (▲変更部分2)*/;
e4:AF/FK=AG/GD;e5:KF/FB=(1/2*CB)/CB;e4S:solve(e4,FK);e5S:solve(e5,KF) /*(▲変更部分2)*/;
KOTAE:subst([e4S[1],e5S[1],AGS[1]],e3) /*(▲変更部分2)*/;
◆コマンド番号108
●重心
練習7 重心●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"108練習7 三角形ABCの重心Dで、GからBCに下した垂線をGK、AからBCに下した垂線をAHとして、GK:AHは(▲変更部分)"$
KOUSATU:"GK//AHとなり、AGの延長とBCとの交点をEとすると、 (▲変更部分)"$
dsL:[6,4,5] /* BC=6,CA=5,AB=4 として作図 */;
KANSUU:"定数・関数定義";
ap:[3,1.9] /* グラフのアスペクト比 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
e:GK/AH=GD/DA /* 求める比の値GK/AHの式 */;
e2:DA=AG+GD;
e3:GD=AG/2;
KOTAE:subst([e2,e3],e) /* 求める比の値AG/GDにe2,e3を代入 */;
AGwGD:rhs(KOTAE) /* (▲変更部分2) */;
SAKUZU:"作図して、考察・確認";
A1:As(dsL[1],dsL[2],dsL[3]);
A2:As(dsL[2],dsL[3],dsL[1]);
A3:As(dsL[3],dsL[1],dsL[2]);
R:dsL[1]/dsin(A1)/2 /* 外接円の半径 */;
aL:[A1,A2,A3] /* 頂角のリスト ▲▲変更時訂正*/;
title1:"A/G/BDKHC" /* 図形のタイトル(頂点の位置) ▲▲変更時訂正*/;
p2:[R*dcos(270-aL[1]),R*dsin(270-aL[1])] /* 頂点2 */;
p3:[R*dcos(270+aL[1]),R*dsin(270+aL[1])] /* 頂点3 */;
p1:[R*dcos(270-aL[1]-2*aL[3]),R*dsin(270-aL[1]-2*aL[3])] /* 頂点1 */;
p4:ppie(p2,p3,1,1) ;
p0:ppie(p1,p4,2,1) ;
p5:[p0[1],p4[2]] ;
p6:[p1[1],p4[2]] ;
ptL:[p1,p2,p3,p1] /* 頂点 */;
ppL:[p1,p4,p0,p2,p0,p3] /* 中線 */;
ppL2:[p0,p5] /* GK */;
ppL3:[p1,p6] /* AH */;
ym:-R-1;yM:R+1;xm:ym/ap[2]*ap[1];xM:yM/ap[2]*ap[1] /* 描画の範囲アスペクト比の調整 */;
draw2d(title=title1,xrange = [xm,xM], yrange = [ym,yM],
label(["A",p1[1],p1[2]+1]),
points_joined = true,line_type = solid,point_type =-1,points(ptL),
points_joined = true,line_type = dots,point_type =-1,points(ppL),
color = red,points(ppL2),
color = green,points(ppL3)
) /*pLのグラフ表示*/$
print(MONDAI)$
print(KOTAE)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドの最後に、次を追加修正して実行し、結果から、△ABCと△GBCの面積比を考察せよ。
Sa:S(p1,p2,p3),numer /* ▲▲追加修正 */;
Sg:S(p0,p2,p3),numer /* ▲▲追加修正 */;
print("T_ABC:T_GBC=",Sa/Sg,":",1) /* ▲▲追加修正 */;
:
3.チェバの定理・メネラウスの定理
A チェバの定理
◆コマンド番号109
●チェバの定理
定理6 チェバの定理●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"109定理6-1 三角形ABCの内部の点Oがあり、AOの延長と辺BCとの交点をPとし、B、Cから直線APへの垂線をそれぞれBH、CKとすると、△OAB/△OCA=BP:PC"$
KOUSATU:"BH//CKとなり、BH/CK=BP/CPとなるので、"$
dsL:[6,4,5] /* BC=6,CA=5,AB=4 として作図 */;
oL:[2,3,1] /* p0=2/6*p1+3/6*p2+1/6*p3 として作図 */;
title1:"A/ROQ(HK)/BPC" /* 図形のタイトル(頂点の位置) */;
KANSUU:"定数・関数定義";
ap:[3,1.9] /* グラフのアスペクト比 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
SAKUZU:"作図して、考察・確認";
A1:As(dsL[1],dsL[2],dsL[3]),numer;
A2:As(dsL[2],dsL[3],dsL[1]),numer;
A3:As(dsL[3],dsL[1],dsL[2]),numer;
R:dsL[1]/dsin(A1)/2,numer /* 外接円の半径 */;
aL:[A1,A2,A3] /* 頂角のリスト */;
p2:[R*dcos(270-aL[1]),R*dsin(270-aL[1])],numer /* 頂点2 */;
p3:[R*dcos(270+aL[1]),R*dsin(270+aL[1])],numer /* 頂点3 */;
p1:[R*dcos(270-aL[1]-2*aL[3]),R*dsin(270-aL[1]-2*aL[3])],numer /* 頂点1 */;
p4:ppie(p2,p3,oL[3],oL[2]),numer ;
p5:ppie(p3,p1,oL[1],oL[3]),numer ;
p6:ppie(p1,p2,oL[2],oL[1]),numer ;
p0:(oL[1]*p1+oL[2]*p2+oL[3]*p3)/(oL[1]+oL[2]+oL[3]),numer ;
p7:vp(p2,p1,p4),numer ;
p8:vp(p3,p1,p4),numer ;
ptL:[p1,p2,p3,p1],numer /* 頂点 */;
ppL:[p1,p0,p2,p0,p3,p0,p4,p0,p5,p0,p6,p0,p7,p8],numer /* 中線 */;
ppL2:[p2,p7],numer /* GK */;
ppL3:[p3,p8],numer /* AH */;
Kotae1:dis(p2,p7)/dis(p3,p8),numer;
Kotae2:dis(p2,p4)/dis(p4,p3),numer;
Kotae3:S(p1,p2,p0)/S(p0,p3,p1),numer;
KOTAE:["BH/CK",Kotae1,"BP/PC",Kotae2,"t_OAB/t_OCA",Kotae3];
ym:-R-1;yM:R+1;xm:ym/ap[2]*ap[1];xM:yM/ap[2]*ap[1] /* 描画の範囲アスペクト比の調整 */;
draw2d(title=title1,xrange = [xm,xM], yrange = [ym,yM],
label(["A",p1[1],p1[2]+1]),
points_joined = true,line_type = solid,point_type =-1,points(ptL),
points_joined = true,line_type = dots,point_type =-1,points(ppL),
color = red,points(ppL2),
color = green,points(ppL3)
) /*pLのグラフ表示*/$
print(MONDAI)$
print("BH/CK",Kotae1,"BP/PC",Kotae2,"t_OAB/t_OCA",Kotae3)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドの最後に、次を追加修正して実行し、結果から、比の値BP/PC、CQ/QA、AR/RBの積を考察せよ(チェバの定理)。
Kotae4:dis(p3,p5)/dis(p5,p1),numer;
Kotae5:S(p2,p3,p0)/S(p0,p1,p2),numer;
Kotae6:dis(p1,p6)/dis(p6,p2),numer;
Kotae7:S(p3,p1,p0)/S(p0,p2,p3),numer;
print("BP/PC=",Kotae2," CQ/QA=",Kotae4," AR/RB=",Kotae6," BP/PC*CQ/QA*AR/RB=",Kotae2*Kotae4*Kotae6)$
◆コマンド番号110
●チェバの定理
例3・練習8 チェバの定理●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"110例3 三角形ABCの内部の点Oがあり、Bから辺CAへ引いた線分BQ、Cから辺ABへ引いた線分CRの交点をOとし、線分AOの延長と辺BCの交点をPとする。CQ:QA=2:1、AR:RB=2:3のとき、BP:PCは (▲変更部分1) "$
KOUSATU:"チェバの定理により、比の値の積CQ/QA*AR/RB*BP/PCは1になる。"$
dsL:[6,4,5] /* BC=6,CA=5,AB=4 として作図 */;
oL:[[ox,1],[2,1],[2,3]] /* 比のリスト[[BP,PC],[CQ,QA],[AR,RB]の比]として作図 (▲変更部分2)*/;
title1:"A/ROQ/BPC" /* 図形のタイトル(頂点の位置) */;
KANSUU:"定数・関数定義";
ap:[3,1.9] /* グラフのアスペクト比の調整 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
SAKUZU:"作図して、考察・確認";
A1:As(dsL[1],dsL[2],dsL[3]),numer;
A2:As(dsL[2],dsL[3],dsL[1]),numer;
A3:As(dsL[3],dsL[1],dsL[2]),numer;
R:dsL[1]/dsin(A1)/2,numer /* 外接円の半径 */;
aL:[A1,A2,A3] /* 頂角のリスト */;
p2:[R*dcos(270-aL[1]),R*dsin(270-aL[1])],numer /* 頂点2 */;
p3:[R*dcos(270+aL[1]),R*dsin(270+aL[1])],numer /* 頂点3 */;
p1:[R*dcos(270-aL[1]-2*aL[3]),R*dsin(270-aL[1]-2*aL[3])],numer /* 頂点1 */;
e:oL[1][1]/oL[1][2]*oL[2][1]/oL[2][2]*oL[3][1]/oL[3][2]=1 /* チェバの定理 */;
se:solve(e,ox) /* oxについて解いて */;
KOTAE:[num(rhs(se[1])),denom(rhs(se[1]))];
oL:subst(se,oL) /* 比のリスト[[BP,PC],[CQ,QA],[AR,RB]]にoxを代入して */;
p4:ppie(p2,p3,oL[1][1],oL[1][2]),numer ;
p5:ppie(p3,p1,oL[2][1],oL[2][2]),numer ;
p6:ppie(p1,p2,oL[3][1],oL[3][2]),numer /* p4,p5,p6を内分で指定 */;
ep025:p2*1/(1+p2x)+p5*p2x/(1+p2x) /* BO:OQ=p2x:1としてOを指定 */;
ep036:p3*1/(1+p3x)+p6*p3x/(1+p3x) /* CO:OR=p3x:1としてOを指定 */;
sep0:solve([ep025[1]=ep036[1],ep025[2]=ep036[2]],[p2x,p3x]),numer /* ep025=ep036として解く */;
p0:subst(sep0[2],ep025) /* 解sep0の2つ目をep025に代入してp0を確定 */;
ptL:[p1,p2,p3,p1],numer /* 頂点 */;
ppL:[p1,p0,p2,p0,p3,p0,p4,p0,p5,p0,p6],numer /* 内分線 */;
ym:-R-1;yM:R+1;xm:ym/ap[2]*ap[1];xM:yM/ap[2]*ap[1] /* 描画の範囲アスペクト比の設定 */;
draw2d(title=title1,xrange = [xm,xM], yrange = [ym,yM],
label(["A",p1[1],p1[2]+0.5]),label(["B",p2[1]-0.5,p2[2]]),label(["C",p3[1]+0.5,p3[2]]),
label(["P",p4[1],p4[2]-0.5]),label(["Q",p5[1]+0.5,p5[2]]),label(["R",p6[1]-0.5,p6[2]]),
label(["O",p0[1]+0.5,p0[2]-0.5]),
points_joined = true,line_type = solid,point_type =-1,points(ptL),
points_joined = true,line_type = dots,point_type =-1,points(ppL)
) /*pLのグラフ表示*/$
print(MONDAI)$
print(KOTAE)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"110 三角形ABCの内部の点Oがあり、Bから辺CAへ引いた線分BQ、Cから辺ABへ引いた線分CRの交点をOとし、線分AOの延長と辺BCの交点をPとする。CQ:QA=3:2、BP:PC=1:1のとき、AR:RBは (▲変更部分1) "$
oL:[[1,1],[3,2],[ox,1]] /* [[BP,PC],[CQ,QA],[AR,RB]]として作図 (▲変更部分2)*/;
B メネラウスの定理
◆コマンド番号111
●メネラウスの定理
定理7 メネラウスの定理●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"111定理7 三角形ABCの辺BC,CA,ABまたはその延長が、三角形の頂点を通らない直線Lと、それぞれP,Q,Rで交わるとき、BP/PC*CQ/QA*AR/RB=1 (▲変更部分)"$
oL:[[ox,-1],[1,3],[3,4]] /* 比のリスト[[BP,PC],[CQ,QA],[AR,RB]の比]として (▲変更部分)*/;
KOUSATU:"辺BCの延長上にDをとり、AD//RPとすると、CQ/QA=CP/PD、AR/RA=DP/PBとなるので、"$
dsL:[6,4,5] /* BC=6,CA=5,AB=4 として作図 */;
title1:"A/RQ/BCPD" /* 図形のタイトル(頂点の位置) */;
KANSUU:"定数・関数定義";
ap:[3,1.9] /* グラフのアスペクト比の調整 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
SAKUZU:"作図して、考察・確認";
A1:As(dsL[1],dsL[2],dsL[3]),numer;
A2:As(dsL[2],dsL[3],dsL[1]),numer;
A3:As(dsL[3],dsL[1],dsL[2]),numer;
R:dsL[1]/dsin(A1)/2,numer /* 外接円の半径 */;
aL:[A1,A2,A3] /* 頂角のリスト */;
p2:[R*dcos(270-aL[1]),R*dsin(270-aL[1])],numer /* 頂点2 */;
p3:[R*dcos(270+aL[1]),R*dsin(270+aL[1])],numer /* 頂点3 */;
p1:[R*dcos(270-aL[1]-2*aL[3]),R*dsin(270-aL[1]-2*aL[3])],numer /* 頂点1 */;
p4:ppie(p2,p3,oL[1][1],oL[1][2]),numer ;
p5:ppie(p3,p1,oL[2][1],oL[2][2]),numer ;
p6:ppie(p1,p2,oL[3][1],oL[3][2]),numer /* p4,p5,p6を内分で指定 */;
ep456:p6*(-1)/(-1+p6x)+p5*p6x/(-1+p6x) /* RP:pQ=p6x:-1としてPを指定 */;
sep4:solve([p4[1]=ep456[1],p4[2]=ep456[2]],[ox,p6x]),numer /* p4=ep456として解く */;
oL:subst(sep4[1],oL) /* 解sep4の1つ目をoLに代入してoLを確定 */;
p4:subst(sep4[1],p4) /* 解sep4の1つ目をp4に代入してp4を確定 */$
p5:subst(sep4[1],p5) /* 解sep4の1つ目をp4に代入してp4を確定 */$
p6:subst(sep4[1],p6) /* 解sep4の1つ目をp4に代入してp4を確定 */$
p7:ppie(p2,p4,oL[3][1]+oL[3][2],-oL[3][1]),numer /* p7を外分で指定 */;
ptL:[p1,p2,p3,p1],numer /* 頂点 */;
ppL:[p2,p4,p5,p6,p4,p7,p1],numer /* 内分線 */;
ym:p2[2]-1;yM:p1[2]+1;yc:(ym+yM)/2;dy:(yM-ym)/2 /* ymは各点のy座標の最小、yMは最大 */;
xm:p2[1]-1;xM:p7[1]+1;xc:(xm+xM)/2;dx:(xM-xm)/2 /* xmは各点のx座標の最小、xMは最大 */;
dxy:max(dy,dx/ap[1]*ap[2]);
ym:yc-dxy;yM:yc+dxy;xm:xc-dxy/ap[2]*ap[1];xM:xc+dxy/ap[2]*ap[1];/* グラフのxの範囲、yの範囲 */
draw2d(title=title1,xrange = [xm,xM], yrange = [ym,yM],
label(["A",p1[1],p1[2]+0.5]),label(["B",p2[1]-0.5,p2[2]]),label(["C",p3[1]+0.5,p3[2]-0.5]),
label(["P",p4[1],p4[2]-0.5]),label(["Q",p5[1]+0.5,p5[2]+0.5]),label(["R",p6[1]-0.5,p6[2]]),
label(["D",p7[1]+0.5,p7[2]]),
points_joined = true,line_type = solid,point_type =-1,points(ptL),
points_joined = true,line_type = dots,point_type =-1,points(ppL)
) /*pLのグラフ表示*/$
print(MONDAI)$
print("AR/RB*BP/PC*CQ/QA=",dis(p1,p6)/dis(p6,p2)*dis(p2,p4)/dis(p4,p3)*dis(p3,p5)/dis(p5,p1)) /* (▲変更部分2)*/$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"111練習9 三角形ABCの辺BC,CA,ABまたはその延長が、三角形の頂点を通らない直線Lと、それぞれP,Q,Rで交わるとき、AR:RB=2:3,BC:CP=2:1のとき、CQ:QAは (▲変更部分)"$
oL:[[2+1,-1],[ox,1],[2,3]] /* 比のリスト[[BP,PC],[CQ,QA],[AR,RB]の比]として (▲変更部分)*/;
print("CQ:QA=",abs(num(1/(oL[3][1]/oL[3][2]*oL[1][1]/oL[1][2]))),":",abs(denom(1/(oL[3][1]/oL[3][2]*oL[1][1]/oL[1][2])))) /* (▲変更部分2)*/$
注)チェバの定理では、各辺の分割比から点の位置を求めるのにそれなりの工夫が必要となる。メネラウスの定理では、点の位置はすぐにわかる。また、メネラウスの定理からチェバの定理を導けるが、チェバの定理からメネラウスの定理は導けない。ということで、メネラウスの定理の方が基本的であり、しかも有用性が高い。メネラウスの定理は、ユークリッドの原論には載っていない。パップスの数学集成には載っている。チェバはニュートンと同時代の数学者。
◆コマンド番号112
●三角形の辺の大小関係
研究練習1 三角形の辺の大小関係●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"112研究練習1(1) 3辺の長さが4,6,8の三角形は存在するか (▲変更部分)"$
dsL:[4,6,8] /* BC=4,CA=6,AB=8 として作図 (▲変更部分) */;
KOUSATU:"最も長い長さが、他の長さの和より小さければ、その3辺の三角形が存在する"$
KANSUU:"定数・関数定義";
ap:[3,1.9] /* グラフのアスペクト比の調整 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
hmax:lmax(dsL);
if lsum(k,k,dsL)>2*lmax(dsL) then print("存在する") else print("存在しない");
p1:[-dsL[1]/2,0];
p2:[dsL[1]/2,0];
if lsum(k,k,dsL)>2*lmax(dsL) then (
/**//**/KOTAE:"存在する" ,
/**//**/t1:As(dsL[3],dsL[1],dsL[2]),
/**//**/p3:[p1[1]+dsL[2]*dcos(t1),p1[2]+dsL[2]*dsin(t1)]
/**/)else(
/**//**/KOTAE:"存在しない",p3:p1
/**/);
ptL:[p1,p2,p3,p1];
ym:-lmax(dsL)-1;yM:lmax(dsL)+1;yc:(ym+yM)/2;dy:(yM-ym)/2 /* ymは各点のy座標の最小、yMは最大 */;
xm:p1[1]-lmax(dsL)-1;xM:p2[1]+lmax(dsL)+1;xc:(xm+xM)/2;dx:(xM-xm)/2 /* xmは各点のx座標の最小、xMは最大 */;
dxy:max(dy,dx/ap[1]*ap[2]);
ym:yc-dxy;yM:yc+dxy;xm:xc-dxy/ap[2]*ap[1];xM:xc+dxy/ap[2]*ap[1];/* グラフのxの範囲、yの範囲 */
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [xm,xM], yrange = [ym,yM],
points_joined = true,line_type = solid,point_type =-1,points(ptL),
color=red,parametric(p1[1]+dsL[2]*dcos(t),p1[2]+dsL[2]*dsin(t),t,0,360),
color=green,parametric(p2[1]+dsL[3]*dcos(t),p2[2]+dsL[3]*dsin(t),t,0,360)
) /*pLのグラフ表示*/$
print(KOTAE)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"112研究練習1(3) 3辺の長さが4,6,8の三角形は存在するか (▲変更部分)"$
dsL:[4,6,10] /* BC=4,CA=6,AB=8 として作図 (▲変更部分) */;
:
4.円に内接する四角形
A 円の弧と弦の性質
◆コマンド番号113
●円の弧と弦の性質
円の弧と弦の性質●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"113 半径が等しい円では、中心角が同じなら弧の長さは等しいか (▲変更部分)"$
KOUSATU:"計量計算で確認すると"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
r:2 /* 円の半径の指定 */;
cad:45 /* 中心角の指定 (▲変更部分2)*/;
arc:2*%pi*r/360*cad /* 中心角に対応する弧の長さ (▲変更部分2) */;
KOTAE:[cad," --> ",arc];
KAKUNIN:"図で確認";
A1m:30 /* 弧1の始角度 */;
A2m:120 /* 弧2の始角度 */;
p1m:[r*dcos(A1m),r*dsin(A1m)];
p1M:[r*dcos(A1m+cad),r*dsin(A1m+cad)];
p2m:[r*dcos(A2m),r*dsin(A2m)];
p2M:[r*dcos(A2m+cad),r*dsin(A2m+cad)];
p0:[0,0];
ptL:[p1m,p0,p1M,p0,p2m,p0,p2M];
para0:parametric(r*dcos(t),r*dsin(t),t,0,360);
para1:parametric(r*dcos(t),r*dsin(t),t,A1m,A1m+cad);
para2:parametric(r*dcos(t),r*dsin(t),t,A2m,A2m+cad);
para5:parametric(t*p1m[1],t*p1m[2],t,0,1);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1]*r,ap[1]*r], yrange = [-ap[2]*r,ap[2]*r],
para0,
line_width=2,color=red,para1,
line_width=2,color=green,para2,
color=black,
points_joined = true,line_type = solid,point_type =-1,points(ptL)
) /*pLのグラフ表示*/$
print(MONDAI)$
print(KOTAE)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"113 半径が等しい円では、弧の長さが同じなら中心角は等しいか (▲変更部分)"$
arc:3 /* 弧の長さの指定 (▲変更部分2)*/;
cad:arc/(2*%pi*r)*360 /* 弧の長さに対応する中心角 (▲変更部分2) */;
KOTAE:[arc," --> ",cad] /* (▲変更部分2) */;
◆コマンド番号114
●円の弧と弦の性質
弧の長さが同じなら弦の長さは等しい●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"114 弧の長さが同じなら弦の長さは等しいか (▲変更部分)"$
KOUSATU:"計量計算で確認すると"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
r:2 /* 円の半径の指定 */;
arc:r*%pi*1/4,numer /* 弧の長さの指定 (▲変更部分2) */;
cad1:arc/(r*%pi)*180,numer /* 弧の長さに対応する中心角 (▲変更部分2)*/;
str:2*r*dsin(cad1),numer /* 弧の長さに対応する弦の長さ (▲変更部分2)*/;
cad2:cad1/*(▲変更部分2)*/;
KOTAE:[arc," --> ",str]/*(▲変更部分2)*/;
KAKUNIN:"図で確認";
A1m:30 /* 弧1の始角度 */;
A2m:180 /* 弧2の始角度 */;
p1m:[r*dcos(A1m),r*dsin(A1m)];
p1M:[r*dcos(A1m+cad1),r*dsin(A1m+cad1)];
p2m:[r*dcos(A2m),r*dsin(A2m)];
p2M:[r*dcos(A2m+cad2),r*dsin(A2m+cad2)];
p0:[0,0];
ptL:[p1m,p0,p1M,p0,p2m,p0,p2M];
ptL1:[p1m,p1M];
ptL2:[p2m,p2M];
para0:parametric(r*dcos(t),r*dsin(t),t,0,360);
para1:parametric(r*dcos(t),r*dsin(t),t,A1m,A1m+cad1);
para2:parametric(r*dcos(t),r*dsin(t),t,A2m,A2m+cad2);
para5:parametric(t*p1m[1],t*p1m[2],t,0,1);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1]*r,ap[1]*r], yrange = [-ap[2]*r,ap[2]*r],
para0,
points_joined=true,
line_width=3,color=red,para1,points(ptL1),
line_width=1,color=green,para2,points(ptL2),
color=black,
points_joined = true,line_type = solid,point_type =-1,points(ptL)
) /*pLのグラフ表示*/$
print(MONDAI)$
print(KOTAE)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"113 半径が等しい円では、弧の長さが同じなら中心角は等しいか (▲変更部分)"$
str:3 /* 弦の長さの指定 (▲変更部分2)*/;
cad1:dasin(str/2/r),numer /* 弦の長さに対応する中心角1(▲変更部分2) */;
cad2:360-cad1,numer /* 弦の長さに対応する中心角2(▲変更部分2) */;
KOTAE:[str," --> ",cad1,cad2] /* (▲変更部分2) */;
◆コマンド番号115
●円の弧と弦の性質
弧の垂直二等分線上に中心がある●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"115 弦の垂直二等分線上にない点は、弦の両端からの距離が異なるか (▲変更部分)"$
KOUSATU:"垂直二等分線上の点は両端の点からの距離が等しいので、"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
r:2 /* 円の半径の指定 */;
p9:[0,0.5] /* 垂直二等分線上にない点の指定 (▲変更部分) */;
arc:r*%pi*1/4,numer /* 弧の長さの指定 */;
cad1:arc/(r*%pi)*180,numer /* 弧の長さに対応する中心角 */;
A1m:30 /* 弧1の始角度 */;
p1m:[r*dcos(A1m),r*dsin(A1m)];
p1M:[r*dcos(A1m+cad1),r*dsin(A1m+cad1)];
dis91m:dis(p9,p1m),numer;
dis91M:dis(p9,p1M),numer;
if dis91m#dis91M then KOTAE:[dis91m," <--> ",dis91M,"異なる"] else KOTAE:[dis91m," <--> ",dis91M,"取ったは垂直二等分線上?!"] /**/;
KAKUNIN:"図で確認";
p0:[0,0];
p2:ppie(p1m,p1M,1,1);
ptL:[p1m,p2,p0,p2,p1M];
ptL1:[p1m,p9];
ptL2:[p1M,p9];
para0:parametric(r*dcos(t),r*dsin(t),t,0,360);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1]*r,ap[1]*r], yrange = [-ap[2]*r,ap[2]*r],
para0,
points_joined=true,
line_width=3,color=red,points(ptL1),
line_width=1,color=green,points(ptL2),
color=black,
points_joined = true,line_type = solid,point_type =-1,points(ptL)
) /*pLのグラフ表示*/$
print(MONDAI)$
print(KOTAE)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、取った点が中心の場合について考察せよ。
p9:[0,0] /* 中心を指定 (▲変更部分) */;
◆コマンド番号116
●弧と中心
練習10 弧から円の中心を●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"116練習10 弧から円の中心を求める方法は"$
KOUSATU:"弦の垂直二等分線上に中心があるので"$
KANSUU:"定数・関数定義";
ap:[8.3,6.8] /* グラフのアスペクト比の調整 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
dL:[15,105];
p1:[dcos(dL[1]),dsin(dL[1])];p2:[dcos(dL[2]),dsin(dL[2])];p3:[dcos((dL[1]+dL[2])/2),dsin((dL[1]+dL[2])/2)];
p0:[0,0];p4:ppie(p1,p3,1,1);p5:ppie(p3,p2,1,1);
ptL:[p1,p3,p2];
para1:parametric(dcos(t),dsin(t),t,dL[1],dL[2]);
para2:parametric(dcos(t),dsin(t),t,dL[2],dL[1]+360);
para3:parametric(t*p4[1],t*p4[2],t,-0.3,1.3);
para4:parametric(t*p5[1],t*p5[2],t,-0.3,1.3);
para5:parametric(-t,0,t,0,1);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1]/3,ap[1]/3], yrange = [-ap[2]/3,ap[2]/3],
points_joined = true,line_type = solid,point_type =-1,points(ptL),
color=red,para1,
color=green,para2,para5,
color=black,para3,para4
) /*pLのグラフ表示*/$
◎上のMaximaコマンドを実行せし、作図の方法を考察せよ。
B 円周角の定理
◆コマンド番号117
●円周角
練習10 円周角●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"117練習11 下の図において、角の大きさaを求めよ。"$
KOUSATU:"円周角の定理により、円周角は中心角の半分になるので"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
aCOA:30;aCBA:aCOA /* (▲変更部分) */;
aBAC:90 /* (▲変更部分) */;
aACB:90-aCBA /* (▲変更部分) */;
KAITOU:["∠ACB=",aACB] /* (▲変更部分) */$
dL:[aCBA,aACB,aBAC] /* (▲変更部分) */;
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
p0:[0,0];p4:[dcos(280),dsin(280)];
para0:parametric(dcos(t),dsin(t),t,0,360);
ptL1:[p1,p2,p3,p1];ptL2:[p4,p2,p3,p4] /* (▲変更部分2) */;
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]],
para0,
label(["B",p1[1]-0.2,p1[2]]),label(["C",p2[1]+0.2,p2[2]]),label(["A",p3[1]+0.2,p3[2]]),
label(["D",p4[1]-0.1,p4[2]+0.1]),label(["30°",p4[1]+0.2,p4[2]+0.3]),label(["a",p2[1]-0.2,p2[2]+0.1]) /* (▲変更部分3) */,
label(["O",p0[1],p0[2]-0.2]),
points_joined=true,
line_width=3,color=red,points(ptL1),
line_width=1,color=green,points(ptL2),
point_type=1,color=black,points([p0])
) /*pLのグラフ表示*/$
SUJIMITI:"△ABCにおいて、∠BAC=( )、∠CBA=∠CDA=( )、∠ACB=( )" /* (▲変更部分4) */$
print(MONDAI)$
print(SUJIMITI)$
print(KAITOU)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、考察せよ。
aCBO:47;aCBA:60 /* (▲変更部分) */;
aBOC:180-2*aCBO /* (▲変更部分) */;
aBAC:aBOC/2 /* (▲変更部分) */;
KAITOU:["∠BAC=",aBAC] /* (▲変更部分) */$
dL:[aCBA,180-aCBA-aBOC,aBAC] /* (▲変更部分) */;
ptL1:[p1,p2,p3,p1];ptL2:[p1,p2,p0,p1] /* (▲変更部分2) */;
label(["47°",p1[1]+0.3,p1[2]+0.1]),label(["a",p3[1],p2[1]-0.1]) /* (▲変更部分3) */,
MITOOSI:"△OBCにおいて、∠OCB=( )、∠BOC=( )となり、∠BAC=( )" /* (▲変更部分4) */$
◆コマンド番号118
●円周角の定理の逆
円周角の定理の逆●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"118 下の図において、4点A,B,P,Qは同一円周上にあるか"$
KOUSATU:"円周角の定理により、円周角は中心角の半分になるので"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
aAPB:25;aAQB:aAPB;aBAP:55;aBAQ:75 /* (▲変更部分) */;
aPBA:180-aAPB-aBAP;aQBA:180-aAQB-aBAQ ;
KAITOU:"∠APB=∠AQBなら、同一円周上" $
dL:[aBAP,aPBA,aAPB] ;
dL2:[aBAQ,aQBA,aAQB] ;
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
p4:[dcos(270+dL2[3]+2*dL2[1]),dsin(270+dL2[3]+2*dL2[1])];
p5:ppie(p1,p4,9,1);
p0:[0,0];
para0:parametric(dcos(t),dsin(t),t,0,360);
ptL1:[p1,p2,p3,p1];ptL2:[p1,p2,p4,p1];ptL3:[p2,p5] ;
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]],
para0,
label(["A",p1[1]-0.2,p1[2]]),label(["B",p2[1]+0.2,p2[2]]),label(["P",p3[1]+0.2,p3[2]]),
label(["Q",p4[1]-0.1,p4[2]+0.1]),
label(["Q'",p5[1]-0.1,p5[2]+0.1]),
label(["O",p0[1],p0[2]-0.2]),
points_joined=true,
line_width=3,color=red,points(ptL1),
line_width=1,color=green,points(ptL2),
point_type=1,color=black,points([p0]),
line_width=1,color=black,points(ptL3)
) /*pLのグラフ表示*/$
SUJIMITI:"△PABの外接円の弧BQAが直線AQとA以外で交わる点をQ'とし、仮に、QとQ'が異なるとすると、AQ>AQ'かAQ<AQ'。AQ>AQ'なら、∠AQ'B>( )。AQ<AQ'なら、∠AQ'B<( )となる。しかし、円周角の定理と仮定により、∠BQ'A=∠BPA=( )となって矛盾が起こる。"$
print(MONDAI)$
print(SUJIMITI)$
print(KAITOU)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、考察せよ。
aAPB:45;aAQB:aAPB;aBAP:55;aBAQ:100 /* (▲変更部分) */;
◆コマンド番号119
●円周角の定理の逆
円周角の定理の逆●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"119 図において、4点A,B,C,Dが同一円周上にあるか"$
KOUSATU:"円周角の定理の逆により、同一底辺で底辺に関して同じ側にある頂点の角が等しければ・・・"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
aBAC:65;aAEB:78;aDCA:37;aCBD:45 /* (▲変更部分) */;
aDBA:180-aBAC-aAEB /* (▲変更部分) */;
aCBA:aDBA+aCBD;aACB:180-aBAC-aCBA /* (▲変更部分) */;
aDCB:aDCA+aACB;aBDC:180-aCBD-aDCB /* (▲変更部分) */;
aBEC:180-aAEB /* (▲変更部分) */;
if aDCA=aDBA then KAITOU:"同一円周上" else KAITOU:"同一円周上にない" /* (▲変更部分) */$
dL:[aCBA,aACB,aBAC] /* (▲変更部分) */;
dL2:[aCBD,aDCB,aBDC] /* (▲変更部分) */;
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
p4:[dcos(270+dL2[3]+2*dL2[1]),dsin(270+dL2[3]+2*dL2[1])];
lCE:dis(p1,p2)/dsin(aBEC)*dsin(aCBD);lEA:dis(p1,p3)/dsin(aAEB)*dsin(aDBA) /* (▲変更部分2) */;
p5:ppie(p2,p3,lCE,lEA) /* (▲変更部分2) */;
p0:[0,0];
para0:parametric(dcos(t),dsin(t),t,0,360);
title1:"";
ptL1:[p1,p2,p3,p1];ptL2:[p1,p2,p4,p1];ptL3:[p3,p4] /* (▲変更部分3) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]] /* (▲変更部分3) */,
para0,
label(["B",p1[1]-0.2,p1[2]]),label(["C",p2[1]+0.2,p2[2]]),label(["D",p4[1]+0.1,p4[2]+0.1]),
label(["A",p3[1]-0.2,p3[2]]),label(["E",p5[1],p5[2]+0.1]),
label(["37",p2[1]-0.3,p2[2]+0.3]),label(["65",p3[1]+0.1,p3[2]-0.2]),label(["78",p5[1]-0.2,p5[2]])/* (▲変更部分4) */,
label(["O",p0[1],p0[2]-0.2]),
points_joined=true,
line_width=3,color=red,points(ptL1),
line_width=1,color=green,points(ptL2),
line_width=1,color=black,points(ptL3),
point_type=1,color=black,points([p5]),
point_type=1,color=black,points([p0])
) /*pLのグラフ表示*/$
SUJIMITI:"∠EBA=( ),∠DCA=( )で、∠EBA=∠DCAとなり、" /* (▲変更部分5) */$
print(MONDAI)$
print(SUJIMITI)$
print(KAITOU)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、考察せよ。
aBAC:110;aBEC:84;aDBE:26;aCBD:20 /* (▲変更部分) */;
aCBE:aCBD+aDBE;aECB:180-aCBE-aBEC /* (▲変更部分) */;
aCBA:aCBE;aACB:180-aBAC-aCBA /* (▲変更部分) */;
aBDC:aDBE+aBEC;aDCB:aECB /* (▲変更部分) */;
if aBDC=aBAC then KAITOU:"同一円周上" else KAITOU:"同一円周上にない" /* (▲変更部分) */$
dL:[aCBA,aACB,aBAC] /* (▲変更部分) */;
dL2:[aCBD,aDCB,aBDC] /* (▲変更部分) */;
lAB:dis(p1,p2)/dsin(aBAC)*dsin(aACB);lEB:dis(p1,p2)/dsin(aBEC)*dsin(aECB) /* (▲変更部分2) */;
p5:ppie(p1,p3,lEB,lAB-lEB) /* (▲変更部分2) */;
ptL1:[p1,p2,p3,p1];ptL2:[p1,p2,p4,p1];ptL3:[p3,p5,p4] /* (▲変更部分3) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2]+0.5,ap[2]+0.5] /* (▲変更部分3) */,
label(["26",p1[1],p1[2]+0.2]),label(["110",p3[1]+0.1,p3[2]-0.2]),label(["84",p5[1],p5[2]-0.2])/* (▲変更部分4) */,
SUJIMITI:"∠BAC=( ),∠BDC=( )で、∠CAB=∠CDBとなり、" /* (▲変更部分5) */$
C 円に内接する四角形
◆コマンド番号120
●円に内接する四角形
四角形が円に内接する必要条件●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"120 図において、角の大きさaは"$
KOUSATU:"円に内接する四角形の性質により・・・"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
aDBA:48;aADB:57 /* (▲変更部分) */;
aBAD:180-aDBA-aADB /* (▲変更部分) */;
aCBD:30;aDCB:180-aBAD;aBDC:180-aCBD-aDCB /* (▲変更部分) */;
KAITOU:["aDCB=",aDCB] /* (▲変更部分) */$
dL:[aDBA,aADB,aBAD] /* (▲変更部分) */;
dL2:[aCBD,aBDC,aDCB] /* (▲変更部分) */;
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
p4:[dcos(270+dL2[3]+2*dL2[1]),-(dsin(270+dL2[3]+2*dL2[1]))] /* (▲変更部分2) */;
p0:[0,0] /* (▲変更部分2) */;
para0:parametric(dcos(t),dsin(t),t,0,360) /* (▲変更部分2) */;
ptL1:[p1,p2,p3,p1];ptL2:[p1,p2,p4,p1] /* (▲変更部分2) */;
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]],
para0,
label(["B",p1[1]-0.2,p1[2]]),label(["D",p2[1]+0.2,p2[2]]),label(["A",p3[1]+0.1,p3[2]+0.1])/* (▲変更部分3) */,
label(["C",p4[1]+0.1,p4[2]-0.1])/* (▲変更部分3) */,
label(["48",p1[1]+0.3,p1[2]+0.1]),label(["37",p2[1]-0.3,p2[2]+0.1]),label(["a",p4[1],p4[2]+0.1])/* (▲変更部分3) */,
label(["O",p0[1],p0[2]-0.2])/* (▲変更部分3) */,
points_joined=true,
line_width=3,color=red,points(ptL1),
line_width=1,color=green,points(ptL2),
point_type=1,color=black,points([p0])
) /*pLのグラフ表示*/$
SUJIMITI:"∠BAD=( )で、∠DCB=( )" /* (▲変更部分4) */$
print(MONDAI)$
print(SUJIMITI)$
print(KAITOU)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、考察せよ。
aEAD:55;aDEA:30 /* (▲変更部分) */;
aADE:180-aEAD-aDEA /* (▲変更部分) */;
aEBC:aADE /* (▲変更部分) */;
KAITOU:["a=",aEBC] /* (▲変更部分) */$
dL:[aEAD,aDEA,aADE] /* (▲変更部分) */;
lBE:0.9;lAE:dis(p1,p2);lED:dis(p2,p3);lEC:lAE*lBE/lED /* (▲変更部分2) */;
p4:p2-[lBE,0];p5:ppie(p2,p3,lEC,lED-lEC) /* (▲変更部分2) */;
lPB43:lPB(p4,p3);lPB31:lPB(p3,p1) /* (▲変更部分2) */;
sP0:solve([lPB43,lPB31],[x,y]),numer /* (▲変更部分2) */;
p0:[rhs(sP0[1][1]),rhs(sP0[1][2])] /* (▲変更部分2) */;
lBO:dis(p1,p0) /* (▲変更部分2) */;
para0:parametric(p0[1]+lBO*dcos(t),p0[2]+lBO*dsin(t),t,0,360) /* (▲変更部分2) */;
ptL1:[p1,p2,p3,p1];ptL2:[p4,p5] /* (▲変更部分2) */;
label(["A",p1[1]-0.2,p1[2]]),label(["E",p2[1]+0.2,p2[2]]),label(["D",p3[1]+0.1,p3[2]+0.1]) /* (▲変更部分3) */,
label(["B",p4[1]+0.1,p4[2]-0.1]),label(["C",p5[1]+0.1,p5[2]+0.1]) /* (▲変更部分3) */,
label(["55",p1[1]+0.2,p1[2]+0.1]),label(["30",p2[1]-0.3,p2[2]+0.05]),label(["a",p4[1]+0.1,p4[2]+0.1])/* (▲変更部分3) */,
label(["O",p0[1],p0[2]-0.1]) /* (▲変更部分3) */,
SUJIMITI:"∠BCE=( )で、" /* (▲変更部分4) */$
◆コマンド番号121
●円に内接する四角形
四角形が円に内接する十分条件●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"121 図において、角の大きさaがいくらなら円に内接するか"$
KOUSATU:"円に内接するしないとすると・・・"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
aDBA:48;aADB:57 ;
aBAD:180-aDBA-aADB ;
aCBD:30;aDCB:180-aBAD;aBDC:180-aCBD-aDCB /* (▲変更部分) */;
KAITOU:"内接する" ;
dL:[aDBA,aADB,aBAD] ;
dL2:[aCBD,aBDC,aDCB] ;
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
p4:[dcos(270+dL2[3]+2*dL2[1]),-(dsin(270+dL2[3]+2*dL2[1]))] ;
p5:ppie(p1,p4,10,-1);p6:ppie(p1,p4,8,2);
p0:[0,0] ;
para0:parametric(dcos(t),dsin(t),t,0,360) ;
ptL1:[p1,p2,p3,p1];ptL2:[p1,p2,p4,p5,p1] ;
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]],
para0,
label(["B",p1[1]-0.2,p1[2]]),label(["D",p2[1]+0.2,p2[2]]),label(["A",p3[1]+0.1,p3[2]+0.1]),
label(["C",p4[1]+0.1,p4[2]-0.1]),
label(["C'",p6[1],p6[2]+0.1]),
label(["48",p1[1]+0.3,p1[2]+0.1]),label(["57",p2[1]-0.3,p2[2]+0.1]),label(["105",p4[1],p4[2]+0.1]),
label(["O",p0[1],p0[2]-0.2]),
points_joined=true,
line_width=3,color=red,points(ptL1),
line_width=1,color=green,points(ptL2),
line_width=1,color=black,points([p2,p6]),
point_type=1,color=black,points([p0])
) /*pLのグラフ表示*/$
SUJIMITI:"円に内接しないとすると、直線BCまたはその延長上で、B,C以外の点C'で交わる。BC'<BCかBC'>BCとなり、∠BC'D>( )または、∠BC'D<( )となる。ところが、円に内接する必要条件から、∠BC'D=( )となり、矛盾が生じる。" $
print(MONDAI)$
print(SUJIMITI)$
print(KAITOU)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、なぜ矛盾といえるか、考察せよ。
aCBD:45;aDCB:180-aBAD;aBDC:180-aCBD-aDCB /* (▲変更部分) */;
◆コマンド番号122
●円に内接する四角形
四角形が円に内接する十分条件●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"122 図において、四角形は円に内接するか"$
KOUSATU:"円に内接する四角形の十分条件は・・・"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
aCBA:60;aBAD:120;aDCB:70;aACB:50;aDCA:aDCB-aACB /* (▲変更部分) */;
aBAC:180-aCBA-aACB;aCAD:aBAD-aBAC;aADC:180-aCAD-aDCA /* (▲変更部分) */;
aCBD:30;aBDC:180-aCBD-aDCB /* (▲変更部分) */;
if(aBAD+aDCB)=180 then KAITOU:"内接する" else KAITOU:"内接しない" ;
dL:[aCBA,aACB,aBAC] ;
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
lCA:dis(p2,p3);r2:lCA/dsin(aADC);lCD:r2*dsin(aCAD);
p4:p2+lCD*[dcos(180-aDCB),dsin(180-aDCB)] ;
p0:[0,0] ;
para0:parametric(dcos(t),dsin(t),t,0,360) ;
ptL1:[p1,p2,p4,p3,p1] /* (▲変更部分2) */;
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]],
para0,
label(["B",p1[1]-0.2,p1[2]]),label(["C",p2[1]+0.2,p2[2]-0.2]),label(["A",p3[1]+0.1,p3[2]+0.1]),
label(["D",p4[1]+0.1,p4[2]+0.1]),
label(["60",p1[1]+0.3,p1[2]+0.1]),label(["70",p2[1]-0.3,p2[2]+0.1]),label(["120",p3[1]+0.1,p3[2]-0.2]) /* (▲変更部分3) */,
label(["O",p0[1],p0[2]-0.2]),
points_joined=true,
line_width=3,color=red,points(ptL1),
point_type=1,color=black,points([p0])
) /*pLのグラフ表示*/$
SUJIMITI:"円に内接する十分条件は、∠BAD+∠DCB=( )。今、∠BAD=( )、∠DCB=( )だから、" $
print(MONDAI)$
print(SUJIMITI)$
print(KAITOU)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、なぜ矛盾といえるか、考察せよ。
aCBA:85;aACB:30;aBAC:180-aCBA-aACB /* (▲変更部分) */;
aCAD:180-65-aBAC;aDCA:180-115-aACB;aADC:180-aDCA-aCAD /* (▲変更部分) */;
aBAD:180-65;aDCB:180-115 /* (▲変更部分) */;
p5:ppie(p4,p2,6,-1);p6:ppie(p1,p2,6,-1) /* (▲変更部分2) */;
ptL1:[p1,p6,p2,p4,p5,p3,p1] /* (▲変更部分2) */;
label(["85",p1[1]+0.2,p1[2]+0.1]),label(["115",p2[1]+0.2,p2[2]+0.1]),label(["65",p3[1]-0.3,p3[2]-0.2]) /* (▲変更部分3) */,
:
5.円と直線
A 円の接線
◆コマンド番号123
●円の接線
円の弧と弦の性質●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"例題2・練習15 123 図において、長さBPは"$
KOUSATU:"円に内接する四角形の十分条件は・・・"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
lCA:5;lAB:7;lBC:8 /* (▲変更部分) */;
aCBA:As(lCA,lAB,lBC);aACB:As(lAB,llBC,lCA);aBAC:As(lBC,lCA,lAB);
dL:[aCBA,aACB,aBAC];
lBP:X;lPC:lBC-lBP;lRB:lBP;lAR:lAB-lRB;lCQ:lPC;lQA:lAR;
sX:solve(lCQ+lQA=lCA,X);
x:rhs(sX[1]);
lBP:subst(X=x,lBP);lPC:subst(X=x,lPC);lCQ:subst(X=x,lCQ);lQA:subst(X=x,lQA);lAR:subst(X=x,lAR);lRB:subst(X=x,lRB);
KAITOU:["lBP=",lBP] /* (▲変更部分2) */;
KAKUNIN:"図で確認";
r:lCA/dsin(As(lCA,lAB,lBC))/2;ap:r*ap;
p1:r*[dcos(270-dL[3]),dsin(270-dL[3])];p2:r*[dcos(270+dL[3]),dsin(270+dL[3])];p3:r*[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
p4:ppie(p1,p2,lBP,lPC);p5:ppie(p2,p3,lCQ,lQA);p6:ppie(p3,p1,lAR,lRB);
p7:ppie(p1,p2,lAB,lCA);p37:1/(lAB*lBC/((lAB+lCA)*lAB));
p0:ppie(p3,p7,num(p37),denom(p37));r0:dis(p0,p4);
KAITOU:ev(subst(R0=r0,KAITOU),nouns,numer);
para0:parametric(p0[1]+r0*dcos(t),p0[2]+r0*dsin(t),t,0,360) ;
ptL1:[p1,p4,p2,p5,p3,p6,p1] ;
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]],
para0,
label(["B",p1[1]-0.4,p1[2]]),label(["C",p2[1]+0.4,p2[2]-0.4]),label(["A",p3[1]+0.4,p3[2]+0.4]),
label(["P",p4[1],p4[2]-0.6]),label(["Q",p5[1]+0.4,p5[2]+0.4]),label(["R",p6[1]-0.4,p6[2]+0.4]),
label(["O",p0[1],p0[2]-0.6]),
points_joined=true,
line_width=3,color=red,points(ptL1),
point_type=1,color=black,points([p0])
) /*pLのグラフ表示*/$
SUJIMITI:"△ABCは円に外接するから、RB=BP=xとして、CAの長さの方程式は( )=7だから、" $
print(MONDAI)$
print(SUJIMITI)$
print(KAITOU)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、考察せよ。
lCA:3;lAB:5;lBC:4 /* (▲変更部分) */;
KAITOU:["lBP=",lBP,"r=",R0] /* (▲変更部分2) */;
B 円の接線と弦のつくる角
◆コマンド番号124
●円の接線と弦のつくる角
円の接線と弦のつくる角●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"練習16 124 図において、角の大きさaは"$
KOUSATU:"円の接線と弦のつくる角の関係により・・・"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
aCBA:60;aACB:73;aBAC:180-aACB-aCBA;aCAm:60;a:aCAm /* (▲変更部分) */;
dL:[aBAC,aCBA,aACB] /* (▲変更部分) */;
KAITOU:["a=",a];
para1:parametric(t,-1,t,-ap[1],ap[1]);
p1:[0,-1];p2:[dcos(270+dL[3]*2),dsin(270+dL[3]*2)];
p3:[dcos(270-dL[2]*2),dsin(270-dL[2]*2)];
p0:[0,0];
para0:parametric(dcos(t),dsin(t),t,0,360);
ptL1:[p1,p2,p3,p1] /* (▲変更部分2) */;
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]],
para0,para1,
label(["A",p1[1]+0.1,p1[2]-0.1]),label(["C",p2[1]+0.2,p2[2]]),label(["B",p3[1]-0.1,p3[2]+0.1]),
label(["O",p0[1],p0[2]-0.2]) /* (▲変更部分3) */,
label(["a",p1[1]-0.1,p1[2]+0.1]),label(["60",p2[1]-0.2,p2[2]-0.2]),label(["73",p3[1]+0.2,p3[2]-0.1]) /* (▲変更部分3) */,
points_joined=true,
line_width=3,color=red,points(ptL1),
point_type=1,color=black,points([p0])
) /*pLのグラフ表示*/$
SUJIMITI:"点Aで円は直線に接するから、a=∠( )だから、" /* (▲変更部分4) */;
print(MONDAI)$
print(SUJIMITI)$
print(KAITOU)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、考察せよ。
aABC:24;aBDA:47;aDAB:180-aABC-aBDA;aDAC:aABC;aCAB:aDAB-aDAC;aBCA:180-aABC-aCAB /* (▲変更部分) */;
a:180-aABC-(aBDA+aABC) /* (▲変更部分) */;
dL:[aCAB,aBCA,aABC] /* (▲変更部分) */;
p4:[dis(p1,p2)/dsin(aBDA)*dsin(aBCA),-1] /* (▲変更部分2) */;
ptL1:[p1,p2,p4,p3,p1] /* (▲変更部分2) */;
label(["O",p0[1],p0[2]-0.2]),label(["D",p4[1]+0.1,p4[2]+0.2]) /* (▲変更部分3) */,
label(["a",p1[1]+0.15,p1[2]+0.15]),label(["47",p4[1]-0.2,p4[2]+0.05]),label(["24",p3[1]+0.2,p3[2]]) /* (▲変更部分3) */,
SUJIMITI:"点Aで円は直線に接するから、∠DAC=( )となり、∠BCA=( )だから、" /* (▲変更部分4) */;
C 方べきの定理
◆コマンド番号125
●方べきの定理
方べきの定理●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"練習17 125 図において、線分の長さの積PA・PBは"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3)));
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3));
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
CP:3;DP:5;PB:2;aBPC:70;aAPD:aBPC;
PA:CP*DP/PB;aCPA:180-aBPC;aDPB:aCPA;
KAITOU:["PA*PB=",PA*PB];
AD:sqrt(DP^2+PA^2-2*DP*PA*dcos(aAPD)) /* (▲変更部分2) */;
CA:sqrt(PA^2+CP^2-2*PA*CP*dcos(aCPA)) /* (▲変更部分2) */;
DC:DP+CP /* (▲変更部分2) */;
aDAC:dacos((AD^2+CA^2-DC^2)/(2*AD*CA)) /* (▲変更部分2) */;
aCDA:dacos((AD^2+DC^2-CA^2)/(2*AD*DC));aACD:180-aDAC-aCDA /* (▲変更部分2) */;
dL:[aDAC,aCDA,aACD] /* (▲変更部分2) */;
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])] /* (▲変更部分2) */;
p4:ppie(p2,p3,DP,CP) /* (▲変更部分2) */;
p5:ppie(p1,p4,PA+PB,-PB);p0:[0,0] /* (▲変更部分2) */;
para0:parametric(dcos(t),dsin(t),t,0,360) /* (▲変更部分2) */;
ptL1:[p1,p5,p4,p2,p3] /* (▲変更部分2) */;
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]],
para0,
label(["A",p1[1]-0.1,p1[2]-0.1]),label(["D",p2[1]+0.2,p2[2]]),label(["C",p3[1]-0.1,p3[2]+0.1]) /* (▲変更部分3) */,
label(["P",p4[1],p4[2]-0.2]),label(["B",p5[1]+0.2,p5[2]]) /* (▲変更部分3) */,
label(["3",p3[1],p3[2]-0.3]),label(["5",p2[1]-0.2,p2[2]+0.5]) /* (▲変更部分3) */,
points_joined=true,
line_width=3,color=red,points(ptL1),
point_type=1,color=black,points([[0,0]])
) /*pLのグラフ表示*/$
SUJIMITI:"方べきの定理により、PC*PD=( )だから、";
print(MONDAI)$
print(SUJIMITI)$
print(KAITOU)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、考察せよ。
CP:5;DP:15;PB:12;aBPC:dacos((PB^2+4*CP^2-CP^2)/(2*PB*2*CP));aAPD:aBPC /* (▲変更部分) */;
PA:CP*DP/PB;aCPA:aBPC;aDPB:aCPA /* (▲変更部分) */;
KAITOU:["PA*PB=",PA*PB] /* (▲変更部分) */;
DB:sqrt(DP^2+PB^2-2*DP*PB*dcos(aAPD)) /* (▲変更部分2) */;
aDPB:dacos((DP^2+PB^2-DB^2)/(2*DP*PB)) /* (▲変更部分2) */;
aPBD:dacos((PB^2+DB^2-DP^2)/(2*PB*DB));aBDP:180-aDPB-aPBD /* (▲変更部分2) */;
dL:[aDPB,aBDP,aPBD] /* (▲変更部分2) */;
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])] /* (▲変更部分2) */;
p4:ppie(p1,p2,CP,DP-CP) /* (▲変更部分2) */;
p5:ppie(p1,p3,PA,PB-PA);p0:ppie(p1,p2,2*CP,DP-2*CP) /* (▲変更部分2) */;
para0:parametric(p0[1]+dis(p2,p0)*dcos(t),p0[2]+dis(p2,p0)*dsin(t),t,0,360) /* (▲変更部分2) */;
ptL1:[p2,p4,p1,p5,p3] /* (▲変更部分2) */;
label(["P",p1[1]-0.1,p1[2]-0.1]),label(["D",p2[1]+0.2,p2[2]]),label(["B",p3[1]-0.1,p3[2]+0.1]) /* (▲変更部分3) */,
label(["C",p4[1],p4[2]-0.2]),label(["A",p5[1]+0.2,p5[2]]) /* (▲変更部分3) */,
label(["5",p1[1]+0.4,p1[2]-0.1]),label(["5",p4[1]+0.4,p4[2]-0.1]),label(["5",p0[1]+0.4,p0[2]-0.1]) /* (▲変更部分3) */,
◆コマンド番号126
●方べきの定理
方べきの定理●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"練習18 126 図において、線分の長さの積PA・PBは"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3))) /* 3点から角度 */;
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3)) /* 3辺から角度 */;
lAss(A,s2,s3):=sqrt(s2^2+s3^2-2*s2*s3*dcos(A)) /* 2辺と1角から辺 */;
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2 /* 3点から面積 */;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
r:5;PO:8;PB:9 /* (▲変更部分) */;
PC:PO-r;PD:PO+r;PA:PC*PD/PB /* (▲変更部分) */;
KAITOU:["PA*PB=",PA*PB,"PO^2-a^2=",PO,"^2-",a,"^2=",PO^2-a^2] /* (▲変更部分) */$
aDPB:As(r,PO,PB);DB:lAss(aDPB,PD,PB);aBDP:As(PB,DB,PD);aPBD:As(PD,DB,PB) /* (▲変更部分) */;
dL:[aDPB,aBDP,aPBD] /* (▲変更部分) */;
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
p4:ppie(p1,p2,PC,PD-PC);p5:ppie(p1,p3,PA,PB-PA) /* (▲変更部分2) */;
p0:ppie(p4,p2,1,1);r0:dis(p0,p2) /* (▲変更部分2) */;
ptL:[p1,p2,p3,p1,p4,p5] /* (▲変更部分2) */;
para0:parametric(p0[1]+r0*dcos(t),p0[2]+r0*dsin(t),t,0,360);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]],
para0,
label(["P",p1[1]-0.1,p1[2]-0.1]),label(["D",p2[1]+0.2,p2[2]]),label(["B",p3[1]-0.1,p3[2]+0.1]) /* (▲変更部分3) */,
label(["C",p4[1]-0.1,p4[2]-0.2]),label(["A",p5[1]-0.1,p5[2]+0.1]) /* (▲変更部分3) */,
label(["r",p4[1]+0.3,p4[2]+0.1]),label(["r",p2[1]-0.2,p2[2]+0.1]) /* (▲変更部分3) */,
points_joined=true,
line_width=3,color=red,points(ptL),
point_type=1,color=black,points([p0])
) /*pLのグラフ表示*/$
SUJIMITI:"方べきの定理により、PA*PB=( )で、PC=( )、PD=( )だから、" $
print(MONDAI)$
print(SUJIMITI)$
print(KAITOU)$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、考察せよ。
r:5;PO:2;PB:4 /* (▲変更部分) */;
PC:PO+r;PD:r-PO;PA:PC*PD/PB /* (▲変更部分) */;
KAITOU:["PA*PB=",PA*PB,"r^2-PO^2=",r,"^2-",PO,"^2=",r^2-PO^2] /* (▲変更部分) */$
aAPO:As(r,PO,PA);AC:lAss(aAPO,PA,PC);aDCA:As(PA,PC,AC);aCAD:90;aADC:180-aDCA-aCAD /* (▲変更部分) */;
dL:[aDCA,aADC,aCAD] /* (▲変更部分) */;
p4:ppie(p1,p2,PC,PD);p5:ppie(p3,p4,PA+PB,-PB) /* (▲変更部分2) */;
p0:ppie(p1,p2,1,1);r0:dis(p0,p1) /* (▲変更部分2) */;
ptL:[p1,p2,p4,p3,p5] /* (▲変更部分2) */;
label(["C",p1[1]-0.1,p1[2]-0.1]),label(["D",p2[1]+0.2,p2[2]]),label(["A",p3[1]-0.1,p3[2]+0.1]) /* (▲変更部分3) */,
label(["P",p4[1]-0.1,p4[2]-0.2]),label(["B",p5[1]-0.2,p5[2]]),label(["O",p0[1],p0[2]-0.2]) /* (▲変更部分3) */,
label(["r",p1[1]+0.4,p1[2]+0.1]),label(["r",p2[1]-0.4,p2[2]+0.1]) /* (▲変更部分3) */,
◆コマンド番号127
●方べきの定理
方べきの定理●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"練習19 127 図において、線分の長さの積PA・PBは"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3))) /* 3点から角度 */;
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3)) /* 3辺から角度 */;
lAss(A,s2,s3):=sqrt(s2^2+s3^2-2*s2*s3*dcos(A)) /* 2辺と1角から辺 */;
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2 /* 3点から面積 */;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
r:5;PO:8;PB:12 /* (▲変更部分) */;
PT:sqrt(PO^2-r^2);PA:PT^2/PB /* (▲変更部分) */;
KAITOU:["PA*PB=",PA*PB,"PO^2-r^2=",PO^2-r^2,"PT^2=",PT^2] /* (▲変更部分) */$
aOPT:As(r,PO,PT);aBPO:As(r,PB,PO);aBPT:aBPO+aOPT;BT:lAss(aBPT,PB,PT);aTBP:As(PT,PB,BT);aPTB:As(PB,BT,PT) /* (▲変更部分) */;
dL:[aBPT,aTBP,aPTB] /* (▲変更部分) */;
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
p4:ppie(p1,p2,PA,PB-PA) /* (▲変更部分2) */;
lPO:PO/PT*dis(p1,p3);
p0:p1+lPO*[dcos(aBPO),dsin(aBPO)] /* (▲変更部分2) */;
ptL:[p1,p2,p4,p1,p3] /* (▲変更部分2) */;
ptL2:[p1,p0,p3] /* (▲変更部分2) */;
r0:dis(p2,p0);
para0:parametric(p0[1]+r0*dcos(t),p0[2]+r0*dsin(t),t,0,360);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2]+0.5,ap[2]+0.5],
para0,
label(["P",p1[1]-0.1,p1[2]-0.1]),label(["B",p2[1]+0.2,p2[2]]),label(["T",p3[1]-0.1,p3[2]+0.1]) /* (▲変更部分3) */,
label(["A",p4[1]-0.1,p4[2]-0.2]) /* (▲変更部分3) */,
label(["r",p3[1]+0.3,p3[2]-0.3]),label(["O",p0[1]+0.2,p0[2]]) /* (▲変更部分3) */,
points_joined=true,
line_width=3,color=red,points(ptL),
line_width=1,color=red,points(ptL2),
point_type=1,color=black,points([p0])
) /*pLのグラフ表示*/$
SUJIMITI:"方べきの定理により、PA*PB=( )で、PT^2=( )だから、" $
print(MONDAI)$
print(SUJIMITI)$
print(KAITOU)$
◎上のMaximaコマンドを実行せよ。
◎上の実行結果の図で、AとT,TとBを結んで、△PTAと△PBTの関係から、PA*PB=PT^2を考察せよ。
(注)方とは、長方形を意味し、図形では線分PAとPBの積のことである。べきとは同じものの積PT^2のことである。
方べきの定理とは、円外の点における円への接線(接点までの距離のべき)と割線(2つの分割点までの距離の積)に関する定理というのが、漢語訳における文字通りの意味である。英語訳では、power of a pointともsecant-tangent theoremともintersecting chords theoremとも言われる。方べきという漢語に最も近いのは、2つ目の英語訳であろう。1つ目は|PO^2-r^2|という点Pのもつ値に注目したもの、3つ目は弦あるいはその延長(割線)の交点に注目したものと言えよう。
:
6.2つの円
A 2つの円の位置関係
◆コマンド番号128
●位置関係と半径、中心間の距離
位置関係と半径、中心間の距離●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:" 128 図において、2つの半径と中心間の距離の関係は"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3))) /* 3点から角度 */;
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3)) /* 3辺から角度 */;
lAss(A,s2,s3):=sqrt(s2^2+s3^2-2*s2*s3*dcos(A)) /* 2辺と1角から辺 */;
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2 /* 3点から面積 */;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
r1:5;r2:3;d:8;
KAITOU:["r+r'=",r1+r2,"d=",d,"となり、d=r+r'"] /* (▲変更部分) */$
AB:r1*sqrt(2);BC:r1+d+r2;aCBA:45;CA:lAss(aCBA,AB,BC);
aACB:As(AB,BC,CA);aBAC:180-aCBA-aACB;
dL:[aCBA,aACB,aBAC];
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
p01:ppie(p1,p2,r1,d+r2);r01:dis(p1,p01);p02:ppie(p1,p2,r1+d,r2);r02:dis(p02,p2);
p03:ppie(p01,p02,r01,r02);
ptL:[p01,p02];
para01:parametric(p01[1]+r01*dcos(t),p01[2]+r01*dsin(t),t,0,360);
para02:parametric(p02[1]+r02*dcos(t),p02[2]+r02*dsin(t),t,0,360);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2]+0.3,ap[2]+0.3],
para01,para02,
label(["O",p01[1],p01[2]-0.2]),label(["O'",p02[1],p02[2]-0.2]),label(["d",p03[1],p03[2]-0.3]) /* (▲変更部分3) */,
label(["r",p01[1]+0.3,p01[2]+0.1]),label(["r'",p02[1]-0.2,p02[2]+0.1]) /* (▲変更部分3) */,
points_joined=true,
line_width=3,color=red,points(ptL)
) /*pLのグラフ表示*/$
SUJIMITI:"外接しているので、dとr+r'は( )、" $
print(MONDAI)$
print(SUJIMITI)$
print(KAITOU)$
◎上のMaximaコマンドを実行せよ。
◎上のMaximaコマンドを、以下のように修正して実行し、結果を比較して考察せよ。
r1:5;r2:4;d:7;
KAITOU:["r+r'=",r1+r2,"d=",d,"となり、r-r'<d<r+r'"] /* (▲変更部分) */$
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2]+0.4,ap[2]+0.4],
label(["O",p01[1],p01[2]-0.2]),label(["O'",p02[1],p02[2]-0.2]),label(["d",p03[1],p03[2]-0.1]) /* (▲変更部分3) */,
label(["r",p01[1]+0.25,p01[2]+0.1]),label(["r'",p02[1]-0.15,p02[2]+0.1]) /* (▲変更部分3) */,
B 2つの円の共通接線
◆コマンド番号129
●2つの円の共通接線
2つの円の共通接線と半径、中心間の距離●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"例題3 129 図において、2つの半径5,3、中心間の距離10のとき、接点A,Bの距離は"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3))) /* 3点から角度 */;
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3)) /* 3辺から角度 */;
lAss(A,s2,s3):=sqrt(s2^2+s3^2-2*s2*s3*dcos(A)) /* 2辺と1角から辺 */;
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2 /* 3点から面積 */;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
r1:5;r2:3;d:10;
OH:r1-r2 /* (▲変更部分) */;
O2H:sqrt(d^2-OH^2) /* (▲変更部分) */;
KAITOU:["AB=",O2H] $
aO2OH:As(O2H,OH,d);aOUW:45;
WU:lAss(90,r1,r1);VW:lAss(90,d+r2,r1);
aVUW:aOUW;aWVU:As(WU,VW,r1+d+r2);aUWV:180-aVUW-aWVU;
dL:[aVUW,aWVU,aUWV],numer;
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
p01:ppie(p1,p2,r1,d+r2);r01:dis(p1,p01);p02:ppie(p1,p2,r1+d,r2);r02:dis(p02,p2);
p03:ppie(p01,p02,r01,r02);p4:p01+[dcos(aO2OH),dsin(aO2OH)]*r01;p5:p02+(p4-p01)/r01*r02;p6:ppie(p01,p4,r01-r02,r02) /* (▲変更部分2) */;
ptL:[p01,p02],numer;
ptL2:[p01,p4,p5,p02,p6,p01],numer;
para01:parametric(p01[1]+r01*dcos(t),p01[2]+r01*dsin(t),t,0,360);
para02:parametric(p02[1]+r02*dcos(t),p02[2]+r02*dsin(t),t,0,360);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2]+0.3,ap[2]+0.3],
para01,para02,
label(["O",p01[1],p01[2]-0.2]),label(["O'",p02[1],p02[2]-0.2]),label(["d",p03[1],p03[2]-0.3]),
label(["A",p4[1],p4[2]+0.2]),label(["B",p5[1],p5[2]+0.2]),label(["H",p6[1]-0.2,p6[2]]) /* (▲変更部分3) */,
label(["r",p01[1]+0.3,p01[2]+0.1]),label(["r'",p02[1]-0.1,p02[2]+0.1]),
points_joined=true,
line_width=3,color=red,points(ptL),
line_width=1,color=red,points(ptL2)
) /*pLのグラフ表示*/$
SUJIMITI:"AB//HO'とすると、HO'は、O'O=( )、OH=( )となり、" $
print(MONDAI)$
print(SUJIMITI)$
print(KAITOU)$
◎上のMaximaコマンドを実行せよ。
◎上のMaximaコマンドを、以下のように修正して実行し、結果を比較して考察せよ。
OH:r1+r2 /* (▲変更部分) */;
O2H:sqrt(d^2-OH^2) /* (▲変更部分) */;
p03:ppie(p01,p02,r01,r02);p4:p01+[dcos(aO2OH),dsin(aO2OH)]*r01;p5:p02-(p4-p01)/r01*r02;p6:ppie(p01,p4,r01+r02,-r02) /* (▲変更部分2) */;
label(["A",p4[1],p4[2]+0.2]),label(["B",p5[1],p5[2]-0.2]),label(["H",p6[1],p6[2]+0.2]) /* (▲変更部分3) */,
:
7.作図
A 基本的な作図
◆コマンド番号129
●1点1直線と垂線
1点をとおる、1直線への垂線●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:" 129 図において、点Aを通る、直線Lへの垂線の作図は"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3))) /* 3点から角度 */;
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3)) /* 3辺から角度 */;
lAss(A,s2,s3):=sqrt(s2^2+s3^2-2*s2*s3*dcos(A)) /* 2辺と1角から辺 */;
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2 /* 3点から面積 */;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
cir(p,r,tm,tM):=parametric(p[1]+r*dcos(t),p[2]+r*dsin(t),t,tm,tM);
lab(nam,p):=label([nam,p[1],p[2]]);
dL:[60,60,60];
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
ptL:[[-1,0],[1,0]];r1:sqrt(1+0.25) /* (▲変更部分) */;
para1:cir([0,1],r1,240,300) /* (▲変更部分) */;
para2:cir([-0.5,0],r1,270,315) /* (▲変更部分) */;
para3:cir([0.5,0],r1,225,270) /* (▲変更部分) */;
lab1:lab("A",p3+[-0.2,0]) /* (▲変更部分) */;
lab2:lab("L",[-1.2,0]);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]],
points_joined=true,
line_width=3,color=red,points(ptL),
line_width=1,color=black,para1,para2,para3,
line_width=2,color=blue,points([p3,-2*p3]),
lab2,lab1 /* (▲変更部分2) */
) /*pLのグラフ表示*/$
◎上のMaximaコマンドを実行せよ。
◎上のMaximaコマンドを、以下のように修正して実行し、結果を比較して考察せよ。
ptL:[[-1,0],[1,0]];r1:sqrt(1+0.25);r0:0.5 /* (▲変更部分) */;
para1:cir([0,0],r0,-15,195) /* (▲変更部分) */;
para2:cir([-0.5,0],r1,-75,75) /* (▲変更部分) */;
para3:cir([0.5,0],r1,105,255) /* (▲変更部分) */;
lab1:lab("A",[-0.1,0.1]) /* (▲変更部分) */;
points([[0,0]]),lab2,lab1 /* (▲変更部分2) */
◆コマンド番号130
●1点1直線と平行線
1点をとおる、1直線への平行線●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:" 130 図において、点Aを通る、直線Lとの平行線の作図は"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3))) /* 3点から角度 */;
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3)) /* 3辺から角度 */;
lAss(A,s2,s3):=sqrt(s2^2+s3^2-2*s2*s3*dcos(A)) /* 2辺と1角から辺 */;
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2 /* 3点から面積 */;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
cir(p,r,tm,tM):=parametric(p[1]+r*dcos(t),p[2]+r*dsin(t),t,tm,tM);
lab(nam,p):=label([nam,p[1],p[2]]);
dL:[60,60,60];p0:[0,0];
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
ptL1:[p1,p2];r1:0.5 /* (▲変更部分) */;
ptL2:[p1,p0,p0*2-p1] /* (▲変更部分) */;
para1:cir(p1,r1,-15,60) /* (▲変更部分) */;
para2:cir(p0,r1,-15,60) /* (▲変更部分) */;
ap210:A(p2,p1,p0);
r2:lAss(ap210,0.5,0.5);
para3:cir(p1+r1*[dcos(ap210),dsin(ap210)],r2,-90,-30) /* (▲変更部分) */;
para4:cir(p0+r1*[dcos(ap210),dsin(ap210)],r2,-90,-30) /* (▲変更部分) */;
lab1:lab("A",p0+[-0.1,0]) /* (▲変更部分) */;
lab2:lab("L",p1+[-0.1,0]);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]],
points_joined=true,
line_width=3,color=red,points(ptL1),points([p0]),
line_width=1,color=black,points(ptL2),
line_width=1,color=black,para1,para2,para3,para4,
line_width=2,color=blue,points([p0,p0+(p2-p1)]),
lab2,lab1 /* (▲変更部分2) */
) /*pLのグラフ表示*/$
◎上のMaximaコマンドを実行し、作図手順について、考察せよ。
◆コマンド番号131
●正方形
線分から正方形の作図●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:" 131 図において、線分ABを一辺とする正方形の作図は"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3))) /* 3点から角度 */;
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3)) /* 3辺から角度 */;
lAss(A,s2,s3):=sqrt(s2^2+s3^2-2*s2*s3*dcos(A)) /* 2辺と1角から辺 */;
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2 /* 3点から面積 */;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
cir(p,r,tm,tM):=parametric(p[1]+r*dcos(t),p[2]+r*dsin(t),t,tm,tM);
lab(nam,p):=label([nam,p[1],p[2]]);
dL:[67.5,67.5,45];p0:[0,0];
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
ptL1:[p1,p2];r1:0.5 /* (▲変更部分) */;
ptL2:[p1-(p2-p1),p1,p2];
para1:cir(p1,r1,-15,195) /* (▲変更部分) */;
p4:ppie(p1,p2,-r1,dis(p1,p2)+r1);p5:ppie(p1,p2,r1,dis(p1,p2)-r1);
para2:cir(p4,1,45,75) /* (▲変更部分) */;
para3:cir(p5,1,105,135) /* (▲変更部分) */;
p6:[p1[1],p1[2]+dis(p1,p2)];
ptL3:[p1,p6,p6+(p6-p1)];
para4:cir(p1,dis(p1,p2),75,105) /* (▲変更部分) */;
para5:cir(p6,dis(p1,p2),-15,15) /* (▲変更部分) */;
para6:cir(p2,dis(p1,p2),75,105) /* (▲変更部分) */;
p7:[p2[1],p2[2]+dis(p1,p2)];
ptL4:[p1,p6,p7,p2];
lab1:lab("A",p1+[-0.1,0]) /* (▲変更部分) */;
lab2:lab("B",p2+[0.1,0]);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]],
points_joined=true,
line_width=3,color=red,points(ptL1),
line_width=1,color=black,points(ptL2),para1,para2,para3,para4,para5,para6,points(ptL3),
line_width=2,color=blue,points(ptL4),
lab2,lab1 /* (▲変更部分2) */
) /*pLのグラフ表示*/$
◎上のMaximaコマンドを実行し、作図手順について、考察せよ。
B 線分の内分点、外分点の作図
◆コマンド番号132
●線分の内分点、外分点
内分点の作図●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"例5・練習23 132 図において、線分ABを2:3に内分する点の作図は"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3))) /* 3点から角度 */;
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3)) /* 3辺から角度 */;
lAss(A,s2,s3):=sqrt(s2^2+s3^2-2*s2*s3*dcos(A)) /* 2辺と1角から辺 */;
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2 /* 3点から面積 */;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
cir(p,r,tm,tM):=parametric(p[1]+r*dcos(t),p[2]+r*dsin(t),t,tm,tM);
lab(nam,p):=label([nam,p[1],p[2]]);
dL:[60,60,60];p0:[0,0];
ieP:[2,3] /* (▲変更部分1) */;
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
ptL1:[p1,p2];r1:0.5;
ptLL:makelist(p1+([0,0.5]-p1)*k/(ieP[1]+ieP[2]),k,0,ieP[1]+ieP[2]+1) /* (▲変更部分2) */;
r2:dis(ptLL[1],ptLL[2]);
ptL01:[ptLL[1],ptLL[ieP[1]+ieP[2]+2]];
para01:cir(ptLL[1],r2,30,70);para02:cir(ptLL[2],r2,30,70);para03:cir(ptLL[3],r2,30,70);para04:cir(ptLL[4],r2,30,70);para05:cir(ptLL[5],r2,30,70);
ptL2:[ptLL[ieP[1]+ieP[2]+1],p2];
para1:cir(ptLL[ieP[1]+ieP[2]+1],r2,-150,-30);
para2:cir(ptLL[ieP[1]+1],r2,-150,-30) /* (▲変更部分3) */;
r3:dis(ptLL[ieP[1]+ieP[2]],ppie(ptLL[ieP[1]+ieP[2]+1],p2,1,ieP[1]+ieP[2]-1));
para3:cir(ptLL[ieP[1]+ieP[2]],r3,-15,15);
para4:cir(ptLL[ieP[1]],r3,-15,15) /* (▲変更部分4) */;
ptL3:[ptLL[ieP[1]+1],p2+ptLL[ieP[1]+1]-ptLL[ieP[1]+ieP[2]+1]] /* (▲変更部分4) */;
ptL4:[p1,p1+(p2-p1)*ieP[1]/(ieP[1]+ieP[2])];
lab1:lab("A",p1+[-0.1,0]);
lab2:lab("B",p2+[0.1,0]);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]] /* (▲変更部分5) */,
points_joined=true,
line_width=3,color=red,points(ptL1),
line_width=1,color=black,points(ptL01),points(ptL2),para01,para02,para03,para04,para05 /* (▲変更部分6) */,
para1,para2,para3,para4,points(ptL3),
line_width=2,color=blue,points(ptL4),
lab2,lab1
) /*pLのグラフ表示*/$
◎上のMaximaコマンドを実行せよ。
◎上のMaximaコマンドを、以下のように修正して実行し、結果を比較して考察せよ。
MONDAI:"例5・練習23 131 図において、線分ABを1:4に外分する点の作図は" /* (▲変更部分0) */$
ieP:[-1,4] /* (▲変更部分1) */;
ptLL:makelist(p1+([0,0.5]-p1)*k/(ieP[1]+ieP[2]),k,0,ieP[1]+ieP[2]+2) /* (▲変更部分2) */;
para2:cir(ptLL[abs(ieP[1])+1],r2,-150,-30) /* (▲変更部分3) */;
para4:cir(ptLL[abs(ieP[1])],r3,-15,15) /* (▲変更部分4) */;
ptL3:[ptLL[abs(ieP[1])+1],p2+ptLL[abs(ieP[1])+1]-ptLL[ieP[1]+ieP[2]+1]] /* (▲変更部分4) */;
draw2d(title=title1,xrange = [-ap[1]-0.3,ap[1]-0.3], yrange = [-ap[2],ap[2]] /* (▲変更部分5) */,
line_width=1,color=black,points(ptL01),points(ptL2),para01,para02,para03 /* (▲変更部分6) */,
C いろいろな長さの線分の作図
◆コマンド番号133
●長さ1,a,bの線分に対し、積ab、商b/aの作図
線分の商の作図●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"例6・練習24 133 図において、長さ1の線分AB、長さa,bの線分から商b/aの作図は" /*(▲変更部分0) */$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3))) /* 3点から角度 */;
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3)) /* 3辺から角度 */;
lAss(A,s2,s3):=sqrt(s2^2+s3^2-2*s2*s3*dcos(A)) /* 2辺と1角から辺 */;
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2 /* 3点から面積 */;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
cir(p,r,tm,tM):=parametric(p[1]+r*dcos(t),p[2]+r*dsin(t),t,tm,tM);
lab(nam,p):=label([nam,p[1],p[2]]);
dL:[60,60,60];p0:[0,0];
ieP:[3,2] /* [a,b] */;
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];p01:p1+[1,0];p09:p1+9*[1,0];
ptL1:[p1,p01,p09];r1:0.5;
lab1:lab("A",p1+[-0.1,0]);
lab01:lab("1",p01+[-0.5,-0.2]);
lab2:lab("B",p01+[0,-0.1]);
p4:[0,0.5];
p5:ppie(p1,p4,ieP[1],ieP[2]);
ptLL:[p1,p5,p4];
ptL2:[p5,p01];ptL3:[p4,p4+(ieP[1]+ieP[2])/ieP[1]*(p01-p5)];
ptL4:[p01,ppie(p1,p01,1+ieP[2]/ieP[1],-ieP[2]/ieP[1])];
lab3:lab("a",p1+[0.2,0.4]);
lab4:lab("b",p4+[-0.25,-0.1]) /* (▲変更部分1) */;
lab5:lab("a/b",p01+[0.3,-0.2]) /* (▲変更部分1) */;
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]],
points_joined=true,
line_width=3,color=red,points(ptL1),
line_width=1,color=black,points(ptLL),points(ptL2),points(ptL3) /* (▲変更部分2) */,
line_width=2,color=blue,points(ptL4) /* (▲変更部分2) */,
lab5,lab4,lab3,lab2,lab01,lab1
) /*pLのグラフ表示*/$
◎上のMaximaコマンドを実行せよ。
◎上のMaximaコマンドを、以下のように修正して実行し、結果を比較して考察せよ。
MONDAI:"例6・練習24 133 図において、長さ1の線分AB、長さa,bの線分から積abの作図は" /*(▲変更部分0) */$
lab4:lab("ab",p4+[-0.25,-0.1]) /* (▲変更部分1) */;
lab5:lab("b",p01+[0.3,-0.2]) /* (▲変更部分1) */;
ptL5:[p5,p4] /* (▲変更部分1) */;
line_width=1,color=black,points(ptLL),points(ptL2),points(ptL3),points(ptL4) /* (▲変更部分2) */,
line_width=2,color=blue,points(ptL5) /* (▲変更部分2) */,
注)この図は、本質的に、デカルトが「幾何学」(線分の代数学)を構成するうえで、それ以前の代数学・幾何学から飛躍する画期となった図である。
◆コマンド番号134
●長さ1の線分から、r(2),r(3)の作図
r(2),r(3)の作図●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:" 134 図において、長さ1の線分からr(2),r(3)の作図は" /*(▲変更部分0) */$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3))) /* 3点から角度 */;
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3)) /* 3辺から角度 */;
lAss(A,s2,s3):=sqrt(s2^2+s3^2-2*s2*s3*dcos(A)) /* 2辺と1角から辺 */;
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2 /* 3点から面積 */;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
cir(p,r,tm,tM):=parametric(p[1]+r*dcos(t),p[2]+r*dsin(t),t,tm,tM);
lab(nam,p):=label([nam,p[1],p[2]]);
dL:[60,60,60];p0:[0,0];
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
p4:[-1,-0.5];p5:[0,-0.5];p6:[0,0.5];p7:[-1,0.5];
ptL1:[p4,p7];ptL2:[p4,p5,p6,p7,p6,p4];
para1:cir(p4,sqrt(2),0,45);
p8:p4+[sqrt(2),0];p9:p7+[sqrt(2),0];ptL3:[p5,p8,p9,p6,p9,p4];
para2:cir(p4,sqrt(3),0,dacos(sqrt(2)/sqrt(3)));
p10:p4+[sqrt(3),0];p11:p7+[sqrt(3),0];ptL4:[p8,p10,p11,p9,p11,p4];
lab1:lab("A",p4+[-0.1,0]);
lab2:lab("B",p7+[-0.1,0]);
lab01:lab("1",p4+[-0.1,0.5]);lab02:lab("0",p4+[0,-0.2]);
lab3:lab("1",p4+[1,-0.2]);lab4:lab("r(2)",p4+[sqrt(2),-0.2]);lab5:lab("r(3)",p4+[sqrt(3),-0.2]);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]],
points_joined=true,
line_width=3,color=red,points(ptL1),
line_width=1,color=black,points(ptL2),para1,points(ptL3),para2,points(ptL4),
line_width=2,color=blue,
lab5,lab4,lab3,lab02,lab2,lab01,lab1
) /*pLのグラフ表示*/$
◎上のMaximaコマンドを実行し、自然数の平方根の作図手順を考察せよ。
◆コマンド番号135
●長さ1,aの線分から、r(a)の作図
r(a)の作図●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"例題4・練習25・26 135 長さ1,3の線分から、r(3)の作図は" /*(▲変更部分0) */$
KANSUU:"定数・関数定義";
ap:[8.3,6.8]/6 /* ▲グラフ出力枠の横、縦で[8.3,6.8]を調整 */ /*(▲変更部分1) */;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3))) /* 3点から角度 */;
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3)) /* 3辺から角度 */;
lAss(A,s2,s3):=sqrt(s2^2+s3^2-2*s2*s3*dcos(A)) /* 2辺と1角から辺 */;
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2 /* 3点から面積 */;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
cir(p,r,tm,tM):=parametric(p[1]+r*dcos(t),p[2]+r*dsin(t),t,tm,tM);
lab(nam,p):=label([nam,p[1],p[2]]);
dL:[60,60,60];p0:[0,0];
ieP:[1,3];r0:(ieP[1]+ieP[2])/2 /* [a,b],r0 */ /*(▲変更部分2) */;
p1:r0*[dcos(270-dL[3]),dsin(270-dL[3])];p2:r0*[dcos(270+dL[3]),dsin(270+dL[3])];
p3:r0*[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];p01:r0*[-1,0];p09:r0*[1,0];
p4:ppie(p01,p09,ieP[1],ieP[2]);
ptL1:[p01,p4];ptL2:[p01,p09];r1:r0;
para0:cir(p0,r1,0,360);
d5:dacos((ieP[1]-ieP[2])/(ieP[1]+ieP[2]));p5:p0+r1*[dcos(d5),dsin(d5)];p6:[p5[1],-p5[2]];
ptL3:[p5,p6];ptL4:[p5,p4];
lab1:lab("A",p01+r0*[-0.1,0]);
lab2:lab("B",p4+r0*[0.1,-0.2]);
lab00:lab("O",p0+r0*[0,+0.2]);
lab01:lab("1",ppie(p01,p4,1,1)+r0*[0,-0.2]) /*(▲変更部分3) */;
lab02:lab("3",ppie(p4,p09,1,1)+r0*[0,-0.2]) /*(▲変更部分3) */;
lab3:lab("D",p5+r0*[-0.1,+0.1]);lab4:lab("E",p6+r0*[-0.1,-0.1]);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = r0*[-ap[1],ap[1]], yrange = r0*[-ap[2],ap[2]],
points_joined=true,
line_width=3,color=red,points(ptL1),points([p0]),points(ptL2),
line_width=1,color=black,para0,points(ptL3),
line_width=2,color=blue,points(ptL4),
lab4,lab3,lab02,lab2,lab01,lab00,lab1
) /*pLのグラフ表示*/$
◎上のMaximaコマンドを実行せよ。
◎上のMaximaコマンドを、以下のように修正して実行し、結果を比較して考察せよ。
MONDAI:"例題4・練習25・26 135 長さ1の線分から、r(7)の作図は" /*(▲変更部分0) */$
ap:[9,6.8]/6 /* ▲グラフ出力枠の横、縦で[8.3,6.8]を調整 */ /*(▲変更部分1) */;
ieP:[1,7];r0:(ieP[1]+ieP[2])/2 /* [a,b],r0 */ /*(▲変更部分2) */;
lab01:lab("1",ppie(p01,p4,1,1)+r0*[0,-0.2]) /*(▲変更部分3) */;
lab02:lab("7",ppie(p4,p09,1,1)+r0*[0,-0.2]) /*(▲変更部分3) */;
◎さらに、以下のように修正して実行し、結果を比較して考察せよ。
MONDAI:"例題4・練習25・26 135 長さ2,8の線分から、r(2*8)の作図は" /*(▲変更部分0) */$
ap:[9,6.8]/6 /* ▲グラフ出力枠の横、縦で[8.3,6.8]を調整 */ /*(▲変更部分1) */;
ieP:[2,8];r0:(ieP[1]+ieP[2])/2 /* [a,b],r0 */ /*(▲変更部分2) */;
lab01:lab("2",ppie(p01,p4,1,1)+r0*[0,-0.2]) /*(▲変更部分3) */;
lab02:lab("8",ppie(p4,p09,1,1)+r0*[0,-0.2]) /*(▲変更部分3) */;
:
201.補充問題
三角形の辺の中点による入れ子三角形の垂心
◆コマンド番号20101
●三角形の外心と中点入れ子三角形の垂心
三角形の外心と中点入れ子三角形の垂心の一致●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"補充問題1 20101 △PQRの辺QR,RP,PRの中点A,B,Cとし、△ABCの頂点から向かい合う辺への3垂線の交点は、△PQRの外心か" /*(▲変更部分0) */$
KOUSATU:"中点連結定理により、AからBCへの垂線は、QRと垂直となるから・・・"$
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3))) /* 3点から角度 */;
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3)) /* 3辺から角度 */;
lAss(A,s2,s3):=sqrt(s2^2+s3^2-2*s2*s3*dcos(A)) /* 2辺と1角から辺 */;
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2 /* 3点から面積 */;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
cir(p,r,tm,tM):=parametric(p[1]+r*dcos(t),p[2]+r*dsin(t),t,tm,tM);
lab(nam,p):=label([nam,p[1],p[2]]);
dL:[50,70,60];p0:[0,0] /*(▲変更部分) */;
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
p4:ppie(p2,p3,1,1);p5:ppie(p3,p1,1,1);p6:ppie(p1,p2,1,1);
p7:vp(p4,p5,p6);p8:vp(p5,p6,p4);p9:vp(p6,p4,p5);
p10:p1+(p6[1]-p1[1])/(vp(p3,p1,p2)[1]-p1[1])*(p3-p1);p11:p1+(p5[1]-p1[1])/(vp(p2,p1,p3)[1]-p1[1])*(p2-p1);
pE:ppie(p6,p10,1,dis(p10,p5)/dis(p5,p1)*dis(p1,p11)/dis(p11,p6));
ptL1:[p1,p2,p3,p1];ptL2:[p4,p5,p6,p4];ptL3:[p4,p7,pE,p5,p8,pE,p6,p9];
lab1:lab("Q",p1+[-0.1,0]);lab2:lab("R",p2+[0,-0.1]);lab3:lab("P",p3+[-0.1,0]);
lab4:lab("B",p4+[0.1,0]);lab5:lab("C",p5+[-0.1,0]);lab6:lab("A",p6+[0,-0.1]);
lab7:lab("M",p7+[-0.1,0]);lab8:lab("N",p8+[0.1,0]);lab9:lab("L",p9+[0,0.1]);
para0:cir(pE,dis(p1,pE),0,360);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]],
points_joined=true,
line_width=3,color=red,points(ptL1),
line_width=1,color=black,points(ptL2),para0,
line_width=2,color=blue,points(ptL3),
lab9,lab8,lab7,lab6,lab5,lab4,lab3,lab2,lab1
) /*pLのグラフ表示*/$
SUJIMITI:"ALはBCへの( )で、QRの( )。BMはCAへの( )で、RPへの( )。CNはABへの( )で、PQへの( )。したがって、"$
KAITOU:"AL,BM,CNは、△PQRの外接円の中心で交わる。"$
print(SUJIMITI)$print(KAITOU)$
◎上のMaximaコマンドを実行せよ。
◎上のMaximaコマンドを、以下のように修正して実行し、結果を比較して考察せよ。
dL:[50,45,75];p0:[0,0] /*(▲変更部分) */;
◆コマンド番号20102
●三角形の2外角、1内角の二等分線
三角形の2外角、1内角の二等分線の交点●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"補充問題2 20102 三角形の2外角、1内角の二等分線の交点は" /*(▲変更部分0) */$
KOUSATU:"円の接線の交点と中心を結ぶ直線は、接線でできる角を二等分するので、・・・";
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3))) /* 3点から角度 */;
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3)) /* 3辺から角度 */;
lAss(A,s2,s3):=sqrt(s2^2+s3^2-2*s2*s3*dcos(A)) /* 2辺と1角から辺 */;
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2 /* 3点から面積 */;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
cir(p,r,tm,tM):=parametric(p[1]+r*dcos(t),p[2]+r*dsin(t),t,tm,tM);
lab(nam,p):=label([nam,p[1],p[2]]);
sE(p1,p2,p3,p4):=block([p,q,s,a],e1:p1+p*(p2-p1),e2:p3+q*(p4-p3),s:solve([e1[1]=e2[1],e1[2]=e2[2]],[p,q]),a:subst(s[1],e1))$
dL:[50,35,95];p0:[0,0];
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
p4:ppie(p1,p3,1,1);p5:ppie(p2,p3,1,1);
p6:ppie(p1,p5,dis(p1,p4),dis(p4,p5)),numer;p7:ppie(p4,p2,dis(p4,p5),dis(p2,p5)),numer;
pE:sE(p4,p6,p5,p7);
p8:ppie(p4,p5,dis(p4,p3),dis(p5,p3));
ptL1:[p4,p5,p3,p4];ptL2:[p1,p4];ptL3:[p2,p5];ptL4:[p4,p6,pE,p7,p5,p1,p4,p2,p5];ptL5:[pE,p8,p3];
lab1:lab("A",p3+[-0.1,0]);lab2:lab("B",p4+[-0.1,0]);lab3:lab("C",p5+[0.1,0.1]);
lab4:lab("D",p1+[-0.1,0]);lab5:lab("F",p6+[0,-0.2]);lab6:lab("G",p7+[0.1,-0.21]);lab7:lab("E",p2+[0.1,0.1]);
lab8:lab("H",p8+[0.1,0.1]);lab9:lab("P",pE+[0.1,-0.1]);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]],
points_joined=true,
line_width=3,color=red,points(ptL1),
line_width=1,color=black,points(ptL2),points(ptL3),points(ptL4),
line_width=2,color=blue,points(ptL5),
lab9,lab8,lab7,lab6,lab5,lab4,lab3,lab2,lab1
) /*pLのグラフ表示*/$
SUJIMITI:"角から、角を挟む辺の長さの比で対辺を内分する点への直線は、角を( )する。外角CBDの二等分線( )と外角ECBの二等分線( )の交点( )は、3直線( )、( )、( )と接する円の中心。したがって、この円は、2直線( )、( )と接するので、・・・"$
KAITOU:"2つの接線( )、( )の交点( )と円の中心( )を結ぶ直線は、∠( )を二等分する。"$
print(SUJIMITI)$print(KAITOU)$
◆コマンド番号20103
●方べきの定理の逆
方べきの定理の逆の証明●●●●●●●●●●●●●●●●
kill(all) $
MONDAI:"補充問題3 20103 線分AB、CDが点Pで交わり、PA*PB=PC*PDのとき、4点A,B,D,Dは同一円周上か" /*(▲変更部分0) */$
KOUSATU:"3点A,D,Bを通る円が、直線DC上のDと異なるC'で交わるとすれば、PA*PB=PC'*PDとなり、・・・";
KANSUU:"定数・関数定義";
ap:[8.3/6,6.8/6] /* グラフのアスペクト比の調整 */ ;
r2d(A):=A/%pi*180 /* 弧度→角度 */;
d2r(A):=A/180*%pi /* 角度→弧度 */;
dcos(A):=cos(d2r(A));dsin(A):=sin(d2r(A)) /* 角度の余弦、正弦 */;
dacos(s):=r2d(acos(s));dasin(s):=r2d(asin(s)) /* 角度の逆余弦、逆正弦 */;
dis(p1,p2):=sqrt((p2-p1).(p2-p1)) /* 2点間の距離 */;
ppie(p1,p2,P1,P2):=p1*P2/(P1+P2)+p2*P1/(P1+P2) /* p1,p2のP1:P2の内分・外分点 */;
A(p3,p2,p1):=dacos((dis(p1,p2)^2+dis(p2,p3)^2-dis(p3,p1)^2)/(2*dis(p1,p2)*dis(p2,p3))) /* 3点から角度 */;
As(s1,s2,s3):=dacos((s2^2+s3^2-s1^2)/(2*s2*s3)) /* 3辺から角度 */;
lAss(A,s2,s3):=sqrt(s2^2+s3^2-2*s2*s3*dcos(A)) /* 2辺と1角から辺 */;
S(p1,p2,p3):=dis(p1,p2)*dis(p2,p3)*dsin(A(p3,p2,p1))/2 /* 3点から面積 */;
vp(p1,p2,p3):=p2+(p1-p2).(p3-p2)/dis(p3,p2)*(p3-p2)/dis(p3,p2) /* p1から直線p2p3へ下した垂線の足 */$
lPB(p1,p2):=(2*y*(-p1[2]+p2[2])=2*(p1[1]-p2[1])*x+(-p1[1]^2+p2[1]^2)+(-p1[2]^2+p2[2]^2)) /* p1,p2の垂直二等分線 */;
cir(p,r,tm,tM):=parametric(p[1]+r*dcos(t),p[2]+r*dsin(t),t,tm,tM);
lab(nam,p):=label([nam,p[1],p[2]]);
sE(p1,p2,p3,p4):=block([p,q,s,a],e1:p1+p*(p2-p1),e2:p3+q*(p4-p3),s:solve([e1[1]=e2[1],e1[2]=e2[2]],[p,q]),a:subst(s[1],e1))$
dL:[50,45,75];p0:[0,0];
ieP:[2,1] /* [a,b] */ /*(▲変更部分1) */;
p1:[dcos(270-dL[3]),dsin(270-dL[3])];p2:[dcos(270+dL[3]),dsin(270+dL[3])];p3:[dcos(270+dL[3]+2*dL[1]),dsin(270+dL[3]+2*dL[1])];
px:ppie(p2,p3,ieP[1],ieP[2]);p4:ppie(p1,px,dis(p1,px)+dis(p2,px)*dis(px,p3)/dis(p1,px),-dis(p2,px)*dis(px,p3)/dis(p1,px)) /*(▲変更部分2) */;
p5:p1+1.1*(p4-p1);
ptL1:[p1,p4,p5,px,p2,p3];
para:cir(p0,1,0,360);
lab1:lab("D",p1+[-0.2,0]);lab2:lab("B",p2+[+0.2,0]);lab3:lab("A",p3+[-0.2,0]);
lab4:lab("P",px+[0,-0.2]);lab5:lab("C'",p4+[-0.2,0]);lab6:lab("C",p5+[0.2,0]);lab7:lab("O",p0+[0,-0.2]);
title1:"" /* 図形のタイトル(頂点の位置) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = [-ap[2],ap[2]] /*(▲変更部分3) */,
points_joined=true,
line_width=3,color=red,points(ptL1),points([p0]),
line_width=1,color=black,para,
line_width=2,color=blue,
lab7,lab6,lab5,lab4,lab3,lab2,lab1
) /*pLのグラフ表示*/$
SUJIMITI:"3点A,( ),Bを通る円が、直線( )上のDと異なるC'で交わるとすれば、方べきの定理により、PA*PB=PC'*PDとなり、仮定( )により、PC=( )となって、( )とC'が一致する。よって、"$
KAITOU:"4点A,B,C,Dは、同一円周上にある。"$
print(SUJIMITI)$print(KAITOU)$
◎上のMaximaコマンドを実行せよ。
◎上のMaximaコマンドを、以下のように修正して実行し、結果を比較して考察せよ。
ieP:[3,-1] /* [a,b] */ /*(▲変更部分1) */;
px:ppie(p2,p3,ieP[1],ieP[2]);p4:ppie(p1,px,dis(p1,px)-dis(p2,px)*dis(px,p3)/dis(p1,px),dis(p2,px)*dis(px,p3)/dis(p1,px)) /*(▲変更部分2) */;
draw2d(title=title1,xrange = [-ap[1],ap[1]], yrange = ([-ap[2],ap[2]]+[0.5,0.5]) /*(▲変更部分3) */,