Solved

Converting lines to polygons

Posted on 2003-12-11
11
283 Views
Last Modified: 2010-04-07
I have a set of 2D lines that make up one or more polygons (which can share sides). Can anyone describe an algorithm that will give me the polygon vertices?
0
Comment
Question by:JamieR
11 Comments
 
LVL 11

Expert Comment

by:bcladd
ID: 9925267
Coplanar lines are either coincident, parallel, or they intersect at a point. Assume you have the slope-intercept form of the line: the lines are coincident if the slope and intercept are the same. They are parallel if the slope is the same and they are not coincident. They intersect if they are neither of the above and the point of intersection is the point that satisfies the two simultaneous equations

  y = m*x + b
  y = n*x + c

where m,n are slopes and b,c are intercepts.

The union of the pair-wise intersection points of the lines is the collection of all of the vertices of all of the polygons formed by the lines.

Hope this helps, -bcl
0
 
LVL 84

Expert Comment

by:ozo
ID: 9933182
How is your set of 2D lines represented?
0
 
LVL 1

Author Comment

by:JamieR
ID: 9935427
Each line is represented by it's two end points - a pair of (x, y) co-ordinates.

I'm nearly there I think. Each point (that potentially comprises a polygon) has two or more lines associated with it. Basically I navigate around each point always turning left (taking the line with the smallest relative angle). Once I reach the start point I output a polygon comprisied of each point visited. I only allow one journey down each line (in both directions) for dealing with polygons that overlap.
0
Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

 
LVL 84

Expert Comment

by:ozo
ID: 9954879
That could work.   Do any of the lines intersect other than at their end points?  Can polygons that "overlap" share more than their borders?  
0
 
LVL 1

Author Comment

by:JamieR
ID: 9955787
Yes, two polygons can share one or more sides.
0
 
LVL 84

Expert Comment

by:ozo
ID: 9955846
Sharing sides should pose no problem.  I was wondering if they could share area.
0
 
LVL 1

Author Comment

by:JamieR
ID: 9955884
Yes they can. I don't think this poses a problem either, but I'd be interested in your train of thought.
0
 
LVL 84

Expert Comment

by:ozo
ID: 9955906
Actually I was wondering if you'd need to trace vertices of your polygons not in your list of endpoints but formed by the intersection of two of your line segments.
0
 
LVL 5

Accepted Solution

by:
Netminder earned 0 total points
ID: 10144470
Points (250) refunded and question closed.

Netminder
EE Admin
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Texture Maps and Performance 5 533
Creating graphics and animations for Android 4 781
JAXB showroom collection 2 104
teenSum java challenge 7 87
What is RenderMan: RenderMan is a not any particular piece of software. RenderMan is an industry standard, defining set of rules that any rendering software should use, to be RenderMan-compliant. Pixar's RenderMan is a flagship implementation of …
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.

785 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