00001 00002 c 00003 c Copyright (c) 1986,1987,1988,1989,1990,1991,1992,1993, 00004 c by Steve McMillan, Drexel University, Philadelphia, PA. 00005 c 00006 c All rights reserved. 00007 c 00008 c Redistribution and use in source and binary forms are permitted 00009 c provided that the above copyright notice and this paragraph are 00010 c duplicated in all such forms and that any documentation, 00011 c advertising materials, and other materials related to such 00012 c distribution and use acknowledge that the software was developed 00013 c by the author named above. 00014 c 00015 c THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 00016 c IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 00017 c WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00018 c 00019 subroutine xyzplot(input,istart,nin,x,y,z,n,jth, 00020 & jsym,plot_symbol,hp,*) 00021 save 00022 c 00023 c Plot y(x), clipped according to z. Place an ngon symbol 00024 c determined by jsym and plot_symbol at every |jth|-th point 00025 c (see mline). 00026 c 00027 character*(*) input 00028 dimension x(1),y(1),z(1) 00029 character*1 plot_symbol,sim 00030 c 00031 common /scales/ xl,xr,dinchx,ybot,ytop,dinchy,rlen,slen 00032 c 00033 call readrq(input(istart:nin),2, 00034 & z1,z2,dum,dum,*1001) 00035 call devon 00036 c 00037 jj = abs(jth) 00038 c 00039 in = 0 00040 do 290 i=1,n 00041 if (x(i).ge.xl.and.x(i).le.xr 00042 & .and.y(i).ge.ybot.and.y(i).le.ytop 00043 & .and.z(i).ge.z1.and.z(i).le.z2) then 00044 c 00045 call fr inches(x(i),y(i),rloc,sloc) 00046 c 00047 if (jth.ne.0 00048 & .and.(jsym.ne.0.or.plot_symbol.ne.' ')) then 00049 if (jj*(i/jj).eq.i) then 00050 if (jsym.ne.0) then 00051 call ngon(rloc,sloc,.5*hp,jsym,0.) 00052 else 00053 if (plot_symbol.ne.'#') then 00054 sim = plot_symbol 00055 else 00056 c 00057 c Encode the number of the point in sim. 00058 c 00059 ii = i 00060 do while (ii.gt.61) 00061 ii = ii - 61 00062 end do 00063 if (ii.le.9) then 00064 sim = char(48+ii) 00065 else if (ii.le.35) then 00066 sim = char(87+ii) 00067 else 00068 sim = char(55+ii) 00069 end if 00070 end if 00071 call simbol(rloc,sloc,hp,sim,0.,-1) 00072 end if 00073 end if 00074 end if 00075 c 00076 if (jth.ge.0.and.in.eq.1) then 00077 call plotin(rloc0,sloc0,3) 00078 call plotin(rloc,sloc,2) 00079 end if 00080 in = 1 00081 rloc0 = rloc 00082 sloc0 = sloc 00083 else 00084 in = 0 00085 end if 00086 290 continue 00087 c 00088 return 00089 1001 return 1 00090 c 00091 end