Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Image map Polygon Algorithm

Posted on 1999-01-22
11
Medium Priority
?
838 Views
Last Modified: 2013-12-25
I'm trying to write the function which tells me whether
an (x,y) point is in a certain polygon?

i already written ones for rectangle & circle but stuck on
the Poligon - the function looks like that:
pointInPolygon(File i_mapFile , double x, double y)
{}
i dont need you to write a code just a way or an algorithm
to find that (x,y) point is in or not the polygon.

a polygon is at least 3 points of lines that are connected togther (0,0)(100,50)(200,30) the first point should be the last and if its not so im adding another connecting point
but thats for another session!

Thanks,
0
Comment
Question by:cs4ez
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
  • 2
  • +1
11 Comments
 
LVL 7

Expert Comment

by:Inteqam
ID: 1866798
a simple way is to floodfill the region that contains the point you want with a specific color, and then check the color of a point your are sure it is inside the polygon , if it has the same color you floodfilled , then the point is in the polygon , and vice versa

0
 
LVL 84

Expert Comment

by:ozo
ID: 1866799
or count the number of times a segment of the polygon crosses a ray from the point to infinity
0
 
LVL 7

Expert Comment

by:Inteqam
ID: 1866800
yes ozo , i thought of that , but i found it so difficult , especialy if the polygon is drawn by giving the coordinations of the heads , and also the problems of a point that lies on the line , and also and most important the problems of rounding , which will have a great effect considering that we are using pixels

0
Amazon Web Services EC2 Cheat Sheet

AWS EC2 is a core part of AWS’s cloud platform, allowing users to spin up virtual machines for a variety of tasks; however, EC2’s offerings can be overwhelming. Learn the basics with our new AWS cheat sheet – this time on EC2!

 

Author Comment

by:cs4ez
ID: 1866801
coloring the polygon is a bigger problem!
0
 
LVL 7

Expert Comment

by:Inteqam
ID: 1866802
ok , try ozo solution , it is difficult somehow , but it may help you

0
 
LVL 84

Expert Comment

by:ozo
ID: 1866803
I think the easiest way to deal with boundary ambiguities is to treat the lines as lieing between pixels, rather than on them.
Rounding problems can usually be dealt with by doing everything with integers.
A flood fill would have all the same problems, but would have to deal with them for each pixel in the region.
Still, it may be advantagous to do that once, then use the resulting color map to test points many times.
If you have any difficulty, just ask for furthur help.
0
 

Author Comment

by:cs4ez
ID: 1866804
Please Do Not Attempt to Answer this question - I've Already fount the algorithm i need
in java.awt.Polygon

All answers from now on will be rejected!!!

Thanks ozo & Inteqam for all your efforts

0
 
LVL 1

Accepted Solution

by:
web_crusher earned 400 total points
ID: 1866805
look at java.awt.Polygon
0
 
LVL 1

Expert Comment

by:web_crusher
ID: 1866806
do not forget who told you about it - cs4ez
0
 
LVL 84

Expert Comment

by:ozo
ID: 1866807
the algorithm used by the contains method in java.awt.Polygon class is the counting one
0
 
LVL 7

Expert Comment

by:Inteqam
ID: 1866808
i don't have the java.awt.polygon

can you pass it?

0

Featured Post

Survive A High-Traffic Event with Percona

Your application or website rely on your database to deliver information about products and services to your customers. You can’t afford to have your database lose performance, lose availability or become unresponsive – even for just a few minutes.

Question has a verified solution.

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

Although a lot of people devote their energy toward marketing for specific industries, there are some basic principles that can be applied to any sector imaginable. We’ll look at four steps to take and examine how those steps were put into action fo…
Ready to get certified? Check out some courses that help you prepare for third-party exams.
This tutorial demonstrates how to identify and create boundary or building outlines in Google Maps. In this example, I outline the boundaries of an enclosed skatepark within a community park.  Login to your Google Account, then  Google for "Google M…
The viewer will learn how to count occurrences of each item in an array.
Suggested Courses

705 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