Algorithm to determine the roulette curve

  • Context: Undergrad 
  • Thread starter Thread starter LAP3141
  • Start date Start date
  • Tags Tags
    Algorithm Curve
Click For Summary
SUMMARY

This discussion focuses on developing an algorithm to determine the roulette curve generated by rolling one curve over another fixed curve, specifically using complex parameterization. The key method involves aligning the tangents of the two curves, which is achieved when |f'(t)| = |r'(t)|. The user successfully derives the necessary parameterization for a circle rolling over a parabola by equating their arc lengths, ultimately leading to a general solution applicable to any two curves. The discussion highlights the convenience of using complex plane representations over traditional Euclidean transformations.

PREREQUISITES
  • Understanding of complex parameterization in mathematics
  • Familiarity with arc length calculations for curves
  • Knowledge of derivatives and tangent alignment
  • Experience with symbolic math tools, such as Maxima
NEXT STEPS
  • Research the application of complex parameterization in curve analysis
  • Learn about arc length calculations for various curve types
  • Explore numerical methods for intractable arc length expressions
  • Study the properties of roulettes and their mathematical implications
USEFUL FOR

Mathematicians, engineers, and computer scientists interested in geometric modeling, curve analysis, and algorithm development for complex systems.

LAP3141
Messages
20
Reaction score
4
I am trying to develop an equation or algorithm to determine the roulette curve that results from rolling a curve over another fixed curve.

A general method to determine the roulette using any two curves, rolling and fixed, seems to be presented here:

https://en.wikipedia.org/wiki/Roulette_(curve)
I can follow the theoretical description. The curves are parameterized in the complex plain. This is convenient because complex multiplication is essentially a rotation and the roulette is determined by a rotation and a translation determined by aligning the tangents.

Also, the example presented, which is a rolling line over a fixed catenary, does indeed generate a variety of roulettes based on a variable parameter p.

But I am stuck in determining how to align the tangents for two general curves. The tangents are aligned when |f'(t)| = |r'(t)|.

In the given example, the parameterization for the line is chosen as sinh(t) based on the parameterization for the catenary so that |f'(t)| = |r'(t)|. IOW, given the parameterization for the catenary, a parameterization for the line is determined so that |f'(t)| = |r'(t)|.

I can't understand how this process of aligning tangents can be extended to two general curves.

For example, let's assume that the fixed curve is a general parabola, which is parameterized as z(t) = t + A*t^2*i.

Let's also assume that the rolling curve is a circle of radius R: z(t) = R * exp(t*i) = R*cos(t) + i*R*sin(t).

In this case, however, |f'(t)| = sqrt(4*A^2*t^2+1) and |r'(t)| = R which are not equal.

How then can a circle be parameterized so that it will have |f'(t)| = |r'(t)|?

This website casts a little more light on the issue:

http://www.mathcurve.com/courbes2d.gb/base/base.shtml
Here, it seems that they have a different parameter, u, for the rolling curve and the two frames are related by some factor and du/dt.

But I cannot understand how to apply this in general.

Can anyone comment on how to align the tangents for the general case?
 
Physics news on Phys.org
LAP3141 said:
For example, let's assume that the fixed curve is a general parabola, which is parameterized as z(t) = t + A*t^2*i.
Let's also assume that the rolling curve is a circle of radius R: z(t) = R * exp(t*i) = R*cos(t) + i*R*sin(t).

I was able to discover the solution. For one curve to roll upon another "without slipping" the arc lengths must be equal.

The arc length of the parabola, parameterized as above, is:

asinh(2*A*t)/(4*A)+(t*sqrt(4*A^2*t^2+1))/2

We need to now parameterize the circle a bit differently with a parameter u:

%i*R*(exp((%i*u)/R)-1) = %i*R*(cos(u/R)-1)-R*sin(u/R)

The arc length of this circle becomes:

u

Now we equate the two arc lengths and the parameterized circle becomes:

%i*R*(exp((%i*(asinh(2*A*t)/(4*A)+(t*sqrt(4*A^2*t^2+1))/2))/R)-1)

The basic roulette equation can now be applied.

Note that I am using the notation from the maxima symbolic math program.

This method can be applied to any two curves. The arc length expressions may be intractable but numerical methods could always be applied,

The complex plane representation is far more convenient that doing rotational transformations in the Euclidean plane.
 
  • Like
Likes   Reactions: qbar and Nik_2213

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 7 ·
Replies
7
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 8 ·
Replies
8
Views
1K
  • · Replies 4 ·
Replies
4
Views
2K
Replies
8
Views
3K