summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/metapost/mp3d/examples/cube9.mp
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/metapost/mp3d/examples/cube9.mp')
-rw-r--r--Master/texmf-dist/doc/metapost/mp3d/examples/cube9.mp66
1 files changed, 66 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/metapost/mp3d/examples/cube9.mp b/Master/texmf-dist/doc/metapost/mp3d/examples/cube9.mp
new file mode 100644
index 00000000000..1e52203a811
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/mp3d/examples/cube9.mp
@@ -0,0 +1,66 @@
+% Cube projections
+% D. Roegel 23 January 2001
+% roegel@loria.fr
+
+
+input 3danim
+output_res:=72;
+drawing_scale:=2cm;
+
+projection_type:=1;
+
+%set_plane_(projection_plane)(point_null,vec_I,vec_J);
+%set_plane_(projection_plane)(point_null,vec_I,vec_K);
+
+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_lines(1,2,4,3,1);
+ draw_line(2,6);draw_line(4,8);draw_line(1,5);
+ draw_lines(5,6,8);
+ drawoptions(dashed evenly);
+ draw_line(3,7);draw_lines(8,7,5);
+ drawoptions();
+enddef;
+
+assign_obj("cube","C");
+
+% Trimetric projection
+i:=67;
+beginfig(167);
+ % Observator
+ set_point_(Obs)(20*cosd(3.6*i),20*sind(3.6*i),6);
+ Obs_phi:=90;Obs_dist:=2;point_of_view_obj("cube",8,Obs_phi);
+ draw_obj("cube");
+endfig;
+
+% Isometric projection
+isometric_projection(vec_I,vec_J,vec_K,pnt_obj("cube",8),Obs_dist,90);
+
+beginfig(168);
+ draw_obj("cube");
+endfig;
+
+% Dimetric projection
+dimetric_projection(vec_I,vec_J,vec_K,0.5,pnt_obj("cube",8),3*Obs_dist,90);
+
+beginfig(169);
+ draw_obj("cube");
+endfig;
+
+end.
+
+
+
+
+