10 Modeling shapes with signed distance functions and alikes

 

This chapter covers

  • Understanding the merits and flaws of modeling shapes with signed distance functions (SDFs).
  • Using typical operations on SDFs: offset, unite, intersect, subtract.
  • Learning the basics of generative design with tri-periodic minimal surfaces.
  • Understanding metaballs as a design technique.

Signed distance functions as an instrument of geometric modeling have only recently become important. They were known for ages but until now mostly in academic circles. Boundary representations and images that we’ll look into in the following chapters were the top techniques for modeling in CAD, medical imaging, and games. Now the tables are turning.

The driving force for SDFs prominence comes from 3D printing. With a printer, you can easily produce forms so complex that chiseling them with milling tools would have been unheard of just a few decades ago. And with signed distance functions, you can program these complex forms to follow the properties you desire. You can “program” the material to hold stress, dissipate heat, or even merge with a living tissue properly, all by programming a signed distance function behind the produced body (figure 10.1).

Figure 10. E. g. this femur model generated from an SDF is specifically made porous. Porosity is important for implants to properly grow into the living tissue.

But what is a signed distance function anyway? Let’s find out.

10.1 What’s an SDF?

 

10.1.1 Does it have to be an SDF?

 
 

10.1.2 How to program SDFs?

 
 

10.1.3 Theoretical example: making an SDF of a triangle mesh

 
 

10.1.4 Practical example: making an SDF of a rectangle in 2D

 
 
 

10.1.5 Summary

 
 

10.2 How to work with SDFs?

 

10.2.1 How to translate, rotate, or scale an SDF?

 
 
 

10.2.2 How to unite, intersect, and subtract SDFs?

 
 

10.2.3 How to dilate and erode an SDF?

 
 

10.2.4 How to hollow an SDF?

 
 

10.2.5 Summary

 
 

10.3 Some techniques of not-really-SDF implicit modeling

 
 
 

10.3.1 Tri-periodic minimal surfaces

 
 

10.3.2 Practical example: a gyroid with variable thickness

 
 

10.3.3 Metaballs

 
 
 
 

10.3.4 Practical example: localizing the metaballs for speed and better governance

 
 
 

10.3.5 Multifocal lemniscates

 
 

10.3.6 Practical example: a play button made of a multifocal lemniscate

 
sitemap

Unable to load book!

The book could not be loaded.

(try again in a couple of minutes)

manning.com homepage
test yourself with a liveTest