A voxel is merely a weighted point in space. A scalar field is defined by many of such points, all contained in conceptual boxes (of 8 points each).
Now, between each point (on each edge of the box) is a linear set of values: between point 1 with value 1 and point 2 with value 5 lay the values 2, 3 and 4 somewhere on the edge. Supposing your "iso" value is 3, you could calculate the position on each edge where the value between two points is 3.
After collecting all points that hold value 3, you can draw triangles (or faces) and create a mesh resulting in an isosurface.

Exactly how you draw those triangles in a box of 8 points is calculated by an algorithm; marching cubes!




Result:


Last edited by Joozey; 12/07/11 19:49.

Click and join the 3dgs irc community!
Room: #3dgs