From: kovarik@mcmail.cis.McMaster.CA (Zdislav V. Kovarik) Subject: Re: curvature Date: 2 Aug 2000 22:52:56 -0400 Newsgroups: sci.math Summary: [missing] In article <8m7r91$dtn$1@uni00nw.unity.ncsu.edu>, Oleg V. Poliannikov wrote: :Hi! : :I am trying to solve the following problem which looks kinda obvious to :me and at the same time I cannot do it. : :So, suppose you have a function, defined on the interval. Then you can :parametrize it using the arclength parameter 's' as (x(s),y(s)). Then, of :course, you can compute the curvature k(s) of the resulting curve. : :Now suppose you only have the curvature, but you know that it is obtained :by the procedure described above. Can you reconstruct the initial :function y(x)? Since the curvature is defined in terms of the second :derivatives, you need two initial conditions. Suppose you know that :y(0) = 0, y'(0) = 0, or :whatever you like. : :How do you reconstruct the function? For a curve parametrized by any t (not necessarily the arclength), the curvature formula is (think of k(t) in place of k, etc.) k = (x' * y'' - x'' * y') / ((x')^2 + (y')^2)^(3/2) so that a strictly convex ("concave up" - arghhh!) function has positive curvature (at every "ordinary" point). For parametrization by arclength, you have a system (x')^2 + (y')^2 = 1 x' * y'' - x'' * y' = k Let K be an antiderivative of k, then investigate the equations x' = cos(K) y' = sin(K) (check if they fit the original system, and how to handle constants of integration). (How I got them? If you integrate "the dirty way" arctan(y' / x'), a familiar expression pops out. Then you clean up the act.) Good luck, ZVK(Slavek) ============================================================================== From: Aristarchus Opprobrium Subject: Re: curvature Date: Thu, 03 Aug 2000 00:50:15 -0400 Newsgroups: sci.math Oleg V. Poliannikov wrote: > you have a function, defined on the interval. Then you can > parametrize it using the arclength parameter 's' as (x(s),y(s)). Then, of > course, you can compute the curvature k(s) of the resulting curve. > > Now suppose you only have the curvature, but you know that it is obtained by > the procedure described above. Can you reconstruct the initial function > y(x)? You can reconstruct the parametrization x(s), y(s). To get y(x) you will need to locally compute s from x, i.e. invert x(s). > Since the curvature is defined in terms of the second derivatives, you > need two initial conditions. Suppose you know that y(0) = 0, y'(0) = 0, or > whatever you like. 2 degrees of freedom because vertical translation and rotation of the curve don't change the curvature. (Actually you can move horizontally as well, but you are looking for y as function of x so that freedom is "frozen" by the choice of interval for x, i.e. the curve starts from some given x). > How do you reconstruct the function? Rather than y' consider the angle Theta made by the tangent line with the x-axis. Then use the fact that curvature = 1/radius of tangent circle; draw a diagram relating the center of this osculating circle, the radii connecting it to points at arclength s and s+ds, with corresponding lines of angle Theta and Theta+d(Theta). You get some first-order ODE for Theta as a function of s. Knowing the solution you can get a parametrization (x(s), y(s)) = integral of (cos(Theta),sin(Theta)). > > > Oleg*