liveBook · Manning

Profile curve

As explained in Geometry for Programmers

A profile curve is a curve describing how the radius of a rotational surface varies with height or another axial coordinate.

A profile curve describes how a rotational surface’s radius changes with height. Treating it as r(z) turns a two-dimensional curve into a three-dimensional surface of revolution. section 8.2.2

Build the surface by combining the profile with circular motion:

  • Choose height samples and radius samples, then interpolate them with a polynomial. section 8.2.2
  • For angle θ and height z, compute x = r(z) cos(θ), y = r(z) sin(θ), and retain z. section 8.2.2
  • Map UV coordinates into θ = 2πu and z = zmaxv, producing coordinate arrays for a sampled mesh. section 8.2.2

A low-polygon mushroom

Radius samples that grow, bulge, shrink, grow again, and end at zero produce a mushroom-like profile. Perturbing radii and height generates varied mushroom meshes. section 8.2.2

Figure 8.14 The profile curve of a mushroom, showing how the mushroom radius changes as the z-coordinate rises
08-14

Use the profile-curve figure to see how radius changes along the z-coordinate before revolution creates the mushroom surface. section 8.2.2

How Geometry for Programmers covers it

How deep it goes
Explains interpolation, coordinate formulas, UV scaling, and sampled mesh arrays without detailing interpolation theory.
Examples
Uses polynomial radius samples, a low-polygon mushroom, coordinate-array listings, and randomly varied mushroom meshes.
What it assumes
Assumes polynomial interpolation and introduces the geometric conversion from a curve to a rotational surface.
What you can do after
Build it from scratch as a sampled surface of revolution using interpolated radii and UV-to-angle-height transformations.
How it connects
Connects polynomial interpolation, surfaces of revolution, parametric surfaces, UV coordinates, and mesh grids.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Geometry for Programmers. The section links point to the parts of the book it draws on.