Jump to content
  • Advertisement
Sign in to follow this  

curvature of an arc

This topic is 2219 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi everybody,

I got a problem and I don't know how to figure it out.

In short I have an arc r(t)=[x(t), y(t), z(t)]
i'm gonna calculate the radius of this arc. As we know the curvature is the inverse of radius. If we consider the following formula:
K(t)=||r'(t) x r''(t)|/||r'(t)||^3
when ' means the first derivative to time and '' means the second derivative to the time and the the X is cross product.

So by having this equation and considering one simple example: A circle at the origin of a 2D space:

x(t)= R (1-t^2)/(1+t^2)
y(t)=R 2t/(1+t^2)
when tE[0,1] and R is the radius. (EQ1)

By the formula of curvature K(t) is expected to be 1/R but when I compute it strangely for t=0 I get 4*R and for the t=1 I get R and for the time between two margins the K(t) is a non-linear distribution from 4R to R.

I have no idea why it happens. It's very simple example and I am wondering whether I do a silly mistake in my calculations or it's just a wrong assumption in my calculation;.

I created one Maple file to do so. And the result is flawless in sense of numerical and parametric calculation I guess.

In addition, by selecting another form of a circle equation by sinusoidal ones. I get better consistency but it's not even the answer. So if I select


t [0,pi/2]

The comuted curvature for the whole range of t is R!!! it's wrong because we expect 1/R not R.

So I looked for any possible example. Finally I found one in a literature. They change the parameters and the new circle equation is:

t [0,pi/2]

And the result is correct we get the curvature by this equation 1/R!!

So I'm really confused why three different answers I get by the same formula when the resulting geometrical shape is the same. Please help me out thank you in advance.

all the best

Share this post

Link to post
Share on other sites
With the second equation, I get r'(t)=[-Rsin(t), Rcos(t), 0] and r''(t)=[-Rcost(t),-Rsin(t),0], taking the cross product gives [0,0,R^2.sin^2(t)+R^2.cos^2(t)] which is equal to [0,0,R^2] which has a magnitude of R^2. r'(t) has a magnitude of R, so when I divide ||r'(t) X r''(t)|| by the cube of that magnitude I get 1/R. How are you computing the cross product?

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!