# Ray 3D

This module draws a raytraced image of a parametric equation (x=x(u,v), y=y(u,v), z=z(u,v)) using Povray. (Povray is free software and can be downloaded from www.povray.org)

Unlike the tool Polyray, this module can draw all kinds of smooth surfaces, not only polynomials. However, since it uses phong shading to smoothen the image, it is not as accurate, but the result will still be quite attractive. Compared with the tool Traces Animes, this module gives smooth surfaces instead of patch grids, at the cost of a little more time for rendering.

Enter the parametric equation of the surface here. Note that the surface must be defined and continuous for all u, v in or near the range (minimum distance less than 0.0001*(amax-amin)/acnt, a is u or v), and must be smooth for all u and v in the range. (Singular points will be plotted inaccurately, sometimes the calculation even fails)

x(u,v)=
y(u,v)=
z(u,v)=

Enter the range for u and v:

umin=, umax=
vmin=, vmax=

In order to draw the image, we must subdivide [umin, umax] and [vmin, vmax] into ucnt and vcnt equal subdivisions, and calculate the coordinates and normals (for smoothening) of the resulting ucnt * vcnt lattice points. Of course, the larger ucnt and vcnt is, the more accurate the resulting surface is. Generally 12x12 is already quite satisfactory, and can usually be calculated in several seconds. However, if you need high quality, 24x24 should be OK, but you will need to wait for 10 or more seconds. Note that transforming the equations to a good form is vital to the quality of the image.Enter ucnt and vcnt here:

ucnt=, vcnt=

Now enter the ranges for x, y, and z. Portions of the surface outside of this range is clipped. This is useful for examing the interior of the image. However, if you want to see the full image, specify a wide range that will fit in all the points on the surface. Note that this does not affect your camera view, thus a moderately large range and a extremely large range acts exactly the same for finite surfaces.

xmin=, xmax=
ymin=, ymax=
zmin=, zmax=

Now enter the location of the camera and the light. For the beginners, you can specify a point having a moderate distance from the surface as the location of the camera, and putting the light near (or in the same place as) the camera generally is OK. Only beware not to put the light or the camera inside the surface if you are not intended to. Note that the camera is always pointing to (0,0,0). For best results, it is often needed to tune these paraeters several times.

Camera: x=, y=, z=
Light: x=, y=, z=

The bottom note: The surfaces are plotted in a left-handed coordinate system, so they are really the mirror images of the usual surfaces in a right-handed coordinate system. However, for many symmetric surfaces, this makes no difference. If you do want to see the surfaces in a right-handed coordinate system, transform them by yourself.

In order to access WIMS services, you need a browser supporting forms. In order to test the browser you are using, please type the word wims here: and press Enter''.