Solved

measure smoothness of curve

Posted on 2007-11-25
12
3,594 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
Comment Utility
How do you define "smoothness"?
0
 
LVL 27

Expert Comment

by:aburr
Comment Utility
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
Comment Utility
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

by:
mandelia earned 200 total points
Comment Utility
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
Comment Utility
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
Comment Utility
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
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 84

Assisted Solution

by:ozo
ozo earned 150 total points
Comment Utility
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
Comment Utility
“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
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
> Discrete Points are not lines.
Yes, but the question stated
> I have a curve defined by (x,y) points
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

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…
Article by: Nicole
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.

763 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

Need Help in Real-Time?

Connect with top rated Experts

7 Experts available now in Live!

Get 1:1 Help Now