Are there alternatives to polygons in mathematical (computational) modelling?

256 Views Asked by At

So polygons are pretty standard in computer graphics, but from a mathematical perspective, one'd expect something more refined and sophisticated to be possible right?

Polygons are not very complicated and while they may be able to describe all sorts of shapes and to a high degree of accuracy by increasing poly count, it still sounds a bit rudimentary, given that there are some constructs in e.g. geometry that I think show a lot more inventiveness and intuitions that are more tailored to the shape than "modelling everything with polygons".

So are there alternatives?

2

There are 2 best solutions below

0
On

A popular alternative is subdivision surfaces, which are actually sophisticated mathematically.

Another is implicit surfaces.

There is also procedural modeling.

0
On

Mechanical CAD systems typically use a combination of different curve and surface types. The most important ones are quadrics (especially cylinders and cones) and free-form NURBS curves and surfaces. Look up Siemens NX or Catia or SolidWorks. They all use more-or-less the same same types of geometry.

For engineering calculations (stress, heat flow, etc.) the most common approach is the "finite element" method. The shape is broken down into simple pieces with small numbers of degrees of freedom. Sometimes these shapes are linear (triangles or tetrahedra), but sometimes they have higher degrees. You can look up "NASTRAN" as an example.

For modeling in the animation field, systems typically use subdivision surfaces of one sort or another.

Regardless of what surface types you use, it is often useful to decompose them into triangles for the purpose of some computation or other. For example, think about how you would display an object, or slice it with a plane, or measure the distance to a point. All these computations are much easier on polygonal objects, and, if you use enough polygons, the answers are good enough for engineering and manufacturing applications.