Smooth grid lines and implicit surfaces

123 Views Asked by At

Take for instance the computer rendering of this implicit surface:

http://xahlee.info/surface/cayley_cubic/cayley_cubic.html

The image shows a grid on the surface. How do I calculate the connection points of this grid? I want to create a 3D mesh representation of it in other software (a video game actually).

Thanks!

1

There are 1 best solutions below

3
On BEST ANSWER

Display grid lines are almost always the isoparametric lines corresponding to some parameterization. Specifically, if the surface parameterization is $(u,v)\mapsto \mathbf S(u,v)$, then the grid lines are curves of the form $(u,v)\mapsto \mathbf S(u,v_0)$ and $(u,v)\mapsto \mathbf S(u_0,v)$, for fixed $u_0$ and $v_0$.

So, if you have some choice about the kinds of surfaces you're going to use, choose ones that are easy to parameterise (at least piecewise, anyway).

In your picture of the Cayley surface, it looks like it's parameterized by $x$ and $y$ (in each quadrant separately). So, for any given $x$ and $y$, you can "shoot" a ray in the vertical direction (parallel to the $z$-axis) and intersect it with the surface. This gives you a parameterization $(x,y)\mapsto \mathbf S(x,y)$. But this kind of intersection process is very slow, so, again, best to choose surfaces that have a nice simple parameterization, if you can.

If parameterizations are difficult to construct, then another approach is direct tesselation of the implicit surface. This won't give you grid lines, but it will give you triangles, which is probably what you need for graphics. This is a fairly well researched topic. Many people use some variant of the "marching cubes" algorithm. If you search for "tesselation" and "implicit surfaces", you will find plenty of material.