%%%% wave_2.ldf %%%% Created by Laurence D. Finston (LDF) Fri Mar 3 20:46:19 CET 2006 %% * (1) Copyright and License. %%%% This file is part of GNU 3DLDF, a package for three-dimensional drawing. %%%% Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 The Free Software Foundation %%%% GNU 3DLDF is free software; you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by %%%% the Free Software Foundation; either version 3 of the License, or %%%% (at your option) any later version. %%%% GNU 3DLDF is distributed in the hope that it will be useful, %%%% but WITHOUT ANY WARRANTY; without even the implied warranty of %%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the %%%% GNU General Public License for more details. %%%% You should have received a copy of the GNU General Public License %%%% along with GNU 3DLDF; if not, write to the Free Software %%%% Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA %%%% GNU 3DLDF is a GNU package. %%%% It is part of the GNU Project of the %%%% Free Software Foundation %%%% and is published under the GNU General Public License. %%%% See the website http://www.gnu.org %%%% for more information. %%%% GNU 3DLDF is available for downloading from %%%% http://www.gnu.org/software/3dldf/LDF.html. %%%% It is also available from %%%% http://www.dante.de/software/ctan/, the Dante www-server %%%% and from http://wwwuser.gwdg.de/~lfinsto1, %%%% the author's website. %%%% Please send bug reports to lfinsto1@gwdg.de %%%% The mailing list help-3dldf@gnu.org is available for people to %%%% ask other users for help. %%%% The mailing list info-3dldf@gnu.org is for the maintainer of %%%% GNU 3DLDF to send announcements to users. %%%% To subscribe to these mailing lists, send an %%%% email with ``subscribe '' as the subject. %%%% The author can be contacted at: %%%% Laurence D. Finston %%%% c/o The Free Software Foundation, Inc. %%%% 51 Franklin St, Fifth Floor %%%% Boston, MA 02110-1301 %%%% USA %%%% lfinsto1@gwdg.de %%%% s246794@stud.uni-goettingen.de %% *** (3) Wave form 2. LDF 2006.03.03. w := 6.4cm; h := 4.8cm; w *= 4; h *= 4; w /= 1.1375; h /= 1.1375; pen_width := .75mm; frame_w := w - .5pen_width; frame_h := h - .5pen_width; path frame; frame := origin -- (frame_w, 0) -- (frame_w, frame_h) -- (0, frame_h) -- cycle; shift frame (0, -.5frame_h); picture frame_picture; beginfig(0); draw frame with_pen pencircle scaled (.5mm, .5mm, .5mm); frame_picture := current_picture; endfig; point p; path q; pen medium_pen; pen thick_pen; medium_pen := pencircle scaled (.75mm, .75mm); thick_pen := pencircle scaled (1mm, 1mm); pickup medium_pen; picture save_picture; for k = 0 upto 6: r := k + 1; for j = 0 upto 19: q := null_path; beginfig(j + k * 38); draw (0,0) -- (frame_w, 0) with_color red; for i = 16 * k upto 16 * r: m := i * 360 / 32; n := .25 * j * sind m; p := (.25 * i, n); q += p; endfor; draw q with_pen thick_pen; q += ..; draw origin -- (.25 * 16 * k, 0) with_pen thick_pen; save_picture := current_picture; output current_picture with_projection parallel_x_y; clear current_picture; clip_to frame; output frame_picture with_projection parallel_x_y; endfig; beginfig(r * 38 - j) ; output save_picture with_projection parallel_x_y; clip_to frame; output frame_picture with_projection parallel_x_y; endfig; endfor; endfor; verbatim_metapost "end"; end;