Approximating a curve with fixed-length segments?

Is there a relatively simple method or algorithm for determining a set of points that all lie along a curve, with each point a fixed (Euclidean) distance from the next?

To allow for some labels:

A set of points (p0, p1, p2, … p[sub]N[/sub]), subject to the constraints that they are all in some curve, and the distance from p[sub]i[/sub] to p[sub]i+1[/sub] = d, a fixed length.

Assume 2 dimensions for simplicity’s sake.

I suppose this is sort of a system of nonlinear equations, but it seems like something like this must have been done before; I just can’t seem to find it.

n.b. - The practical problem that led to this was creating an arch using bricks and mortar. You want the bricks to approximate the curve, but they need to meet at the edges, and they are essentially straight-line segments. This is more of an academic exercise, as a simple solution isn’t that hard to estimate.

How is the curve defined? If it’s some sort of spline, dividing it into equal (or arbitrary) segments is probably pretty easy. If the curve is just an arbitrary set of points or rules, it will be harder (especially if it defines some sort of fractal, where it’s quite possible that no answer exists.)

It’s easy to write down a system of equations (nonlinear, as you suppose), but there’s no general analytic solution. For example, if your continuous curve is given parametrically as (x(t),y(t),z(t)), then to find a point at a distance d from (x(0),y(0),z(0)), you want to find the minimum t>0, say, such that
(x(t)-x(0))[sup]2[/sup] + (y(t)-y(0))[sup]2[/sup] + (z(t)-z(0))[sup]2[/sup] = d[sup]2[/sup] .
If the curve is given by sufficiently nice equations there may be a closed-form analytic solution (e.g., lines and conics, where x(t), y(t), z(t) are at most quadratic in t). For more general curves you can numerically get results to any desired accuracy, for example using a binary search to find t.

I would assume sufficiently smooth curves - i.e. continuous and differentiable.

The use of parametric forms makes a lot of sense, Omphaloskeptic.

In the specific application (brick arch), it would be another twist to the problem : The shape to be approximated is a catenary. While the height is unconstrained, the final point must be at a fixed distance along the x-axis (using those shown here), with the total approximated length = N*d, where N is some integer.

(This would correspond to the bricks covering a fixed distance doorway, and meeting precisely at the vertical sides).

That depends on the nature of the load on the arch. If the arch itself is its own load (like the St. Louis arch), then the proper shape is a catenary, but this is a relatively rare situation. If the arch is of negligible weight compared to the load, and the load is distributed uniformly horizontally (the tension version of this is a suspension bridge), then the proper shape is a parabola. If the load is proportional to some height minus the height of the arch, as with a doorway in a solid wall, then it’s some other shape yet (though I’m not sure which).

In this case, it’s the roof of a brick oven, with a lighter load atop the bricks (a few insulating layers & stucco) that conforms to the arch shape, so catenary is the desired curve. Although, as already mentioned, in practical terms you don’t need to solve this problem, and I was wondering if there was some already-formulated, more generic algorithm.

Another approximation method, which again has no general analytic solution, is to just compute the arc length (i.e., the length of the curve). For a catenary y(x)=a cosh(x/a), the arclength is easily found as s(x)=a sinh(x/a); you could set that to s(x)=Nd (or s(x)=(N+1/2)d, with one brick centered at top). There’s no closed-form elementary solution for a, but again it is easy to find a numerical solution.

Of course d must be the width of a brick plus some average mortar gap, and these gaps give you plenty of slop for any reasonable approximation to work.