Re: your mail

Laurence Finston <[email protected]> Thu, 21 Apr 2005 12:48:06 +0200 (MEST)
Newsgroups gmane.comp.tex.metafont
Message-ID <[email protected]>
On Wed, 20 Apr 2005, Larry Siebenmann wrote:

>  So I conjecture that
> "3DLFmp.1" is NOT output by MP itself. Right?

Just in case you feel like experimenting some more, I've included the
3DLDF code and the MetaPost code it generates below.

Laurence

*****************************************
%%%% crop_0.ldf

%%%% This file is part of GNU 3DLDF, a package for three-dimensional drawing.
%%%% Copyright (C) 2003, 2004, 2005 The Free Software Foundation

[...]

string s;

s :=    "input boxes; defaultdx:=.75cm; defaultdy:=.75cm;";

pickup pencircle scaled 3;

verbatim_metapost s;

focus f;
set f with_position (-5, 5, -10) with_direction (-5, 5, 10)
   with_distance 10;

rectangle rp[];

picture save_picture;

rp0 := unit_rectangle scaled 5 rotated 90;

rp1 := unit_rectangle scaled 5 shifted (0, -1);
rp2 := unit_rectangle scaled 5 shifted (0, 1);


beginfig(1);

draw rp0 with_draw_color blue;
draw rp1 with_draw_color red;
draw rp2 with_draw_color yellow;

save_picture := current_picture;

clear current_picture;

filldraw rp0 with_draw_color blue with_fill_color orange;
filldraw rp1 with_draw_color red with_fill_color green;
filldraw rp2 with_draw_color yellow with_fill_color violet;

dotlabel.top("origin", origin);
endfig with_focus f with_surface_hiding;

end;

*****************************

%%%% crop_0.mp.
%%%% Generated on Thu Apr 21 12:41:26 2005
%%%% from crop_0.ldf by GNU 3DLDF 1.2.0.0.

input boxes; pickup pencircle scaled .25mm;defaultdx:=.75cm; defaultdy:=.75cm;
beginfig(1);
fill (7.500000cm, -7.500000cm) -- (7.500000cm, -6.000000cm)
   -- (2.500000cm, -6.000000cm) -- (2.500000cm, -7.500000cm)
   -- cycle withcolor (1.000000, 0.647059, 0.000000);
fill (7.500000cm, -6.000000cm) -- (6.000000cm, -4.800000cm)
   -- (2.000000cm, -4.800000cm) -- (2.500000cm, -6.000000cm)
   -- cycle withcolor (0.000000, 1.000000, 0.000000);
fill (7.500000cm, -6.000000cm) -- (7.500000cm, -2.500000cm)
   -- (2.500000cm, -2.500000cm) -- (2.500000cm, -6.000000cm)
   -- cycle withcolor (1.000000, 0.647059, 0.000000);
fill (10.000000cm, -8.000000cm) -- (7.500000cm, -6.000000cm)
   -- (2.500000cm, -6.000000cm) -- (3.333333cm, -8.000000cm)
   -- cycle withcolor (0.000000, 1.000000, 0.000000);
fill (3.333333cm, -5.333333cm) -- (10.000000cm, -5.333333cm)
   -- (6.000000cm, -3.200000cm) -- (2.000000cm, -3.200000cm)
   -- cycle withcolor (0.933333, 0.509804, 0.933333);
draw (3.333333cm, -5.333333cm) -- (10.000000cm, -5.333333cm)
   -- (6.000000cm, -3.200000cm) -- (2.000000cm, -3.200000cm)
   -- cycle
withcolor (1.000000, 1.000000, 0.000000) ;
label.top(btex origin etex, (5.000000cm, -5.000000cm))
;begingroup
interim linecap := rounded;
drawdot (5.000000cm, -5.000000cm) withpen pencircle scaled dotlabeldiam;endgroup;
endfig;