scalar shift @ARGV;
}
-sub pointmap_distortion {
+sub pointmap_project_cylinder {
my ($x,$y,$z) = @_;
my $radius = shift_arg;
- my $r = $y + $radius;
+ my $r = $radius - $y;
my $theta = $x / $radius;
- return ($r * cos($theta),
- $r * sin($theta),
+ return ($r * sin($theta),
+ -$r * cos($theta),
$z);
}
my @xyz = split /\s+/, $_;
while (@ARGV) {
my $op = shift_arg;
- @xyz = &{ $::{"pointmap_$op"} }( @xyz );
+ $op =~ y/-/_/;
+ @xyz = &{ ${*::}{"pointmap_$op"} }( @xyz );
}
@xyz = map { sprintf "%.18g", $_ } @xyz;
$_ = "$lhs@xyz\n";