GraphingCalculator 4; Window 64 154 618 1220; PaneDivider 387; FontSizes 16; BackgroundType 0; BackgroundColor 10 0 20; StackPanes 1; Slider 0 360; SliderSteps 360; SliderControlValue 51; T 0 6.283185307179586; U 0 6.283185307179586; V 0 6.283185307179586; 4D.Show4DxyPlane 0; 4D.Show4Daxes 0; 4D.Depth 1.7330909743; 4D.View 0.3391655842481319 0.4680470998910554 0.01808025428505052 0.8158257921568927 0.9233268135583683 -0.2722351926379099 -0.1517923488351775 -0.2243093357211841 -0.1557654991144599 -0.7786242378452494 -0.3172499722819189 0.5184919098857255 0.09039585784579017 -0.3171186030744568 0.9359405121804637 0.1236112379188874; Text "Clifford Torus, its Projection Cyclide, and the embedding 3Sphere. By Guido 'wugi' Wuyts, 2016 http://home.scarlet.be/wugi/qbComplex.html"; Color 4; Expr h=n*(pi/360); Color 2; MathPaneSlider 96; Expr s=slider([-1,1]); Text "The 3Sphere equation is xx+yy+uu+vv = 2. The Clifford torus's is xx+yy = uu+vv = 1 and may rotate within its 3Sphere. The 3Sphere is 'filled out' by a family of 'toruses' : xx+yy = rxy^2 and uu+vv = ruv^2 , so that ruv^2 = 2 - rxy^2 The slider runs through those values, probing the 3Sphere from Clifford torus to limit circles. Also the 3D projection Cyclide from v-axis (v=sqrt2) into x,y,u space is shown! (xyu axes in magenta, v axis in white) "; Color 8; Expr 'rxy'=[s+1]^0.5; Color 3; Expr 'ruv'=[1-s]^0.5; Expr vector(x,y,u,v)=vector('rxy'*cos(u)*cos([h])-('ruv'*sin(v)*sin([h])),'rxy'*sin(u),'ruv'*cos(v),'rxy'*cos(u)*sin([h])+'ruv'*sin(v)*cos([h])); Color 6; Expr vector(x,y,u,v)=vector('rxy'*cos(t)*cos([h])-('ruv'*sin([a*(pi/9)])*sin([h])),'rxy'*sin(t),'ruv'*cos([a*(pi/9)]),'rxy'*cos(t)*sin([h])+'ruv'*sin([a*(pi/9)])*cos([h])),in(a,set(0,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,8,17)); Color 5; Expr vector(x,y,u,v)=vector('rxy'*cos([a*(pi/9)])*cos([h])-('ruv'*sin(t)*sin([h])),'rxy'*sin([a*(pi/9)]),'ruv'*cos(t),'rxy'*cos([a*(pi/9)])*sin([h])+'ruv'*sin(t)*cos([h])),in(a,set(0,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,8,17)); Color 3; Expr d=2^0.5; Color 7; Expr vector(x,y,u,v)=vector('rxy'*cos(u)*cos([h])-('ruv'*sin(v)*sin([h])),'rxy'*sin(u),'ruv'*cos(v),0)*(d/(d-['rxy'*cos(u)*sin([h])+'ruv'*sin(v)*cos([h])])); Color 6; Expr vector(x,y,u,v)=vector('rxy'*cos(t)*cos([h])-('ruv'*sin([a*(pi/9)])*sin([h])),'rxy'*sin(t),'ruv'*cos([a*(pi/9)]),0)*(d/(d-['rxy'*cos(t)*sin([h])+'ruv'*sin([a*(pi/9)])*cos([h])])),in(a,set(0,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,8,17)); Color 5; Expr vector(x,y,u,v)=vector('rxy'*cos([a*(pi/9)])*cos([h])-('ruv'*sin(t)*sin([h])),'rxy'*sin([a*(pi/9)]),'ruv'*cos(t),0)*(d/(d-['rxy'*cos([a*(pi/9)])*sin([h])+'ruv'*sin(t)*cos([h])])),in(a,set(0,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,8,17)); Color 7; Expr vector(0,0,0,0),vector(0,0,0,d); Expr vector(1,0,0,0),vector(1,1,0,0),vector(0,1,0,0),vector(0,1,1,0),vector(0,0,1,0),vector(1,0,1,0),vector(1,0,0,0); Expr vector(0,0,0,0),vector(1,0,0,0); Expr vector(0,0,0,0),vector(0,1,0,0); Expr vector(0,0,0,0),vector(0,0,1,0);