「立体の体積」の編集履歴(バックアップ)一覧はこちら
立体の体積 - (2016/02/06 (土) 12:09:34) の最新版との変更点
追加された行は緑色になります。
削除された行は赤色になります。
=============================================
立体の体積 16.01.24 rittaitaiseki.cdy
自由曲線を用いて,立体(2d)を描き,立体の体積を説明する図を作成する.
&ref(rittaitaiseki.png,,title=,width=400,)
&ref(rittaitaiseki.zip)
・まず,ベジェ曲線のための節点A,B,C,D,EおよびF,G,H,K,Lをとっておく.
Setcolor([0,0,0,0.2]);
Shade(["sc1"]);
Setcolor("black");
Listplot("a",[[XMIN,0],[XMAX,0]]);
pL=[A,B,C,D,E];
qL=[F,G,H,K,L];
Mkbezierptcrv(pL,["notex"]);
Mkbezierptcrv(qL);
// 中心からなる曲線bza(TeX非表示)と上側の曲線bzaを作成
・画面に戻り,制御点を動かして形を整える.
tmp=apply(1..length(bzb),[bzb_#_1,2*bza_#_2-bzb_#_2]);
Listplot("bc",tmp);
// 下側の曲線sgbcを対称的に作成
Putpoint("M",[C.x,K.y]);
qL_3=M;
// 3番目の点のy座標をK.yにした点Mをとる.
forall(1..length(qL),
tmp2=qL_#;
Listplot(text(#),[tmp2,[tmp2.x,0]],["do"]);
);
// 上端からx軸まで点線を引く.
・以下は,楕円を描く.2番目以降は左側を点線とする.
(方法)
円を作成して,横方向を0.3倍に縮小する.
Circledata("1",[A,F],["nodisp"]);
Scaledata("1","cr1",0.3,1,[A]);
Circledata("2a",[B,G],["nodisp","Rng=[-pi/2,pi/2]"]);
Circledata("2b",[B,G],["nodisp","Rng=[pi/2,3*pi/2]"]);
Scaledata("2a","cr2a",0.3,1,[B]);
Scaledata("2b","cr2b",0.3,1,[B,"do,1,1.5"]);
Circledata("3a",[[C.x,D.y],M],["nodisp","Rng=[-pi/2,pi/2]"]);
Circledata("3b",[[C.x,D.y],M],["nodisp","Rng=[pi/2,3*pi/2]"]);
Scaledata("3a","cr3a",0.3,1,[[C.x,D.y]]);
Scaledata("3b","cr3b",0.3,1,[[C.x,D.y],"do,1,1.5"]);
Listplot("3a",[K,M]);
Translatedata("3a","sg3a",[0,-2*(K.y-D.y)]);
Circledata("4a",[D,K],["nodisp","Rng=[-pi/2,pi/2]"]);
Circledata("4b",[D,K],["nodisp","Rng=[pi/2,3*pi/2]"]);
Scaledata("4a","cr4a",0.3,1,[D]);
Scaledata("4b","cr4b",0.3,1,[D,"do,1,1.5"]);
Circledata("5a",[E,L],["nodisp","Rng=[-pi/2,pi/2]"]);
Circledata("5b",[E,L],["nodisp","Rng=[pi/2,3*pi/2]"]);
Scaledata("5a","cr5a",0.3,1,[E]);
Scaledata("5b","cr5b",0.3,1,[E,"do,1,1.5"]);
Fontsize("s");
Expr([[A.x,0],"s2","x_0=a"]);
Expr([[B.x,0],"s2","x_1"]);
Expr([[C.x,0],"sw2","x_{k-1}"]);
Expr([[D.x,0],"se2","x_{k}"]);
Expr([[E.x,0],"s","x_n=b"]);
// 文字を書き入れる.
Setcolor([1,0,0,0]);
Bowdata("1",[[C.x,0],[D.x,0]],
[1.5,0.7,"Expr=\color{black}\varDelta x_k"]);
// 弓形を描く
自由曲線を用いて,立体(2d)を描き,立体の体積を説明する図を作成する.
&ref(rittaitaiseki.png,,title=,width=400,)
&ref(rittaitaiseki.zip)
・まず,ベジェ曲線のための節点A,B,C,D,EおよびF,G,H,K,Lをとっておく.
Setcolor([0,0,0,0.2]);
Shade(["sc1"]);
Setcolor("black");
Listplot("a",[ [XMIN,0],[XMAX,0] ]);
pL=[A,B,C,D,E];
qL=[F,G,H,K,L];
Mkbezierptcrv(pL,["notex"]);
Mkbezierptcrv(qL);
// 中心からなる曲線bza(TeX非表示)と上側の曲線bzaを作成
・画面に戻り,制御点を動かして形を整える.
tmp=apply(1..length(bzb),[bzb_#_1,2*bza_#_2-bzb_#_2]);
Listplot("bc",tmp);
// 下側の曲線sgbcを対称的に作成
Putpoint("M",[C.x,K.y]);
qL_3=M;
// 3番目の点のy座標をK.yにした点Mをとる.
forall(1..length(qL),
tmp2=qL_#;
Listplot(text(#),[tmp2,[tmp2.x,0]],["do"]);
);
// 上端からx軸まで点線を引く.
・以下は,楕円を描く.2番目以降は左側を点線とする.
(方法)
円を作成して,横方向を0.3倍に縮小する.
Circledata("1",[A,F],["nodisp"]);
Scaledata("1","cr1",0.3,1,[A]);
Circledata("2a",[B,G],["nodisp","Rng=[-pi/2,pi/2]"]);
Circledata("2b",[B,G],["nodisp","Rng=[pi/2,3*pi/2]"]);
Scaledata("2a","cr2a",0.3,1,[B]);
Scaledata("2b","cr2b",0.3,1,[B,"do,1,1.5"]);
Circledata("3a",[ [C.x,D.y],M],["nodisp","Rng=[-pi/2,pi/2]"]);
Circledata("3b",[ [C.x,D.y],M],["nodisp","Rng=[pi/2,3*pi/2]"]);
Scaledata("3a","cr3a",0.3,1,[[C.x,D.y]]);
Scaledata("3b","cr3b",0.3,1,[[C.x,D.y],"do,1,1.5"]);
Listplot("3a",[K,M]);
Translatedata("3a","sg3a",[0,-2*(K.y-D.y)]);
Circledata("4a",[D,K],["nodisp","Rng=[-pi/2,pi/2]"]);
Circledata("4b",[D,K],["nodisp","Rng=[pi/2,3*pi/2]"]);
Scaledata("4a","cr4a",0.3,1,[D]);
Scaledata("4b","cr4b",0.3,1,[D,"do,1,1.5"]);
Circledata("5a",[E,L],["nodisp","Rng=[-pi/2,pi/2]"]);
Circledata("5b",[E,L],["nodisp","Rng=[pi/2,3*pi/2]"]);
Scaledata("5a","cr5a",0.3,1,[E]);
Scaledata("5b","cr5b",0.3,1,[E,"do,1,1.5"]);
Fontsize("s");
Expr([ [A.x,0],"s2","x_0=a"]);
Expr([ [B.x,0],"s2","x_1"]);
Expr([ [C.x,0],"sw2","x_{k-1}"]);
Expr([ [D.x,0],"se2","x_{k}"]);
Expr([ [E.x,0],"s","x_n=b"]);
// 文字を書き入れる.
Setcolor([1,0,0,0]);
Bowdata("1",[ [C.x,0],[D.x,0]],[1.5,0.7,"Expr=\color{black}\varDelta x_k"]);
// 弓形を描く