Bezier curves and equally distributed parametric points (easy ?)

Click For Summary
The discussion centers on using Bézier curves to control the motion of a robot, focusing on converting time parameter 't' into a speed parameter 's' for better velocity control. While this approach works well for linear Bézier paths, challenges arise with higher-degree Bézier curves, where parametric points become unevenly distributed, causing variable speeds along the path. The user seeks a method to compensate for this uneven distribution, possibly through an inverse function applied to 't'. A reference to a relevant PDF from a game programming forum is shared, which may provide insights into achieving consistent speed along the curve. The conversation highlights the need for a mathematical solution to ensure smooth motion across varying curve degrees.
Nikarasu M
Messages
17
Reaction score
0
Hello,

I am an amateur developing the math to describe the motion of a robot of sorts.

At this stage I'd like to use http://en.wikipedia.org/wiki/Bézier_curve" as user input to describe the motion path/s that it will make over time... (imagine it sitting flat on the cartesian 'floor')

I'd first convert the free parameter 't' (time) into another parameter say 's' (speed) via a function of t so the user can have control over the velocity/accel of the robot throughout its traversing of the Bezier curve.. ('t' would tick away as usual and the 's' would actually be the free parameter).

This will work nicely with linear Bezier paths as if you use equal increments of 't' then the parametric points on the linear path are also equally distributed - this means my new 's' should translate perfectly onto the path also.

Problem comes when I want to use Bezier curves of higher than degree two...

The points as you traverse along the path become distributed unequally, with more 'resolution' or bunching around the apex (in the case of a parabola/degree two quadratic Bezier), which will translate into slower motion around this area. :zzz:

I'd like to know how to compensate for this exactly, some sort of inverse function that needs to be applied to 't' ?? ... similar to what I wanted to do with it to convert it into 's', but before doing so in that there would now actually be a function upon a function ...

I imagine maybe if I gave it a crack something to do with the http://en.wikipedia.org/wiki/Arc_length" might help, but am guessing/hoping that this problem has already been solved or another way of thinking about it might help ...

any ideas ?

Hope I am making sense ! (?)

Nick
 
Last edited by a moderator:
Mathematics news on Phys.org
woah,

nice - looks good~!

thanks
 
Here is a little puzzle from the book 100 Geometric Games by Pierre Berloquin. The side of a small square is one meter long and the side of a larger square one and a half meters long. One vertex of the large square is at the center of the small square. The side of the large square cuts two sides of the small square into one- third parts and two-thirds parts. What is the area where the squares overlap?

Similar threads

  • · Replies 39 ·
2
Replies
39
Views
5K
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
22K
  • · Replies 11 ·
Replies
11
Views
4K
  • · Replies 4 ·
Replies
4
Views
4K
Replies
3
Views
2K
Replies
12
Views
11K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K