From: Ian Jackson Date: Fri, 1 Mar 2019 12:54:15 +0000 (+0000) Subject: wip nz improving X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=d61567b76b6ac724605e3098c09dce39a1936587;p=pandemic-rising-tide.git wip nz improving --- diff --git a/generate-board b/generate-board index a9de3d4..07a2c63 100755 --- a/generate-board +++ b/generate-board @@ -216,7 +216,7 @@ sub transform_coordinates () { gsl_vector_add($$pr->raw, $translate->raw) and confess; gsl_vector_scale($$pr->raw, $scale) and confess; }); - $mid = $lims[1] - $lims[0]; + $mid = ($lims[1] - $lims[0]) * 0.5; } sub adjust_nz() { @@ -228,6 +228,7 @@ sub adjust_nz() { foreach my $v (@$poly) { $v->{NZ_Occurs} = $occurs{$v->{VxName}}; } + print STDERR " nz ".(scalar @$poly)."\n"; my $occurs_m = sub { my ($ei) = @_; $poly->[($ei+@$poly) % @$poly]{NZ_Occurs} > 1 @@ -236,13 +237,23 @@ sub adjust_nz() { next if $occurs_m->($ei); next unless $occurs_m->($ei-1); next unless $occurs_m->($ei+1); + print STDERR " nz would adjust $poly->[$ei]{VxName}\n"; # adjust coord outwards } for my $ei (0..$#$poly) { - next unless $occurs_m->($ei-1); next unless $occurs_m->($ei); - my $pos = \ $poly->[$ei]{Pos}; - $$pos = $$pos*2 - $mid + Math::GSL::Vector->new([-1000,0]); + print STDERR " nz occurs_m $ei $poly->[$ei]{VxName}\n"; + next unless $occurs_m->($ei-1); + my $dleft = Math::GSL::Vector->new([-200,0]); + foreach my $which (0,-1) { + my $ej = ($ei + $which + @$poly) % @$poly; + my $ek = ($ei + +1 + 3*$which + @$poly) % @$poly; + my $posj = \ $poly->[$ej]{Pos}; + my $posk = \ $poly->[$ek]{Pos}; + print STDERR " nz adj j=$ej ",prvec($$posj)," $poly->[$ej]{VxName}\n"; + print STDERR " nz adj k=$ek ",prvec($$posk)," $poly->[$ek]{VxName}\n"; + $$posj = $$posj + $dleft; + } } }