two concentric circles,
two intersecting circles,
or two interlocking circles.
The last two phenomena are visually nontrivial.
x = (c+a cos(t)) cos(s)
y = (c+a cos(t)) sin(s) z = a sin(t) |
The actual Maple commands are direct translation of the above formulation:
a:=3:b:=4:c:=sqrt(a^2+b^2);
r:=c+a*cos(t); x:=r*cos(s); y:=r*sin(s); z:=a*sin(t); plot3d([x,y,z],s=0..2*Pi,t=0..2*Pi,scaling=constrained, grid=[50,100],color=cyan); |
(Maple commands? Yes, it is a technical programming language. It is so straightforward that you don't need a 5-kilo manual to understand it.)
We now see this appearing on the screen:
To obtain the first two half-tori, simply replace the ranges of the parameters s and t by
As for the third half-torus, it is the part of the complete torus lying below the plane
u:=solve(b*z=a*x,s); |
to compute the range of the parameter s. To view the modification, replace
the last command by
plot3d([x,y,z],s=-u..u,t=0..2*Pi, scaling=constrained,grid=[50,100],color=cyan): |
Once we are satisfied with the appearance of the geometric model, we
are ready to convert it to VRML. In Maple V, the command vrml resides in
the library plottools. To invoke it, we need to issue the command
with(plottools): |
Before applying the command vrml, we need to "squeeze" the action of
drawing into one symbol h:
h:=plot3d([x,y,z],s=-u..u,t=0..2*Pi, scaling=constrained,grid=[50,100],color=cyan): |
Finally, apply the magic command
vrml(h,"f:/data/halftorus.wrl",background_color=white); |
The VRML halftorus.wrl is to be found under the subdirectory f:\data\, ready to be viewed directly with Netscape.
The fourth model is obtained by rotating the circle
a:=3;b:=7;c:=sqrt(a^2+b^2);x1:=b*cos(t);
y1:=a+c*sin(t); z:=a*cos(t); x:=x1*cos(u)-y1*sin(u); y:=x1*sin(u)+y1*cos(u); h:=plot3d([x,y,z],u=0..Pi,t=0..2*Pi,scaling=constrained); vrml(h,"f:/data/halftorus.wrl",background_color=white); |
You may find the related Maple V and VRML files under this webpage: