Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: reordering segments to form a polygon

by fletcher_the_dog (Friar)
on Aug 13, 2004 at 14:12 UTC ( #382678=note: print w/replies, xml ) Need Help??


in reply to reordering segments to form a polygon

Slight variations on what other have done. This dies if your polygon is not closed.
#!/usr/bin/perl use strict; my @seg = ( [ 1, 1, 2, 1 ], [ 5, 5, 1, 5 ], [ 2, 3, 5, 3 ], [ 5, 3, 5, 5 ], [ 2, 1, 2, 3 ], [ 1, 5, 1, 1 ]); my %starts=map{"@$_[0,1]",$_} @seg; my @sorted_segs = my $cur = $seg[0]; while (1) { my $next = $starts{"@$cur[2,3]"}; die "your polygon is broken\n" if !$next; $next==$seg[0] ? last : push @sorted_segs,$next; $cur = $next; } print "@$_\n" for @sorted_segs;

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://382678]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (2)
As of 2021-09-20 09:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?