A superquadric is a geometric primitive that generalizes basic shapes such as ellipsoids, cylinders, boxes, and diamonds. They were introduced by Alan H. Barr in 1981 as a compact and flexible method for representing a wide range of rounded and squared objects in computer graphics, computer vision, and robotics. Superquadrics provide a smooth, continuous surface that can be defined by a small number of parameters, making them efficient for modeling and manipulation.
Mathematical Formulation
A superquadric is typically defined by an implicit equation, which is a generalization of the equation for an ellipsoid. In its most common form, for a superquadric centered at the origin, it is given by:
${\displaystyle \left(\left|{\frac {x}{a}}\right|^{n_{2}}+\left|{\frac {y}{b}}\right|^{n_{2}}\right)^{\frac {n_{1}}{n_{2}}}+\left|{\frac {z}{c}}\right|^{n_{1}}=1}$
where:
- $(x, y, z)$ are the coordinates of a point on the surface.
- $(a, b, c)$ are positive real-valued parameters controlling the size of the superquadric along the x, y, and z axes, respectively. These act like semi-axes for an ellipsoid.
- $n_1$ and $n_2$ (also commonly denoted as $\epsilon_1$ and $\epsilon_2$) are positive real-valued exponents that control the "squareness" or "roundness" of the shape:
- $n_1$ (longitudinal exponent) controls the shape along the Z-axis (from top to bottom).
- $n_2$ (latitudinal exponent) controls the shape in the XY-plane (around the Z-axis).
Special Cases based on $n_1, n_2$ values:
- Ellipsoid: If $n_1 = 2$ and $n_2 = 2$, the equation reduces to that of an ellipsoid.
- "Diamond" / Bicone Shapes: If $n_1 < 2$, the superquadric takes on a "pinched" or bicone-like shape along the z-axis (pointed ends). For example, with $n_1=1, n_2=2$, it forms a diamond.
- Box-like Shapes: If $n_1 > 2$ and/or $n_2 > 2$, the superquadric becomes "squarer" or "boxier." As $n_1 \to \infty$ and $n_2 \to \infty$, the shape approaches a rectangular box.
- Cylinder with Circular Cross-section: If $n_1$ is very large (approaching infinity) and $n_2 = 2$, the superquadric approximates a circular cylinder with flattened ends.
- Cylinder with Square Cross-section: If $n_1 = 2$ and $n_2$ is very large (approaching infinity), the superquadric approximates a cylinder with a square cross-section and rounded ends.
- Star-like Shapes: If $n_2 < 2$, the superquadric becomes "pinched" or "star-like" in its cross-section in the XY-plane.
Superquadrics can also be expressed in a parametric form, which is useful for generating points on the surface for rendering or sampling.
Properties and Characteristics
- Shape Variety: Superquadrics can represent a wide continuum of shapes, from spheres and ellipsoids to various forms of cylinders, cubes, diamonds, and shapes with more complex contours.
- Compact Representation: A complex shape can be described by a small number of parameters (axes lengths, exponents, and position/orientation).
- Implicit Surface: The implicit equation makes it easy to determine if a point is inside ($F(x,y,z) < 1$), outside ($F(x,y,z) > 1$), or on the surface ($F(x,y,z) = 1$). This property is highly beneficial for collision detection, boolean operations (union, intersection, difference), and constructive solid geometry (CSG).
- Smooth Normals: The surface normals, essential for lighting and shading in computer graphics, can be easily derived analytically from the implicit equation.
Applications
Superquadrics have found extensive use in various fields:
- Computer Graphics:
- Modeling organic and man-made objects with flexible control over shape.
- Creating procedural shapes and textures.
- Animation and morphing between different shapes.
- Rendering and ray tracing due to efficient intersection tests.
- Computer Vision:
- Object recognition and reconstruction from 2D images or 3D point clouds.
- Fitting superquadrics to sensor data (e.g., from depth cameras or laser scanners) to estimate object pose and shape parameters.
- Robotics:
- Grasping and manipulation planning for robotic arms and end-effectors.
- Collision detection and avoidance in dynamic robotic environments.
- Workspace and obstacle representation.
- Medical Imaging:
- Modeling anatomical structures (e.g., bones, organs) for visualization and analysis.
- Industrial Design:
- Conceptual design and rapid prototyping of products.
History
Superquadrics were introduced by Alan H. Barr in his seminal 1981 paper "Superquadrics and Global Deformations for Low-Level Control of Geometry" presented at the SIGGRAPH conference. Barr's work built upon earlier mathematical generalizations of shapes, providing a practical framework for their application in computer graphics and related fields.
See Also
- Quadric surface
- Ellipsoid
- Geometric modeling
- Implicit surface
- Constructive solid geometry (CSG)