Link to home
Start Free TrialLog in
Avatar of mansan
mansan

asked on

How to know curve direction?

Dear experts,

There is a closed cutve consisting of 12 x,y points. How can I know that curve is in clockwise or anticlockwise direction?

Please help me. It's urgent.

Thanks.

Avatar of weed
weed
Flag of United States of America image

Look at the graph points. If you have to, plot them on paper in the order theyre in.
Avatar of mansan
mansan

ASKER

Hello weed,

Yes, by plotting the curve on paper I can know the curve direction, but I'm making a project in c++ to convert a 2D image in 3D. In that I'm facing this problem so I need a  routine to know curve direction.

any idea?

Thanks.
Ahhh...gotta specify stuff like that in the question.
The alorithm goes like that you'll have to figure out how to implement it, sorry
1. connect the dots.
2. draw a vertical line to the one of the segments.
3. if the vertical line crosses the curve odd number of times to the right then it's a clockwise, if it crosses odd number of times to the left, it counterclockwise.
       ______
      /      \
    ^ |------|----
      \______/

the ^ shows the real direction
the ---- line is the vertical line
sorry for the too simplified drawing.

good luck
Surely this is a question of perspective on the curve itself? How can one say whether a curve is going in a particular direction? Unless of course the order of the twelve co-ordinates dtermines the direction but you have not stated this!!

If that is your intention, then can you not simply take account of the co-ordinates that you are plotting? For a 2D curve, if

x is increasing, while y is decreasing
OR
x is decreasing and y is increasing

then you are plotting in a clockwise direction, while if

x is increasing while y is increasing
OR
x is decreasing while y is decreasing

then you are plotting in an anti-clokwise direction.

Having said that, the question of whether either x or y is increasing or decreasing would be relative to the origin of the curve!

I think you need to explain a little more what you are after!

btw, is this a homewrok question???
I guess it is homework or some kind of riddle on graphics and polygons.
This sounds like a very well known and basic polygon algorithm, assuming curve=polygon otherwise there is no meaning to direction.
The polygon can take any closed shape and it's line can cross itself like the number "8", there are two ways to describe a polygon with the shape of "8", very much like writing it, for example if you start writing it from the bottom point, you can continue to the right or to the left. If you continue drawing to the right you'll get counterclockwise description, continuing to the left will get you clockwise shape.
Hope it was clear.
ASKER CERTIFIED SOLUTION
Avatar of ozo
ozo
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of mansan

ASKER

Hi ozo,

This method is really working. But when I compute, sum is positive for counterclockwise & negative for clockwise.
Sorry, I got x and y mixed up.
Avatar of mansan

ASKER

Ozo Thanks for your help.