Curve geometry 1
Tangency, normal and curvature
Last updated
Tangency, normal and curvature
Last updated
This sessions aims to introduce fundamental concepts of computational geometry using smooth curves. Spline curves are fascinating because before contemporary CAD systems became widely available, there was no exact way of designing with such complex geometries; designs, manufactured using modern industrial processes, used to be highly planar and linear. Today nearly every product, both those we hold in our hand, as well as those we walk inside, are characterized by curved geometries.
Computationally, the concepts we will cover in this section are related to range operations. This applies to ranges of any type of data, may those be numbers or geometric entities. Being able to manipulate range-data stored in lists, i.e. data containers of values, is extremely useful. The use of curve geometries and points along them offers an opportunity to directly visualize some of those operations.
We begin by manually drawing a curve by control points, proceed with importing it using the “curve” parameter, and create a point on the curve using the “point on curve” component. With the “point on curve” component, we can index any position along the curve via a percentage-like value in [0, 1]. Note that this process works with any curve, independent of the number of points and shape.
A curve can be considered as a continuous sequence of points that obey a certain underlying arrangement rule. Mathematically they are merely functions mapping a scalar to a three-dimensional point (ℝ→ℝ3). The scalar value, which we usually are in control of, is known as “a parameter along the curve”. We use the symbols “t” or “s” for parameters of curves.
The ability to operate on curves visually via CAD modelling or the black-box modelling interface allows us to explore their features without having to worry too much about their exact underlying mathematical form.
Curves in CAD are always defined via points, as opposed to symbolic equations. In addition, they have always a concrete start and an end point. In this sense they are bounded, unlike mathematical objects, which accept values in the entire range of real numbers e.g. , etc. for all possible x-values. CAD curves are thus defined in closed domains [min, max], i.e. intervals of ℝ, where curve( min ) represents the start-point and curve( max ) the end-point.
The actual values for min and max may be chosen arbitrarily i.e. any pair of numbers, a long as min < max; semantically, e.g. we used the notion of angle to bound a circle into [0, 2π], uniformly i.e. we can always use [0, 1] in the sense of a percentage along the curve, or based on the actual length “travelled” along the curve [0, curve length].
The following construction demonstrates how to extract a curve’s domain, convert it to the unit interval [0, 1] and evaluate a point along the curve. The graph recreates the functionality of the “point on curve” component, for the purposes of illustrating the inner workings of the component.
The graph above, extracts the curve’s domain using the “curve domain” component, followed by extracting its minimum and maximum values using the “deconstruct domain” component. To map the domain to unity [0, 1] we perform normalization learned in the spreadsheets session. The process of changing the mapping of a curve’s parameters from one domain to another is known as reparameterization.
Unit Reparameterization
Original Domain: min ≤ t ≤ max
Subtracting Min: min – min ≤ t – min ≤ max – min
Dividing by Delta: 0 ≤ ( t – min ) / ( max – min ) ≤ ( max – min )/( max – min )
Normalization: 0 ≤ ( t – min ) / ( max – min ) ≤ 1
The process of unit parameterization of curves is so useful and common that the “curve” component, used for importing the spline from the document, supports this directly using the context menu (right click near the output and select the option as seen below). In fact all curve parameters can be reparameterised in the same way.
Practice
Try evaluating points outside the reported domain of curves. Can you explain why this still works? What about negative values?
Draw a circle and observe its domain. Can you infer a relationship between properties of circles and the domain reported? How about a line segment?
How do closed curves work in terms of their domain? Think of circle as the simplest closed, or more properly “periodic” curve, as metaphor.
Where do these values reported as domain boundaries by the CAD system come from? Is there a relationship with the curve’s geometry? Hint: draw the control polygon, ie. polyline between control points.