/*WORK:"2021natuMaximaTrial.html";
◆コマンド番号40207
●補充問題・章末問題
●●●●●●●●●●●●●●●●*/
/*(kill(all), print("インストールMaximaでは、先頭の/*を、次行の先頭にカット&ペーストすること"))$
*/
(MONDAI:"・章末問題4 40207 sin(3*a)=3*sin(a)-4*sin(a)^3を示せ。"
/*(◆修正部分1)*/,
KOUSATU:"3*a=a+2*aだから、・・・"/**/,
End:"Mondai")$
(KANSUU:"",
gr(T,c,l,pB,pCR,lab,xm,xM,ym,yM):=block(
/**/wxdraw2d(
/*....*/title =T, yrange=[ym,yM] /* "タイトルと値域" */,
/*....*/implicit(c,x,xm,xM,y,ym,yM),
/*....*/color=black,
/*....*/implicit(l,x,xm,xM,y,ym,yM),
/*....*/implicit(y=0,x,xm,xM,y,ym,yM),implicit(x=0,x,xm,xM,y,ym,yM) /* "x,y軸" */,
/*....*/color=red,point_type =7,line_width=2,
/*....*/points_joined =true,point_size =1,points(pCR[2]) /* "点pCR[2]を赤で" */,
/*....*/color=cyan,point_type =7,line_width=2,
/*....*/points_joined =true,point_size =1,points(pCR[1]) /* "点pCR[1]をシアンで" */,
/*....*/color=blue,point_type =6,
/*....*/points_joined =true,point_size =1,points(pB) /* "点pBを青で" */,
/*....*/color=red,lab[2][1],lab[2][2],lab[2][3],lab[2][4],lab[2][5],lab[2][6],lab[2][7],
/*....*/lab[2][8],lab[2][9],lab[2][10],lab[2][11],lab[2][12],lab[2][13],lab[2][14],lab[2][15],
/*....*/lab[2][16],lab[2][17],lab[2][18],lab[2][19]) /* "文字書込" */),
lab(nam,p):=label([nam,p[1],p[2]]) /* 図中文字 */,
ng2pl(p1l,p2l,m,n):=(p1l*n+p2l*m)/(m+n) /*2点と比から内外分点*/,
p2ngl(pl,p1l,p2l):=block([P,p1,p2,ans],
/**/p1:pl-p1l,p2:pl-p2l,P:rat(sqrt(p1.p1)/sqrt(p2.p2)),p1:num(P),p2:denom(P),
/**/print(ng2pl(p1l,p2l,p1,p2)),mes:"内分",
/**/if ng2pl(p1l,p2l,p1,p2)#pl then ((if p1>p2 then p2:-p2 else p1:-p1),mes:"外分"),
/**/ans:[p1,":",p2,mes] /*点を2点の内外分比で表示*/),
xtpl(p1l):=block([ansl],ansl:[p1l[1],-p1l[2]]) /*x軸対称*/,
ytpl(p1l):=block([ansl],ansl:[-p1l[1],p1l[2]]) /*y軸対称*/,
otpl(p1l):=block([ansl],ansl:[-p1l[1],-p1l[2]]) /*原点対称*/,
a12(p1l,p2l):=block([ans],if p2l[1]#p1l[1] then ans:(p2l[2]-p1l[2])/(p2l[1]-p1l[1])
/**/else ans:9999 /*傾き*/),
gl(p1l,p2l):=block([ansl],ansl:[p2l[1]-p1l[1],p2l[2]-p1l[2]]) /*傾き方向*/,
nl(p1l,p2l):=block([ansl],ansl:[p2l[2]-p1l[2],-(p2l[1]-p1l[1])],
/**/ansl:ansl/gcd(ansl[1],ansl[2]) /*垂直方向*/),
dis(p1l,p2l):=block([ans],ans:float(sqrt((p2l-p1l).(p2l-p1l)))) /*距離*/,
pppl(p1l,p2l,p3l):=block([ansl],ansl:((p1l-p2l).(p3l-p2l)/dis(p3l,p2l))*(p3l-p2l)/dis(p3l,p2l)),
sind(t):=sin(t/180*%pi),
cosd(t):=cos(t/180*%pi),
tand(t):=tan(t/180*%pi),
asind(sind):=asin(sind)/%pi*180,
acosd(cosd):=acos(cosd)/%pi*180,
atand(tand):=atan(tand)/%pi*180,
ang(p1l,p2l,p3l):=
/**/float(acos((dis(p1l,p2l)^2+dis(p2l,p3l)^2-dis(p1l,p3l)^2)/(2*dis(p1l,p2l)*dis(p2l,p3l)))),
/**/End:"Kansuu")$
(TEISUU:"",
Pi:%pi,
deg:25/180*Pi/**/,
End:"Teisuu")$
(TEJUN1: "1 解析的",
ev11:["LHS=sin(2*a+a)=sin(2*a)*cos(a)+cos(2*a)*sin(a)",
/**/["LHS=",float(sin(3*deg)),"=",float(sin(2*deg)*cos(deg)+cos(2*deg)*sin(deg)),"(加法定理)"]],
/**/print(ev11)/*(◆修正部分2)*/,
ev12:[" =2*sin(a)*cos(a)^2+(cos(a)^2-sin(a)^2)*sin(a)",
/**/[" =",float(2*sin(deg)*cos(deg)^2+(1-2*sin(deg)^2)*sin(deg)),"(二倍角公式)"]],
/**/print(ev12)/*(◆修正部分2)*/,
ev13:[" =2*sin(a)*(1-sin(a)^2)+(1-2*sin(a)^2)*sin(a)",
/**/[" =",float(2*sin(deg)*(1-sin(deg)^2)+(1-2*sin(deg)^2)*sin(deg)),"(正弦・余弦平方和)"]],
/**/print(ev13)/*(◆修正部分2)*/,
ev14:[" =3*sin(a)-4*sin(a)^3 =RHS",
/**/[" =",float(3*sin(deg)-4*sin(deg)^3),"=RHS"]],
/**/print(ev14)/*(◆修正部分2)*/,
ansl:["sin(3*a)=3*sin(a)-4*sin(a)^3",
/**/["LHS =",float(sin(3*deg)),"RHS =",float(3*sin(deg)-4*sin(deg)^3),"結論"]],
/**/print(ansl)/*(◆修正部分2)*/,
/**/End:"Tejun1")$
(GJUNBI:"グラフ準備",
O:[0,0], I:[1,0], C:[cos(deg),sin(deg)], D:[cos(2*deg),sin(2*deg)], E:[cos(3*deg),sin(3*deg)],
G:cos(deg)*D, H:cos(deg)^2*C, Q:cos(deg)^3*I, J:[E[1],0], K:[G[1],0], R:[C[1],0]/**/,
F:H+(H-C), A:E+C-F, L:(A+E)/2, N:[F[1],H[2]], P:[F[1],C[2]]/**/,
B:A-2*(N-F), M:(A+B)/2, S:[C[1],H[2]] /**/,
dO:[0.1,-0.1], dJ:[0.1,-0.1], dK:[-0.05,-0.1], dP:[-1/40,1/20],
dR:[-0.05,-0.1], dI:[0.1,-0.1], dC:[0.1,0], dD:[0.1,1/60],
dE:[-1/40.1,0.1], dA:[-1/40,0.1], dB:[0.1,-1/60], dM:[0.1,0],
dQ:[-1/20,-1/10], dG:[-0.1,0], dN:[-2/30,-1/40], dF:[-1/20,-1/10],
dH:[-1/20,-0.1], dS:[0.1,0], dL:[-1/40,0.1],
labO:lab("O",O+dO), labJ:lab("J",J+dJ), labK:lab("K",K+dK), labP:lab("P",P+dP),
labR:lab("R",R+dR), labI:lab("I",I+dI), labC:lab("C",C+dC), labD:lab("D",D+dD),
labE:lab("E",E+dE), labA:lab("A",A+dA), labB:lab("B",B+dB), labM:lab("M",M+dM),
labQ:lab("Q",Q+dQ), labG:lab("G",G+dG), labN:lab("N",N+dN), labF:lab("F",F+dF),
labH:lab("H",H+dH), labS:lab("S",S+dS), labL:lab("L",L+dL),
/**/End:"GJunbi")$
(GKAKUNIN:"グラフを書いて、視覚的に確認",
r:1,c:x^2+y^2=r^2,
T:"" /**/,
lab:[19,[labO,labJ,labK,labQ,labR,labI,labC,labD,labE,labA,labP,labM,labB,labG,
/**/labN,labF,labH,labS,labL]],
pCR:[[M,L,G,A,E,B],[N,S,C,P]]/**/,
pB:[I,O,C,R,G,D,O,E,J,E,C,G,K,F,E,G,H,Q],
yL:r/2*3,xL:yL/6.1*7.5,
gr(T,c,x=0,pB,pCR,lab,-0.5,xL-0.5,-0.15,yL-0.15) /* "グラフ出力すると" */,
/**/End:"GKakunin")$
(TEJUN2: "2 図形的",
KATEI:["IO=1、∠EFO=∠EGO=∠GHO=直角、OC//EA、∠IOC=∠COD=∠DOE=a","...仮定"],print(KATEI)/**/,
ev21:["LHS=sin(3*a)=JE=KF+FB",
/**/["JE=",float(dis(J,E)),"KF+FB=",float(dis(K,F)+dis(F,B))] ],
/**/print(ev21)/*(◆修正部分3)*/,
ev22:[" RC=CG=GF=GE=GA=sin(a)",
/**/["RC=",float(dis(R,C)),"sin(a)=",float(sin(deg)),"(△ORC≡△OCGなど)"]],
/**/print(ev22)/*(◆修正部分3)*/,
ev23:[" CH=sin(a)^2",["CH=",float(dis(C,H)),"sin(a)^2=",float(sin(deg)^2)] ],
/**/print(ev23)/*(◆修正部分3)*/,
ev24:[" CS=sin(a)^3",["CS=",float(dis(C,S)),"sin(a)^3=",float(sin(deg)^3)] ],
/**/print(ev24)/*(◆修正部分3)*/,
ev25:[" KF=RC-2*CS=sin(a)-2*sin(a)^3",["KF=",float(dis(K,F)),
/**/"sin(a)-2*sin(a)^3=",float(sin(deg)-2*sin(deg)^3)]],
/**/print(ev25)/*(◆修正部分3)*/,
ev26:[" CS=NF=AM=MB=sin(a)^3",["CS=",float(dis(C,S)),"sin(a)^3=",float(sin(deg)^3)] ],
/**/print(ev26)/*(◆修正部分3)*/,
ev27:[" FB=2*GA-2*AM=2*sin(a)-2*sin(a)^3} ",
/**/["FB=",float(dis(F,B)),"2*sin(a)-2*sin(a)^3=",float(2*sin(deg)-2*sin(deg)^3)]],
/**/print(ev27)/*(◆修正部分3)*/,
ev28:["LHS=3*sin(a)-4*sin(a)^3=RHS",["LHS=",float(3*sin(deg)-4*sin(deg)^3),"=RHS"] ],
/**/print(ev28)/*(◆修正部分3)*/,
ansl2:["sin(3*a)=3*sin(a)-4*sin(a)^3","結論",
/**/["LHS=",float(sin(3*deg)),"RHS=",float(3*sin(deg)-4*sin(deg)^3)]],
/**/print(ansl2)/*(◆修正部分3)*/,
gr(T,c,x=0,pB,pCR,lab,-0.5,xL-0.5,-0.15,yL-0.15) /* "グラフ出力すると" */,
/**/End:"Tejun2")$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"加法定理により、sin(3*a)=( )・・・"
/*(◆修正部分4)*/,
/**/FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
/**//*◆◆◆◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
(MONDAI:"・章末問題4 40207 cos(3*a)=4cos(a)^3-3*cos(a)を示せ。"
/*(◆修正部分1)*/,
ev11:["LHS=cos(2*a+a)=cos(2*a)*cos(a)-sin(2*a)*sin(a)",
/**/["LHS=",float(cos(3*deg)),"=",float(cos(2*deg)*cos(deg)-sin(2*deg)*sin(deg)),"(加法定理)"]],
/**/print(ev11)/*(◆修正部分2)*/,
ev12:[" =(cos(a)^2-sin(a)^2)*cos(a)-2*sin(a)*cos(a)*sin(a)",
/**/[" =",float((cos(deg)^2-sin(deg)^2)*cos(deg)-2*sin(deg)*cos(deg)*sin(deg)),"(二倍角公式)"]],
/**/print(ev12)/*(◆修正部分2)*/,
ev13:[" =(2*cos(a)^2-1)*cos(a)-2*(1-sin(a)^2)*cos(a)",
/**/[" =",float((2*cos(deg)^2-1)*cos(deg)-2*(1-cos(deg)^2)*cos(deg)),"(正弦・余弦平方和)"]],
/**/print(ev13)/*(◆修正部分2)*/,
ev14:[" =4*cos(a)^3-3*cos(a) =RHS",
/**/[" =",float(4*cos(deg)^3-3*cos(deg)),"=RHS"]],
/**/print(ev14)/*(◆修正部分2)*/,
ansl:["cos(3*a)=4*cos(a)^3-3*cos(a)",
/**/["LHS =",float(cos(3*deg)),"RHS =",float(4*cos(deg)^3-3*cos(deg)),"結論"]],
/**/print(ansl)/*(◆修正部分2)*/,
ev21:["LHS=cos(3*a)=OJ=OR-JR",
/**/["OJ=",float(dis(O,J)),"OR-JR=",float(dis(O,R)-dis(J,R))] ],
/**/print(ev21)/*(◆修正部分3)*/,
ev22:[" OR=cos(a)",
/**/["OR=",float(dis(O,R)),"cos(a)=",float(cos(deg)),"(△ORC≡△OCGなど)"]],
/**/print(ev22)/*(◆修正部分3)*/,
ev23:[" OH=cos(a)^2",["OH=",float(dis(O,H)),"cos(a)^2=",float(cos(deg)^2)] ],
/**/print(ev23)/*(◆修正部分3)*/,
ev24:[" OQ=cos(a)^3",["OQ=",float(dis(O,Q)),"cos(a)^3=",float(cos(deg)^3)] ],
/**/print(ev24)/*(◆修正部分3)*/,
ev25:[" QR=OR-OQ=cos(a)-cos(a)^3",
/**/["QR=",float(dis(Q,R)),"cos(a)-cos(a)^3=",float(cos(deg)-cos(deg)^3)] ],
/**/print(ev25)/*(◆修正部分3)*/,
ev26:[" JR=4*QR=4*cos(a)-4*cos(a)^3} ",
/**/["JR=",float(dis(J,R)),"4*cos(a)-4*cos(a)^3=",float(4*cos(deg)-4*cos(deg)^3)] ],
/**/print(ev26)/*(◆修正部分3)*/,
ev27:["LHS=cos(a)-(4*cos(a)-4*cos(a)^3)=4*cos(a)^3-3*cos(a)=RHS",
/**/["LHS=",float(4*cos(deg)^3-3*cos(deg)),"=RHS"] ],
/**/print(ev27)/*(◆修正部分3)*/,
ansl2:["cos(3*a)=4*cos(a)^3-3*cos(a)","結論",
/**/["LHS=",float(cos(3*deg)),"RHS=",float(4*cos(deg)^3-3*cos(deg))] ],
/**/print(ansl2)/*(◆修正部分3)*/,
SUJIMITI:"加法定理により、cos(3*a)=( )・・・"
/*(◆修正部分4)*/,
*/END:"Finish"$