From: Ian Jackson Date: Sat, 2 Mar 2019 17:15:09 +0000 (+0000) Subject: adj_ends X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=fe8bc78c2829c22c497b07fb907998e04f324bdd;p=pandemic-rising-tide.git adj_ends --- diff --git a/generate-board b/generate-board index cda2272..0726f99 100755 --- a/generate-board +++ b/generate-board @@ -131,6 +131,11 @@ sub read_faces () { #----- geometry mangling ----- +sub adj_ends ($) { + my ($adj) = @_; + map { $_->{Pos} } @{ $adj->{Ends} }; +} + sub calculate_centres () { # Sets # $region{NAME}{Centre} @@ -139,7 +144,7 @@ sub calculate_centres () { my $sum = Math::GSL::Vector->new(2); my $wsum = 0; foreach my $adj (@{ $rr->{Adj} }) { - my @ends = map { $_->{Pos} } @{ $adj->{Ends} }; + my @ends = adj_ends($adj); my $w = ($ends[1] - $ends[0])->norm(); $sum += $w * $_ foreach @ends; $wsum += $w; @@ -374,7 +379,7 @@ sub some_edge_faces (@) { sub afsluitdijk() { my ($adj) = grep { $_->{Name} eq 'NZ' } @{ $region{'ZZ'}{Adj} }; my $dash = 20; - my (@pos) = map { $_->{Pos} } @{ $adj->{Ends} }; + my (@pos) = adj_ends($adj); my $mid = 0.5 * ($pos[0] + $pos[1]); my $r = 0.5 * ($pos[1] - $pos[0])->norm(); o(sprintf <<'END', facepscolour('sea'), psvec($mid), $r);