aspose file tools*
The moose likes Beginning Java and the fly likes method Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "method" Watch "method" New topic
Author

method

Andrew Lit
Ranch Hand

Joined: Jul 01, 2002
Posts: 135
hi,
is there a method in java that determines if two points are placed in different sides of the straight line?
thank you
Dirk Schreckmann
Sheriff

Joined: Dec 10, 2001
Posts: 7023
As far as I know, such a method is not in the standard API (nor is something that defines a Line to begin with). I'd bet that you could write one without too much difficulty. Wanna give it a try?


[How To Ask Good Questions] [JavaRanch FAQ Wiki] [JavaRanch Radio]
Andrew Lit
Ranch Hand

Joined: Jul 01, 2002
Posts: 135
yes it was easy, but it wasn't what i need.
so i decided to post what i need to do:
Graham's scan algorithm.
find if interior angle formed by Pa, Pb , Pc is greater than or equal to 180 degrees.
i stopped here and can't think of nothing. it's the only thing left to do.
could you suggest something to move on?
thank you.
Barry Gaunt
Ranch Hand

Joined: Aug 03, 2002
Posts: 7729
There is an easy algorithm for testing whether a point is on the left of a line. If you apply that to the two points then you can find out whether the two points are on opposite sides of the line. Then the line through the two points must cut the first line.
Problem is I can't find a book I know has that algorithm (Haskel School of Expression). I'll keep looking but I'm sure the algorithm can be found with help of Google.
-Barry


Ask a Meaningful Question and HowToAskQuestionsOnJavaRanch
Getting someone to think and try something out is much more useful than just telling them the answer.
Barry Gaunt
Ranch Hand

Joined: Aug 03, 2002
Posts: 7729
Or:
A line can be represented in the form:
F( x, y ) = a * x + b * y + c = 0 for a suitable choice of coefficients a, b, c.
F( s , t ) == 0 when ( s , t ) is on the line.
F( s , t ) > 0 when ( s , t ) is below the line.
F( s , t ) < 0 when ( s , t ) is above the line.
Maybe that will help.
-Barry
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: method