K3DSurf is a program to visualize and manipulate Multidimensional surfaces by using Mathematical equations. It's also a "Modeler" for POV-Ray in the area of parametric/iso surfaces.

**K3DSurf Features:**

- Studying mathematical surfaces with K3DSurf include doing:
- Interactive visualization with mouse events (Right: Rotate, Middle: translate and left: Scale).
- Real time animation (rotation) and morph (by the introduction of t_time variable). Animation and morph can also be monitored by controls that affect the CPU usage and t_time step.
- Creat screenshots by copying the draw window or by using the best ray tracer on the net: Povray.
- Creat movie scene is also supported
- Generat Mesh files that describe the shape of the mathematical model.
- Supported formats are:
- Povscript : Povray is the best ray tracer available on the net...and it's free.
- VRML2: to use with the majority of current browsers via an appropriate plug-in.
- OBJ: a well-known file format supported by the majority of 3D applications (Blender, MAYA and Moray...).

**K3DSurf Usage**

K3DSurf can be used by every one interested in 3D Mathematical drawing functions and don't require any special competences by users. Most of the work was done with the intention to make K3DSurf as simple as possible but without any harm of it's efficiency:

- K3DSurf program is developed for being used by beginner users with low level degree in Mathematical science simply by testing examples (more than 50) given with it and by rendering them with Povray. Add/remove some functions from equations and visualize new results is the best way to understand 3D mathematical functions behaviours.
- 2D and 3D Designers: Pov scripts (and other file formats) generated by K3DSurf can also be integrated in complicated scenes. Adding textures to mesh objects under Povray, for examples, is straightforward.
- Teachers and height level students can study very complicated surfaces with K3DSurf. 4D/5D hyperobjects is another field where talented competences can give their best to discover new entity with artefacts that are not obvious to understand for a neophyte.

Creating equations to represent specific shapes can be somewhat tricky and require experiences in both Mathematic field and 3D programing but the most "experience demanding", I think, is the creation of specific equations with specific behaviors when rotating in Hyperspace (4D/5D).

**K3DSurf Overview**

Parametric Surface/curve :

K3DSurf use parametric descriptions of it's physical models. The parametric method of representing surfaces/curves uses a function to map some portion of R2 (the domain) to a patch of the surface in R3.

Because any position in the plane, and thus any position on the surface patch, can be uniquely given by two coordinates, the surface is said to be parameterized by those coordinates.

Parametric equations can be either “Implicit” or “Explicit”:

** Explicit equations:

In an explicit equations, x, y, and z are each given by separate functions of parameters u and v.

Example: X =u, Y = u+v, Z = cos(u+v)

** Implicit equations: Right now, only implicit equations like Z^n = f(X,Y) with (n mod 2 = 1) are supported by K3DSurf.

Example: Z = exp(x^2 + y^2), Z^7 = exp(x*cos(y))...