A Gallery

Nothing breathtaking here, just exploring CSG with quadrics, and piece-wise quadrics in general. Newer pictures first, older ones below.


A flawed torus, pieced together from quadric patches (no bonus points if you can spot the obvious bugs and flaws):
piece-wise quadric toroid


The patches forming the Zwart-Powell element are organized as a grid of squares, where each square is cut along its two diagonals. So a height field over a cartesian lattice takes four quadric patches per square cell. In isolation, this single basis function requires fewer quadric patches. Adjacent blue-ish patches are all part of a single quadric, and there are no real edges between them:
the quadric pieces of the ZP-element


An actual basis function of a 2D spline. In contrast to the wannabe further below, this one is tangent continuous everywhere. It is a box spline based on the vectors (1,0) (0,1) (1,1) (-1,1), also known as the Zwart-Powell element (28 quadric domains in general, more primitives for rendering):
actual spline basis function
This spline is not separable, but it can be decomposed into smaller copies of itself. Does this mean that it is a Wavelet?


A surface of revolution:


Some stem or stalk made from slightly perturbed hyperboloids:
an intersection of seven hyperboloids


A wannabe basis function for a 2D spline. This might be useful for building somewhat smooth height fields of quadric patches. Unfortunately, most degrees of freedom are constrained by symmetry, partition of unity, compact support, and the prevention of overshooting (24 quadric domains, many more primitives for this test image):
spline basis
function


A chain. Each link is the intersection of three quadrics:
a chain of individual links


"Modern Art" made from 50 quadrics:
experimenting
with transitions between basic quadrics