Solved

Converting lines to polygons

Posted on 2003-12-11
11
281 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
 
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
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 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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

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 …
Artificial Intelligence comes in many forms, and for game developers, Path-Finding is an important ability for making an NPC (Non-Playable Character) maneuver through terrain.  A* is a particularly easy way to approach it.  I’ll start with the algor…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

746 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

13 Experts available now in Live!

Get 1:1 Help Now