chiark / gitweb /
poster-tube-lid-parametric: bugfixes
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 20 Oct 2017 18:31:24 +0000 (19:31 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 20 Oct 2017 18:31:24 +0000 (19:31 +0100)
poster-tube-lid-parametric.pl

index 84d28f9ed9accb90953fbcc97f29d870a10e6a52..940d4818e67279c4bfaf3deecc1da94bbad02edd 100755 (executable)
@@ -56,7 +56,7 @@ sub point ($$$$) {
     my $i_thickscale = 1.0;
 
     if ($ip =~ m/^lin[01]$/) {
-       $i_offset = V( $lin_len * ($ip =~ m/1/ ? $it : 1-$it),
+       $i_offset = V( -$lin_len * ($ip =~ m/1/ ? $it : 1-$it),
                       0,
                       0 );
     } elsif ($ip =~ m/^circle$/) {
@@ -65,9 +65,9 @@ sub point ($$$$) {
                         -cos($it * TAU/2),
                         0 );
     } elsif ($ip =~ m/^lin2$/) {
-       $i_offset = V( -$lin_len -$sine_len + $it*$lin2_len,
+       $i_offset = V( -$lin_len -$sine_len - $it*$lin2_len,
                       0,
-                      +1 );
+                      +$sine_height );
     } elsif ($ip =~ m/^sine[01]$/) {
        $i_offset = V( -$lin_len -$it*$sine_len,
                       0,
@@ -176,7 +176,7 @@ sub make_sheet () {
            my $qj2 = ($qj+1) % @jpts;
            my $p0 = $sheet[$qi][$qj];
            triangle($p0, $sheet[$qi2][$qj], $sheet[$qi2][$qj2]);
-           triangle($p0, $sheet[$qi2][$qj2], $sheet[$qi2][$qj2]);
+           triangle($p0, $sheet[$qi2][$qj2], $sheet[$qi][$qj2]);
        }
     }
 }
@@ -189,7 +189,7 @@ sub pv ($) {
 sub write_out () {
     print "polyhedron(points=[\n" or die $!;
     print pv($_),",\n" or die $! foreach @points;
-    print "],triangles=[\n" or die $!;
+    print "],faces=[\n" or die $!;
     print pv($_),",\n" or die $! foreach @triangles;
     print "],convexity=10);\n" or die $!;
 }