四角錐の体積

3D画面で,立体をobj形式で与えて陰線処理をする.

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

4kakusuitaiseki.zip

  • まず,ベジェ曲線のための節点A,B,C,D,E,F,G,H,K,Lをとっておく.

Start3d();
// 3d描画を始める.
Putaxes3d(8);
// 原点 O と各軸上の8の所に幾何点 X, Y, Z をとる.
p2=[6,1,1];
p3=[6,-1,1];
p4=[6,-1,-1];
p5=[6,1,-1];
faces=[ [1,2,3],[1,3,4],[1,4,5],[1,5,2],[2,3,4,5] ];
cone=[ [O3d,p2,p3,p4,p5],faces];
// 四角錐のobj形式のリストを定義
midp=[apply([p2,p3,p4,p5],0.7*#),[ [1,2,3,4] ] ];
// 途中に描く長方形のobj形式のリスト
tmp=Concatobj([cone,midp]);
// 2つのリストを結合する.
VertexEdgeFace("1",tmp,["Pt=fix","Edg=nogeo"]);
// 各頂点に幾何点をとり,辺(幾何図形ではない)を描く
Setcolor([0.3,0,0,0]);
tmp=apply([p2,p3,p4,p5,p2],parapt(#));
Shade([tmp]);
// 大きな長方形の内部を2d として塗る.
tmp=apply([p2,p3,p4,p5,p2],0.7*#);
tmp=apply(tmp,parapt(#));
Shade([tmp]);
Setcolor("black");
Spaceline("1",[O3d,X3d]);
Expr([sl2d1_2,"e","x"]);
// x軸を描く
Putpoint3d(["A",(p2+p4)/2],"fix");
Pointdata("1",A,["Size=2"]);
Putpoint3d(["B",0.7*(p2+p4)/2],"fix");
Pointdata("2",B,["Size=2"]);
// 2つの長方形の中心に点を描く
if(1==1,
 Nohiddenbyfaces("1","phf3d1",[],["da"]);
// 陰面処理
,
 Skeletonparadata("1",[1.5]);
// スケルトン処理
);
最終更新:2016年10月30日 14:35
|新しいページ |検索 |ページ一覧 |RSS |@ウィキご利用ガイド |管理者にお問合せ
|ログイン|