function square(a,b,options) {var one=Rotation(a,b,3*Math.PI/2,'hidden') var two=Rotation(b,a,Math.PI/2,'hidden') Segment(a,two,'') Segment(b,one,'') Segment(one,two,'') return [one,two] } function pyth(a,b,n) { var r1=RotationMarkedAngle(a,b,p,s[1],s[0],'hidden') r1=DilationSegmentRatio(r1,b,seg2,h,'hidden') Segment(b,r1,'') Segment(a,r1,'') var sq1=square(a,r1,'') var sq2=square(r1,b,'') if (n<5) { pyth(sq2[1],sq2[0],n+1) pyth(sq1[1],sq1[0],n+1) } } a=Point(120,385,'') b=Point(170,385,'') Segment(a,b,'') s=square(a,b,'') h=Segment(s[0],s[1],'hidden') m=Midpoint(h,'hidden') c=Circle(m,s[1],'hidden') p=Point_on_object(c,3*Math.PI/2,'label(Move)') seg1=Segment(s[0],p,'') seg2=Segment(s[1],p,'') st2=square(p,s[0],'') st1=square(s[1],p,'') pyth(st1[1],st1[0],0) pyth(st2[1],st2[0],0) AnimateButton(10,10,'Animate',[p,c],[0.1],[0],[0],'')