3.5 Other Quadrics
pbrt supports three more quadrics: cones, paraboloids, and hyperboloids. They are implemented in the source files shapes/cone.h, shapes/cone.cpp, shapes/paraboloid.h, shapes/paraboloid.cpp, shapes/hyperboloid.h, and shapes/hyperboloid.cpp. We won’t include their full implementations here, since the techniques used to derive their quadratic intersection coefficients, parametric coordinates, and partial derivatives should now be familiar. However, we will briefly summarize the implicit and parametric forms of these shapes. A rendered image of the three of them is in Figure 3.10.
Cones are also described parametrically:
The partial derivatives at a point on a cone are
and the second partial derivatives are
3.5.2 Paraboloids
The implicit equation of a paraboloid centered on the axis with radius and height is
and its parametric form is
The partial derivatives are
and
and the parametric form is
The partial derivatives are
and