//ketlib pL=[]; rsorg=1; //figures Ketinit(); Setketcindyjs(["Nolabel=all","Color=offwhite","Fig=y"]);// no ketjs Setwindow([-7,7],[-7,7]); //Setax(["","","sw","","sw"]); //Slider("S",[0,YMIN-0.2],[2*pi,YMIN-0.2]); Movetojs(60,[0.2,6.5],16);//no ketjs Setplaybuttons([-3,-6.5],15,[1]);// no ketjs Move(pdata,t):=( regional(Kj,Nj,pt,qt,out,outj,tmp,tmp1); out=[]; forall(pdata,Kj, Nj=parse(Kj); outj=[]; forall(Nj,pt, qt=Rotatepoint(pt,rad*t/rs,pB); tmp=(rad+rs)*[cos(t),sin(t)]; qt=Translatepoint(qt,tmp-pB); qt=Rotatepoint(qt,t,tmp); outj=append(outj,qt); ); out=append(out,outj); ); out; ); str="rs="+text(rsorg); //str=Textedit(60);//only ketjs tmp=Strsplit(str,"="); if(length(tmp_2)>0, parse(str+";"); , rs=rsorg; ); rad=3; pC=[0,0]; pB=pC+[rad+rs,0]; Putpoint("A",pB+[rs,0],[Ptpos(A)_1,0]);// no ketjs if(rs!=rsorg, Ptpos(A,pB+[rs,0]); rsorg=rs; ); Circledata("0",[pC,rad],[]); Circledata("1",[pB,rs],["nodisp"]); Pointdata("1",[Ptpos(A)],["nodisp","Size=3"]); ad1=["pt1","cr1"]; ds=2*pi/50; Slist=apply(0..150,#*ds); pL=[]; forall(Slist, tmp=Move(["pt1"],#); pL=append(pL,[#,tmp_1_1]); ); mf(s):=( regional(dts,tmp,op1,op2); dts=Move(ad1,s); op1=["Size=3","Color=red","Msg=n"]; op2=["Msg=n"]; Drawfigures("1",dts,[op1,op2],["Msg=n"]); tmp=select(pL,#_1<=s); tmp=apply(tmp,#_2); if(length(tmp)>0, Listplot("5",tmp,["do","Msg=n"]); ); ); Setpara("epitrochoid","mf(s)","s=[0,2*pi]",["Div=32"], //no ketjs ["Frate=10","Scale=1","OpA=","Mag=1200"]); //no ketjs ss=Animationparam(0,1,[0,6*pi]); mf(ss); Windispg();