summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/metapost/mp3d/cube10.mp
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/metapost/mp3d/cube10.mp')
-rw-r--r--Master/texmf-dist/doc/metapost/mp3d/cube10.mp88
1 files changed, 88 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/metapost/mp3d/cube10.mp b/Master/texmf-dist/doc/metapost/mp3d/cube10.mp
new file mode 100644
index 00000000000..7cc6cb78731
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/mp3d/cube10.mp
@@ -0,0 +1,88 @@
+% D. Roegel January 2001
+% roegel@loria.fr
+% Oblique projections of the cube
+
+input 3danim
+output_res:=72;
+drawing_scale:=2cm;
+
+%set_plane_(projection_plane)(point_null,vec_I,vec_J);
+set_plane_(projection_plane)(point_null,vec_I,vec_K);
+
+new_plane_(horizontal_plane)(point_null,vec_I,vec_J);
+
+vardef def_C(expr inst)=
+ new_obj_points(inst,8); % 8 points
+ set_C_points(inst);
+enddef;
+
+vardef set_C_points(expr inst)=
+ set_point(1)(0,0,0);set_point(2)(0,0,1);
+ set_point(3)(0,1,0);set_point(4)(0,1,1);
+ set_point(5)(1,0,0);set_point(6)(1,0,1);
+ set_point(7)(1,1,0);set_point(8)(1,1,1);
+enddef;
+
+vardef draw_C(expr inst)=
+ draw_line(3,7);draw_lines(8,7,5);
+ draw_line(2,6);draw_line(4,8);
+ draw_lines(5,6,8);draw_lines(4,3);draw_lines(2,4);
+ drawoptions(dashed evenly);
+ draw_lines(1,2);draw_lines(3,1);draw_line(1,5);
+ drawoptions();
+enddef;
+
+assign_obj("cube","C");
+point_of_view_obj("cube",8,Obs_phi);
+
+oblique_projection(horizontal_plane)(pnt_obj("cube",8),CAVALIER,30,50); % 30
+
+beginfig(100);
+ Obs_dist:=2;
+ draw_obj("cube");
+endfig;
+
+oblique_projection(horizontal_plane)(pnt_obj("cube",8),CABINET,30,20); % 30
+
+beginfig(101);
+ Obs_dist:=2;
+ draw_obj("cube");
+endfig;
+
+oblique_projection(horizontal_plane)(pnt_obj("cube",8),30,20,20); % 20
+
+beginfig(102);
+ Obs_dist:=2;
+ draw_obj("cube");
+endfig;
+
+new_point(hp);
+set_point_(hp)(0,1,1);
+
+set_plane_(horizontal_plane)(hp,vec_I,vec_K);
+% such a plane and a second angle of 90 degrees produces a
+% ``planometric'' view.
+oblique_projection(horizontal_plane)(pnt_obj("cube",8),30,90,20); % 20
+
+vardef draw_C(expr inst)=
+ draw_lines(8,7);draw_line(3,7);draw_lines(7,5);
+ draw_lines(1,2);draw_lines(3,1);
+ draw_line(1,5);
+ draw_lines(4,3);draw_lines(2,4);draw_line(4,8);
+ drawoptions(dashed evenly);
+ draw_lines(5,6);
+ draw_line(2,6);draw_lines(6,8);
+ drawoptions();
+enddef;
+
+beginfig(103);
+ Obs_dist:=2;
+ draw_obj("cube");
+endfig;
+
+end.
+
+
+
+
+