% % 7.4 1998, Sternberk % (c) 1998 Petr Tomasek % % % You may use this under the terms of General Public Licence II. % %font_size=12pt#; % DULEZITE !!: %mode=localfont; mode_setup; %design_size=12pt#; %screen_rows:=500; %screen_cols:=700; % ZOBRAZIT PRI KRESLENI : !! screenstrokes; thick#:=0.1mm#; u#:=0.12mm#; %u#:=0.06mm#; define_pixels(thick,u); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %------------------- % Macros % def kosoct (expr a) = % ((0,0)--(a,a)--(2a,0)--(a,-a)--cycle) enddef; def okvet (expr alf, bet, r, l, m, n) = begingroup save xx,yy,xxx,yyy; xx=r*(sind alf); yy=r*(cosd alf); xxx=-(cosd bet); yyy=sind bet; ((xx, yy){(xx,yy)}..(n,m).. {(xxx,yyy)}(0,l){(xxx,-yyy)}..(-n,m)..{(xx,-yy)}(-xx,yy)) endgroup enddef; def kvitek (expr num, % how many times? ome,xi, % rotate angle. start angle fa,fb, % flags r,rr, % r>=rr alf, bet, gim, % angles dal, l,m,n,o % some parameters ) = begingroup pickup pencircle scaled 2u#; save i,p,xx,yy; path p; xx=(cosd dal); yy=sind dal; p=((-rr,0)..(0,rr)..(rr,0)..(0,-rr)..cycle); if fb=1: draw p shifted (l,l); fi if fb=2: filldraw p shifted (l,l); fi for i=0 upto (num-1) : if fa=0: draw okvet (alf,bet,r,l,m,n) rotated (i*ome+xi) shifted (l,l) ; fi if fa=1: draw (okvet (alf,bet,r,l,m,n){(-sind gim,cosd gim)}.. {(xx,yy)}(0,o){(xx,-yy)}..{(-sind gim,-cosd gim)}cycle) rotated (i*ome+xi) shifted (l,l) ; fi if fa=2: filldraw (okvet (alf,bet,r,l,m,n){(-sind gim,cosd gim)}.. {(xx,yy)}(0,o){(xx,-yy)}..{(-sind gim,-cosd gim)}cycle) rotated (i*ome+xi) shifted (l,l) ; fi endfor; endgroup; enddef; %---------------------- % % chars % beginchar(8,43u#,43u#,0); begingroup save a,b,s; pickup pencircle scaled u#; a=8u; b=3u; s=2a+b; fill kosoct (a) shifted (u,s); fill kosoct (a) shifted (u+a+b,s+a+b); fill kosoct (a) shifted (u+a+b,s-a-b); fill kosoct (a) shifted (u+2a+2b,s); endgroup endchar; beginchar(9,43u#,43u#,0); begingroup save a,b,s; pickup pencircle scaled u#; a=8u; b=3u; s=2a+b; draw kosoct (a) shifted (u,s); draw kosoct (a) shifted (u+a+b,s+a+b); draw kosoct (a) shifted (u+a+b,s-a-b); draw kosoct (a) shifted (u+2a+2b,s); endgroup endchar; beginchar(10,43u#,43u#,0); begingroup save a,b,s; pickup pencircle scaled u#; a=8u; b=3u; s=2a+b; fill kosoct (a) shifted (u,s); draw kosoct (a) shifted (u+a+b,s+a+b); draw kosoct (a) shifted (u+a+b,s-a-b); fill kosoct (a) shifted (u+2a+2b,s); endgroup endchar; beginchar(11,43u#,43u#,0); begingroup save a,b,s; pickup pencircle scaled u#; a=8u; b=3u; s=2a+b; draw kosoct (a) shifted (u,s); fill kosoct (a) shifted (u+a+b,s+a+b); fill kosoct (a) shifted (u+a+b,s-a-b); draw kosoct (a) shifted (u+2a+2b,s); endgroup endchar; beginchar(12,43u#,43u#,0); begingroup save a,b,s; pickup pencircle scaled u#; a=8u; b=3u; s=2a+b; fill kosoct (a) shifted (u,s); fill kosoct (a) shifted (u+2a+2b,s); endgroup endchar; beginchar(13,43u#,43u#,0); begingroup save a,b,s; pickup pencircle scaled u#; a=8u; b=3u; s=2a+b; fill kosoct (a) shifted (u+a+b,s+a+b); fill kosoct (a) shifted (u+a+b,s-a-b); endgroup endchar; beginchar(14,43u#,43u#,0); begingroup save a,b,s; pickup pencircle scaled u#; a=8u; b=3u; s=2a+b; draw kosoct (a) shifted (u+a+b,s+a+b); draw kosoct (a) shifted (u+a+b,s-a-b); endgroup endchar; beginchar(15,43u#,43u#,0); begingroup save a,b,s; pickup pencircle scaled u#; a=8u; b=3u; s=2a+b; draw kosoct (a) shifted (u,s); draw kosoct (a) shifted (u+2a+2b,s); endgroup endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Flowers % beginchar(16,42u#,42u#,0); kvitek (5,72,0,0,1,3.5u,3u,35,0,35,0,20u,14u,7u,13u); endchar; beginchar(17,42u#,42u#,0); kvitek (5,72,36,0,1,3.5u,3u,35,0,35,0,20u,14u,7u,13u); endchar; beginchar(18,42u#,42u#,0); kvitek (5,72,0,2,2,5.7u,1.5u,32,0,20,0,20u,14u,7u,6.3u); endchar; beginchar(19,42u#,42u#,0); kvitek (5,72,36,2,2,5.7u,1.5u,32,0,20,0,20u,14u,7u,6.3u); endchar; beginchar(20,42u#,42u#,0); kvitek (5,72,0,2,0,5.7u,1u,32,0,20,0,20u,14u,7u,6u); endchar; beginchar(21,42u#,42u#,0); kvitek (5,72,36,2,0,5.7u,1u,32,0,20,0,20u,14u,7u,6u); endchar; beginchar(22,42u#,42u#,0); kvitek (5,72,0,1,2,3.5u,3u,32,-16,20,90,20u,14u,7u,13u); endchar; beginchar(23,42u#,42u#,0); kvitek (5,72,36,1,2,3.5u,3u,32,-16,20,90,20u,14u,7u,13u); endchar; beginchar(24,42u#,42u#,0); kvitek (5,72,0,2,2,3.5u,3u,32,-16,20,90,20u,14u,7u,13u); endchar; beginchar(25,42u#,42u#,0); kvitek (5,72,36,2,2,3.5u,3u,32,-16,20,90,20u,14u,7u,13u); endchar; beginchar(26,42u#,42u#,0); kvitek (5,72,0,2,2,3.5u,3u,32,-16,14,90,20u,14u,7u,17.4u); endchar; beginchar(27,42u#,42u#,0); kvitek (5,72,36,2,2,3.5u,3u,32,-16,14,90,20u,14u,7u,17.4u); endchar; beginchar(28,42u#,42u#,0); kvitek (5,72,0,1,2,3.5u,3u,32,41,20,90,20u,14u,7u,13u); endchar; beginchar(29,42u#,42u#,0); kvitek (5,72,36,1,2,3.5u,3u,32,41,20,90,20u,14u,7u,13u); endchar; beginchar(30,42u#,42u#,0); kvitek (5,72,0,2,2,3.5u,3u,32,41,14,80,20u,14u,7u,17u); endchar; beginchar(31,42u#,42u#,0); kvitek (5,72,36,2,2,3.5u,3u,32,41,14,80,20u,14u,7u,17u); endchar; beginchar(32,42u#,42u#,0); kvitek (5,72,36,1,2,3.5u,3u,32,-16,20,0,20u,14u,7u,13u); endchar; beginchar(33,42u#,42u#,0); kvitek (5,72,0,1,2,3.5u,3u,32,-16,20,0,20u,14u,7u,13u); endchar; beginchar(34,42u#,42u#,0); kvitek (8,45,0,2,2,3.5u,3u,32,41,14,80,20u,14u,4u,17u); endchar; beginchar(35,42u#,42u#,0); kvitek (8,45,22.5,2,2,3.5u,3u,32,41,14,80,20u,14u,4u,17u); endchar; beginchar(36,42u#,42u#,0); kvitek (8,45,0,2,0,3.5u,3u,32,41,14,80,20u,14u,4u,17u); endchar; beginchar(37,42u#,42u#,0); kvitek (8,45,22.5,2,0,3.5u,3u,32,41,14,80,20u,14u,4u,17u); endchar; beginchar(38,42u#,42u#,0); kvitek (8,45,0,1,1,3.5u,3u,32,41,14,80,20u,14u,4u,17u); endchar; beginchar(39,42u#,42u#,0); kvitek (8,45,22.5,1,1,3.5u,3u,32,41,14,80,20u,14u,4u,17u); endchar; beginchar(40,42u#,42u#,0); kvitek (8,45,0,1,2,3.5u,3u,32,41,14,80,20u,14u,4u,17u); endchar; beginchar(41,42u#,42u#,0); kvitek (8,45,22.5,1,2,3.5u,3u,32,41,14,80,20u,14u,4u,17u); endchar; beginchar(42,42u#,42u#,0); kvitek (8,45,0,1,2,3.5u,3u,22,68,68,00,20u,10u,3u,3.5u); endchar; beginchar(43,42u#,42u#,0); kvitek (8,45,22.5,1,2,3.5u,3u,22,68,68,00,20u,10u,3u,3.5u); endchar; end;