Solved

measure smoothness of curve

Posted on 2007-11-25
12
3,785 Views
Last Modified: 2012-06-21
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
Comment
Question by:allelopath
  • 5
  • 3
  • 3
  • +1
12 Comments
 
LVL 27

Expert Comment

by:aburr
ID: 20348101
How do you define "smoothness"?
0
 
LVL 27

Expert Comment

by:aburr
ID: 20348110
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

by:aburr
aburr earned 150 total points
ID: 20348151
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
Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

 
LVL 5

Accepted Solution

by:
mandelia earned 200 total points
ID: 20348267
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

by:ozo
ID: 20348836
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

by:allelopath
ID: 20354193
How about this?
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

by:ozo
ozo earned 150 total points
ID: 20354658
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

by:aburr
ID: 20356096
“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

by:aburr
ID: 20356101
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

by:mandelia
ID: 20356667
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

by:mandelia
ID: 20356673
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

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

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
My 2003 Land Rover discovery 2 key for code for car alarm 7 132
Simplify expression 3 106
Geomentry-Fundamental concepts-Angles 3 79
Normalised finishing position 2 48
This article seeks to propel the full implementation of geothermal power plants in Mexico as a renewable energy source.
Lithium-ion batteries area cornerstone of today's portable electronic devices, and even though they are relied upon heavily, their chemistry and origin are not of common knowledge. This article is about a device on which every smartphone, laptop, an…
This is a video describing the growing solar energy use in Utah. This is a topic that greatly interests me and so I decided to produce a video about it.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question