8 Nonlinear transformations and surfaces

 

This chapter covers

  • Performing polynomial transformations in multidimensional space
  • Understanding how a multidimensional transformation is the same as a surface
  • Using spatial interpolation to build a deformation field

Before this chapter, we barely spoke about 3D space. That’s because the math behind linear equations and projective transformations doesn’t change much when you go from 2D to 3D. And because things are usually easier to understand in 2D, there was no good reason to add a new dimension—until now. This chapter is about building and manipulating 3D objects.

To get there, we’ll once again start with a 2D transformation, but this time, it’ll be nonlinear. In chapter 4, we used a linear transformation to make a scanning app. Adding nonlinearity enhances the app by allowing bent book pages to appear flat. Next, we’ll reuse the math behind nonlinear transformations to build 3D surfaces. In chapter 5, we learned about parametric curves; now we’ll see how parametric surfaces are made. Finally, we’ll define a 3D deformation field to help us model not one surface but a whole family of 3D surfaces.

8.1 Polynomial transformations in multidimensional space

8.1.1 The straightforward approach to polynomial transformations

8.1.2 The fast and simple approach to polynomial transformations

8.1.3 Practical example: Adding the “unbending” feature to the scanning app

8.1.4 Section 8.1 summary

8.2 3D surface modeling

8.2.1 A surface is just a 3D transformation of a plane

8.2.2 Practical example: Planting polynomial mushrooms

8.2.3 Section 8.2 summary

8.3 Using nonpolynomial spatial interpolation in geometry

8.3.1 Inverse distance interpolation

8.3.2 Inverse distance interpolation in space

8.3.3 Practical example: Using localized inverse distance method to make a bitmap continuous and smooth

8.3.4 Practical example: Building a deformation field with multivariable interpolation to generate better mushrooms

8.3.5 Section 8.3 summary