One topic I’ve found to be extremely interesting is the idea of dual space in terms of a polyhedron. After recently being introduced to Fourier transforms (thanks Professor Morhmann!) and image processing I’ve been thinking about dual space in the same sort of light: as a mathematical transformation. I’d like to take a moment to thank Dirk Gregorius for first introducing me to the idea of Dual space, and sharing some of his thoughts on the subject.

Transformations that map from domain to range are generally used to simplify problems. In computational geometry many problems are numerically challenging to solve in standard Euclidean space. Edge cases and code complexity rise in order to handle numerical and geometric robustness issues.

By taking a polyhedron into Dual Space a new perspective is gained and some problems may become much simpler to solve. Hopefully this short article can be of use to someone by describing a particular type of dual transformation. For this article Euclidean space is denoted by *E*, and dual space is denoted by *D*. Given a 3D point P in *E*, the transformation to dual space is:

\begin{equation}

P = \left\{\begin{matrix}a&b&c\end{matrix}\right\}\in E \\

D( P ) = ax + by + cz = 1

\label{eq1}

\end{equation}

In this way a point in *E* becomes a plane in *D*. In this way the Dual plane of point P becomes farther from the origin in *D* the closer P is to the origin in *E*. The units in Dual Space are of inverse units in Euclidean space.

Similarly a plane L in *E* transformed to a point in *D* is denoted by the following:

\begin{equation}

L = ax + by + cz \in E \\

D( L ) = \left\{\begin{matrix}\frac{a}{d}&\frac{b}{d}&\frac{c}{d}\end{matrix}\right\} = 1

\label{eq2}

\end{equation}

In this way a point in *E* maps to a plain in *D*, and the farther away from the origin the point is the closer to the origin the plane is.

This Dual transformation is interesting due to the isomorphism present. The Dual of *E* is indeed *D*, and the Dual of *D* returns back the original *E*. This allows data to be transformed to Dual space and back again, allowing algorithms to be performed within the intermediary Dual space.

This particular transformation can be see in Ericson’s Real-Time Collision Detection, as well as a white paper on the topic of CD-Dual.

One popular example of utilizing a type of dual transformation (not necessarily this exact transformation) is the open source project HACD by Khaled Mamou. In his project half-edge collapse operations are performed upon the Dual of a mesh, all the while minimizing a tunable cost function. There are more applications that may benefit from the perspective of Dual space, and I hope this article can bring this idea some more awareness.

If anyone reading this article knows of any other interesting applications of the geometric dual, please to do comment!

Preview image from: http://www.math.rutgers.edu/~erowland/polyhedra-project.html