X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=poster-tube-lid-parametric.pl;h=74fab875001136406391b8b729878459e7394a29;hb=f60c88e232e89c8b203596698a3431fe7e5397e8;hp=d538a29f58d09c19d815cfceef97704f4802f2c9;hpb=41925db79e6383c8965ad411d6ca3f7ccfc43ac6;p=reprap-play.git diff --git a/poster-tube-lid-parametric.pl b/poster-tube-lid-parametric.pl index d538a29..74fab87 100755 --- a/poster-tube-lid-parametric.pl +++ b/poster-tube-lid-parametric.pl @@ -23,13 +23,13 @@ my $sine_height = 6; my $ballend_xr = $thick/2; -my @i_sections = qw(ball0 6 +my @i_sections = qw(ball0 -6 sine0 -10 lin0 2 circle 20 lin1 2 sine1 10 - lin2 2 + lin2 -2 ball2 6 - ); @@ -40,7 +40,7 @@ my @j_sections = qw(lin0 2 - curveE 20 - - curve2 10 + curve2 -10 - ); @@ -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 * $it, 0, 0 ); } elsif ($ip =~ m/^circle$/) { @@ -74,7 +74,7 @@ sub point ($$$$) { $sine_height * ( 0.5 - 0.5*cos( $it*TAU/2 ) ) ); } elsif ($ip =~ m/^ball[02]$/) { - my $angle = ($ip =~ m/0/ ? (1-$it) : $it) * TAU/4; + my $angle = $it * TAU/4; $i_offset = V( -$lin_len -$sine_len -($ip =~ m/2/ ? $lin2_len : 0) -sin($angle) * $ballend_xr, @@ -109,7 +109,7 @@ sub point ($$$$) { $j_x = $j_p_x + $i_thick/2 * cos($angle); $j_y = $j_p_y + $i_thick/2 * sin($angle); } elsif ($jp =~ m/^curve[12]$/) { - my $angle = $slope_angle * ($jp =~ m/1/ ? $jt : (1-$jt)); + my $angle = $slope_angle * $jt; my $outwards = $jp =~ m/1/ ? -1 : +1; $j_x = $j_qrc_x + cos($angle) * ($jcurverad + $outwards * $i_thick/2); $j_y = $j_qrc_y - sin($angle) * ($jcurverad + $outwards * $i_thick/2);