solving cubic functions for Bezier Curves
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 13/01/2004 at 03:48, xxxxxxxx wrote:
Hi Forum,
I have a Beziercurve-segment that I want to use to time an animation. This is just for getting the concept of TimeCurves.
The Beziercurve-segment is of the format:
p(t) = (1-t)^3*a+3*t(1-t)^2*b+2*t^2(1-t)*c+t^3*d
with a, b, c and d being the two knot points and the two tangents.
I evaluate this function in 2D space for the x, and y coordinates seperately, with t ranging from 0 to 1, to get the curve points.
But if I want to use it for timing a linear animation I will have to solve the equation . The problem is, how? Solving cubic equations isn't trivial, I found out by searching the net. But maybe there is a aproximating algorithm to do this. How does Cinema this internally?
How do I get the y coordinate of p by knowing x ?
Any ideas,
Thanx in advance,
cheers mnu
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 19/01/2004 at 07:00, xxxxxxxx wrote:
anyone?
cheers mnu
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 19/01/2004 at 14:47, xxxxxxxx wrote:
What you are describing is called "arc length parametrization". Unfortunately it has been shown (http://dx.doi.org/10.1016/0167-8396(91)90040-I) that "it is impossible to parameterize any real plane curve, other than a straight line, by rational functions of its arc length". Nevertheless, as you say, there are approximation algorithms. I don't know what C4D itself uses. My suggestion would be to ask Google (there seems to be lots of pages on this).
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 21/01/2004 at 04:48, xxxxxxxx wrote:
Thank you very much Mikael,
this is what I found out too, by searching the web and crawling through complicated PDF documents. Now I will be able to investigate further. I'll post here if I find a solution.
cheers mnu