立体の体積

自由曲線を用いて,立体(2d)を描き,立体の体積を説明する図を作成する.

#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (title=)

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"]);
// 弓形を描く
最終更新:2016年10月30日 14:30
|新しいページ |検索 |ページ一覧 |RSS |@ウィキご利用ガイド |管理者にお問合せ
|ログイン|