in reply to Making CLOCKWISE work

Hey stu69art, good luck with your search for an alternative algorithm. Here are a few testcases that you can use to verify your results that covers most of the cases you might encounter. Let us know how you get on:)

#! perl -slw use strict; sub direction{ local($_, @_= @_); push @_, $_[0]; $_+= $a->[0]*$b->[1]-$a->[1]*$b->[0] while ($a,$b)=(shift,$_[0]), +@_; $_ < 0; } =pod | . | /.\ | // \\ |// - |\\ _ | \\ // | \v/ +---v----- =cut my @inflectiveC = ([0,3],[3,6],[5,4],[4,4],[3,5],[1,3],[3,1],[4,2],[5, +2],[3,0]); print direction(@inflectiveC) ? 'Clockwise' : 'Not clockwise'; my @inflectiveA = reverse @inflectiveC; print direction(@inflectiveA) ? 'Clockwise' : 'Not clockwise'; my @mirroredXC = reverse map{ [ 0 - $_->[0], $_->[1]] } @inflectiveC; print direction(@mirroredXC) ? 'Clockwise' : 'Not clockwise'; my @mirroredXA = map{ [ 0 - $_->[0], $_->[1]] } @inflectiveC; print direction(@mirroredXA) ? 'Clockwise' : 'Not clockwise'; my @mirroredYC = reverse map{ [$_->[0], 0 - $_->[1]] } @inflectiveC; print direction(@mirroredXC) ? 'Clockwise' : 'Not clockwise'; my @mirroredYA = map{ [$_->[0], 0 - $_->[1]] } @inflectiveC; print direction(@mirroredXA) ? 'Clockwise' : 'Not clockwise';

Examine what is said, not who speaks.
1) When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong.
2) The only way of discovering the limits of the possible is to venture a little way past them into the impossible
3) Any sufficiently advanced technology is indistinguishable from magic.
Arthur C. Clarke.