Ketinit():=Ketinit("fig",1,[-5,5],[-5,5]); //181001 Ketinit(Arg):=(//181001from if(isstring(Arg), Ketinit(Arg,1,[-5,5],[-5,5]); , Ketinit("fig",Arg,[-5,5],[-5,5]); ); ); Ketinit(work,sy,rangex,rangey):=(//181001to regional(pt,tmp,tmp1,tmp2,letterc,boxc,shadowc,mboxc); PenThickInit=8; ULEN="1cm"; MEMORI=0.05;//18.01.15from MEMORIInit=MEMORI; MEMORINow=MEMORI; MARKLEN=0.05; MARKLENInit=MARKLEN; //180504 MARKLENNow= MARKLEN; GENTEN=[0,0];//18.01.15until KETPICLAYER=20; MilliIn=1/2.54*1000; PenThick=round(MilliIn*0.02); PenThickInit=PenThick; TenSizeInit=0.02; TenSize=TenSizeInit; YaSize=1; YaAngle=18; YaPosition=1; YaCut=0; YasenStyle="dr,1"; Yajiristyle="tf"; KETPICCOUNT=1; KCOLOR=[0,0,0]; GLIST=[]; GCLIST=[]; GOUTLIST=[]; POUTLIST=[]; VLIST=[]; FUNLIST=[]; LETTERlist=[]; COM0thlist=[]; COM1stlist=[]; COM2ndlist=[]; ADDAXES="1"; AXSTYLE=["l","x","e","y","n","O","sw","","",""]; //181216 AXCOUNT=1; //181215 SHADECTR=1; //190222 LFmark=unicode("000a"); CRmark=unicode("000d");//16.12.13 Dq=unicode("0022"); CommonMake=0;//180610 WaitUnit=10; CONTINUED=0; OutComList=[]; OutFileLIst=[]; // 15.10.22 FigPdfList=[]; // 16.04.08 Fillstore(); //181212 ADDPACK=[]; // 16.05.16 GPACK="tpic"; //180817 ErrFlag=0; KETJSOP=[]; //190129 ArrowlineNumber=1; // 15.01.05 ArrowheadNumber=1; BezierNumber=1; //15.01.03 SCALEX=1; SCALEY=sy; XMIN=rangex_1/SCALEX; XMAX=rangex_2/SCALEX; YMIN=rangey_1/SCALEY; YMAX=rangey_2/SCALEY; Setwindow("Msg=n"); // 16.05.31 ); Fillstore():=( regional(tmp,tmp1,out,dtL,txtL,clrL,txt,clr,nn,jj); dtL=[ //181209from ["Figure",[1,0.29,0.29]],["Parent",[1,1,0]], ["ParaF",[0,1,1]],["Flip",[0,0,1]],["Anime",[0.51,0.95,1]], ["Title",[0,1,0]],["Slide",[0.47,0,0.72]],["Digest",[1,0.74,0.47]], ["KeTJS",[0,1,1]],["KeTJSoff",[0,1,1]], ["Objview",[0,1,0]] ]; txtL=apply(dtL,#_1); clrL=apply(dtL,#_2); tmp1=allelements(); tmp1=select(tmp1,indexof(#.name,"Text")>0); out=[]; forall(1..(length(tmp1)),nn, tmp=tmp1_nn; txt=tmp.text; tmp=select(1..(length(txtL)),txtL_#==txt); if(length(tmp)>0, jj=tmp_1; clr=clrL_jj; tmp=tmp1_nn; tmp.fillcolor=clr; , tmp=tmp1_nn; clr=tmp.fillcolor; ); out=append(out,[tmp.name,clr,tmp.text]); ); //181209to out; ); Setwindow():=Setwindow("Msg=yes"); Setwindow(str):=( regional(tmp,tmp1,tmp2,msg); msg="y"; tmp=indexof(str,"="); // 16.02.10 tmp1=Toupper(substring(str,tmp,tmp+1)); if(tmp1=="N",msg="n"); if((ispoint(SW) & ispoint(NE)), tmp1=Lcrd(SW); tmp2=Lcrd(NE); XMIN=tmp1_1; XMAX=tmp2_1; YMIN=tmp1_2; YMAX=tmp2_2; , Putpoint("SW",Pcrd([XMIN,YMIN])); Putpoint("NE", Pcrd([XMAX,YMAX])); ); if(msg=="y", println("Setwindow(["+XMIN+","+XMAX+"],["+YMIN+","+YMAX+"])"); ); layer(KETPICLAYER); autoclearlayer(KETPICLAYER,true); drawpoly([Pcrd([XMIN,YMIN]), Pcrd([XMAX,YMIN]), Pcrd([XMAX,YMAX]),Pcrd([XMIN,YMAX])],color->[1,1,1]); ); Setwindow(xrange,yrange):=( XMIN=xrange_1; XMAX=xrange_2; YMIN=yrange_1; YMAX=yrange_2; Putpoint("SW",[XMIN,YMIN]);//181016 Putpoint("NE",[XMAX,YMAX]);//181016 ); Textformat(value,dig):=( regional(vv,tmp,tmp1); if(islist(value), tmp1="["; forall(value, tmp1=tmp1+Textformat(#,dig)+","; ); if(length(tmp1)>1, //18.01.29from tmp1=substring(tmp1,0,length(tmp1)-1); ); tmp1=tmp1+"]"; //18.01.29until , if(ispoint(value) % isstring(value), if(isstring(value),tmp1=Dq+value+Dq,tmp1=text(value)); // 15.10.02 , tmp1=format(value,dig); ); ); tmp1; ); Measuredepth(list):=( regional(tmp,tmp1,Depth,Flg); Flg=0; Depth=0; if(length(list)>0, //180501 if(ispoint(list), Depth=0; Flg=1; , tmp1=select(1..(length(list)),length(list_#)>0);//17.05.21from tmp=list_(tmp1_1);//17.05.21until ); repeat(4, if(Flg==0, if(islist(tmp), tmp=tmp_1; Depth=Depth+1; , if(ispoint(tmp),Depth=Depth+1); Flg=1; ); ); ); );//180501 Depth; ); Drwxy():=Drwxy(0,[]); //190103from Drwxy(Arg):=( if(islist(Arg),Drwxy(0,Arg); Drwxy(Arg,[])); ); Drwxy(add):=Drwxy(add,[]); Drwxy(add,optionsorg):=( //190103to regional(options,color,eqL,strL,org,xrng,yrng,ax,st,nn,size, linesty,colorax,colorla,tmp,tmp1,tmp2); options=optionsorg; tmp=Divoptions(options); color=tmp_(length(tmp)-2); eqL=tmp_5; org=GENTEN; xrng=[XMIN,XMAX]; //190103 yrng=[YMIN,YMAX]; //190103 ax=AXSTYLE; linesty=ax_8; if(isstring(ax_9),colorax=ax_9,colorax=text(ax_9)); if(length(colorax)>0, colorax="Color="+colorax; ); if(isstring(ax_10),colorla=ax_10,colorla=text(ax_10)); if(length(colorla)>0, //181217from colorla="Color="+colorla; , if(length(colorax)>0, colorla=colorax; ); ); //181217to forall(eqL, tmp=Strsplit(#,"="); tmp1=Toupper(substring(tmp_1,0,1)); if(tmp1=="O", //190103from org=parse(tmp_2); options=remove(options,[#]); ); //190103to if(tmp1=="X", xrng=parse(tmp_2); options=remove(options,[#]); ); if(tmp1=="Y", yrng=parse(tmp_2); options=remove(options,[#]); ); if(tmp1=="A", tmp2=tokenize(tmp_2,","); st=1; nn=1; if(isreal(tmp2_1), st=2; nn=tmp2_1; ); forall(st..(length(tmp2)), tmp=tmp2_#; if(length(tmp)>0,ax_nn=tmp); nn=nn+1; ); options=remove(options,[#]); ); ); options=append(options,linesty); //181216 if(substring(ax_1,0,1)=="a", strL=select(options,isstring(#)); //181216 tmp=select(strL,contains(["dr","da","do","id"],substring(#,0,2))); if(length(tmp)==0,options=append(options,YasenStyle)); tmp=substring(ax_1,1,length(ax_1)); //181216[2lines] if(length(tmp)>0,size=parse(tmp),size=YaSize); tmp1=concat(options,[size,YaAngle,YaPosition,YaCut,colorax]);//181216 tmp=[[xrng_1,org_2],[xrng_2,org_2]]; Arrowdata("axx"+text(AXCOUNT),tmp,tmp1); tmp=[[org_1,yrng_1],[org_1,yrng_2]]; Arrowdata("axy"+text(AXCOUNT),tmp,tmp1); , tmp=[[xrng_1,org_2],[xrng_2,org_2]]; tmp1=append(options,colorax);//181216 Listplot("axx"+text(AXCOUNT),tmp,tmp1); tmp=[[org_1,yrng_1],[org_1,yrng_2]]; Listplot("axy"+text(AXCOUNT),tmp,tmp1); ); AXCOUNT=AXCOUNT+1; Expr([[xrng_2,org_2],ax_3,ax_2],[colorla]);//181216[3lines] Expr([[org_1,yrng_2],ax_5,ax_4],[colorla]); Letter([org,ax_7,ax_6],[colorla]); if(add==0, //190103 Addax(0); ); ); Dashlinedata(dataorg,sen,gap,ptn):=( regional(data,eps,dtall,len,lenlist,ii,lenall,kari, naga,tobi,nsen,seglist,segunit,hajime,owari,jj, flg,tt,ptL,out,tmp,tmp1,tmp2); eps=10.0^(-6); if(isstring(dataorg),data=parse(dataorg),data=dataorg); dtall=length(data); out=[]; len=0; lenlist=[0]; forall(2..dtall,ii, len=len+|data_ii-data_(ii-1)|; lenlist=append(lenlist,len); ); lenall=lenlist_dtall; if(lenall>0, kari=(sen+gap)*0.1;naga=sen*0.1;tobi=gap*0.1; if(|data_1-data_dtall|0,hajime=flg-1); flg=0; forall(hajime..dtall,jj, if(flg==0, if(len+naga0,owari=flg-1); tt=len-lenlist_hajime; tt=tt/(lenlist_(hajime+1)-lenlist_hajime); tmp=data_hajime+tt*(data_(hajime+1)-data_hajime); ptL=[tmp]; forall((hajime+1)..owari,jj, ptL=append(ptL,data_jj); ); tt=(len+naga-lenlist_owari); tt=tt/(lenlist_(owari+1)-lenlist_owari); tmp=data_owari+tt*(data_(owari+1)-data_owari); ptL=append(ptL,tmp); out=append(out,ptL); ); ); out; ); Windispg():=( if(ADDAXES=="1", //181215from Drwxy(); ADDAXES="0"; ); //181215to Windispg(GCLIST); //190125 ); Windispg(gcLorg):=( //190125 regional(gcL,Nj,Nk,Dt,Vj,tmp,tmp1,tmp2,tmp3,tmp4,opcindy); gcL=gcLorg; //190125from if(length(gcL)>0, if(!islist(gcL_1),gcL=[gcL]); ); //190125to gsave(); layer(KETPIClayer); forall(gcL,Nj, if(isstring(Nj_1),Dt=parse(Nj_1),Dt=Nj_1); // 11.17 if(islist(Dt) & length(Dt)>0, // 12.19,12.22 tmp=Measuredepth(Dt); if(tmp==1,Dt=[Dt]); opcindy=Nj_3; tmp=Nj_2; //190119from if(!islist(tmp),tmp=[tmp,""]); //190123 if(tmp_1<0,tmp1=0,tmp1=tmp_1); //190119from if(tmp1<10, forall(Dt,Nk, if(length(Nk)>1, tmp3=""; if(indexof(opcindy,"color")==0, //190122from tmp3=tmp3+",linecolor->"+KCOLOR; ); tmp3=tmp3+opcindy; if(tmp1==0, //190126from if((length(tmp_2)>0)&(indexof(opcindy,"size")==0), tmp3=tmp3+",size->"+tmp_2; ); //190124to tmp="connect("+Textformat(Nk,5)+tmp3+");";//190125 parse(tmp); , if(tmp1==1, tmp4=Dashlinedata(Nk,2.5,2.5,0); forall(tmp4, tmp="connect("+Textformat(#,5)+tmp3+");"; parse(tmp); ); , tmp3=",dashtype->"+text(tmp1)+tmp3; forall(1..(length(Nk)-1), tmp="draw("+Textformat([Nk_#,Nk_(#+1)],5)+tmp3+");"; parse(tmp); ); ); ); , tmp="draw("+text(Nk_1)+opcindy+");"; // 14.12.31 parse(tmp); ); //190126to ); ); ); ); grestore(); layer(0); );