Solved

# measure smoothness of curve

Posted on 2007-11-25
3,594 Views
How does one measure the smoothness of a curve?

I have a curve defined by (x,y) points on a Cartesian grid.
I have applied a couple different algorithms to smooth the curve.
(code written in Java fwiw)
Now I want to measure the smoothness of the curves.
0
Question by:allelopath
• 5
• 3
• 3
• +1

LVL 27

Expert Comment

How do you define "smoothness"?
0

LVL 27

Expert Comment

One definition is that there be no discontinuities, but that definition will not apply to your curve of discrete points
0

LVL 27

Assisted Solution

aburr earned 150 total points
Presumably you have used your smoothing algorithm to produce a continuous curve. One way to check smoothness would be to create a matrix with x values being the original x values and Y values of the smoothed curve at the x value. Now sum the differences between each adjacent pair of Y values. In some sense the smoothest curve will have the smallest sum.
Of course is you could take an average of all your y values and declare your smoothed curve to be Y(x) = average. You would have a very smooth curve, which in addition has zero slope.
I doubt very much that that is what you are looking for. Hence the importance of answering my first post.
0

LVL 5

Accepted Solution

mandelia earned 200 total points
A curve is said to be smooth if it has a lesser degree of differential.

ie smoothest curve is a straight line : x = my + c
it is more smooth than a curve where dx/dy = c
which is more smooth than d2x/dy2 = c
0

LVL 84

Expert Comment

If you have algorithms to smooth the curve, you might take the closeness between the original curve and the smoothed curve as a measure of smoothness.
0

LVL 1

Author Comment

For each point (xi,yi), calculate the tangent line and get the slope of that line.
If the difference between the greatest and least slopes is > some value, then its not very smooth.
This involves derivates, and it may be saying what mandelia is saying in a different way.
0

LVL 84

Assisted Solution

ozo earned 150 total points
would you condider
(1,1)
(2,2)
(12,13)
(11,11)
(30,30)
(31,31)
to be just as smooth as or the same curve as
(1,1)
(6,6)
(11,11)
(16,16)
(21,21)
?
Would
(1,1)(2,2)(3,1)(4,2)
have the same smoothness as
(1,1)(2,2)(1,3)(2,4)
0

LVL 27

Expert Comment

Ć¢ā¬ÅFor each point (xi,yi), calculate the tangent line and get the slope of that lineĆ¢ā¬Ā

If you have a collection of discrete points, a unique tangent line to a single point does NOT exist. You can calculate a tangent line IF you use the points on either side of the point of interest.
Again define what you mean by smoothness.
0

LVL 27

Expert Comment

You must tell us what you are looking for because your points can be represented by a streight line and it is hard to imagine anything smoother.
0

LVL 5

Expert Comment

ozo:
Discrete Points are not lines.  So there is no concept of smoothness there. Lines/curves are represented by exations.

There are infinite number of ways i can draw lines connecting your points. And of varying smoothness
0

LVL 5

Expert Comment

Well there is another way to measure smoothness.
Touch the curves feel them and you will know the smoothest of them all.
0

LVL 84

Expert Comment

> Discrete Points are not lines.
Yes, but the question stated
> I have a curve defined by (x,y) points
0

## Featured Post

Introduction On a scale of 1 to 10, how would you rate our Product? Many of us have answered that question time and time again. But only a few of us have had the pleasure of receiving a stack of the filled out surveys and being asked to do somethiā¦
This is a research brief on the potential colonization of humans on Mars.
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
This tutorial demonstrates a quick way of adding group price to multiple Magento products.