There is a question: What is being reflected in the chrome screws?
From a quick overview of the code, it doesn't look like a reflection, but the result of your shading algorithm as it progresses along the y axis:
my $color = ( abs( $newPoint->[A] ) * 256 + (100 - $newY)
+);
Which seems odd, since the coloring of each point of a turn should be equal for all turns. Or am I missing something?
Try -M=4 -P=1.5 -S=200 -L=10 substituting above line with:
my $color = ( abs( $newPoint->[A] ) * 256 );
perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'