The Wayback Machine - http://web.archive.org/web/20200214234126/http://www.econym.demon.co.uk/isotut/

# Isosurface Tutorial

### Introduction

Isosurfaces are a feature of version 3.5 of POV-Ray. This tutorial assumes that you have some basic knowledge of isosurfaces.

### General Points

Because of my mathematical background, I prefer to express my surfaces with zero threshold. E.g. I think of a sphere as x2 + y2 + z2 - R2 = 0 rather than x2 + y2 + z2 = R2.
So I express my isosurfaces like
function {x*x + y*y + z*z - 1}
threshold 0

But some people might prefer to write the same isosurface as
function {x*x + y*y + z*z}
threshold 1

I've given almost all the images in this tutorial a visible indication of the object that the isosurface is contained_by. This is particularly useful in those images where the isosurface touches the container, so you can clearly see which features are caused by intersections with the container and which are a natural feature of the isosurface.

Hint I find it useful to add such visualisations of the container when developing surfaces. It helps avoid confusion that may arise if the isosurface accidentally touches the container. It also helps me spot situations in which the container is excessively large, wasting lots of rendering time. I comment out the sphere {0,R pigment {rgbt <1,0,0,0.9>}} once I'm happy with the behaviour of the isosurface.

The source files for the examples on each page are available as ZIP files.

The tutorial is split into the following sections:

### Printer Friendly Version

By popular request, there's now a "printable" version of this tutorial. It's considerably more printer friendly than the main text, but probably not perfect. By request, the whole tutorial is in one HTML file, so it's a bit big. Avoid it unless you're really determined to print it. There's over 100 pages (it varies depending on your browser settings). Expect it to take about 15 minutes to load on a 56k dialup line (unless you've already got the images in your browser cache from looking at the main text).
Alternatively, you could use a printer friendly browser, such as Firefox. I suggest going into the FireFox Print Preview Page Setup to set all the margins to zero and all the headers and footers to --blank--, then select "Shrink to Fit. This allows you to print these (and just about any other) printer-unfriendly pages nicely.