#!/usr/bin/perl

# kierunek( $x0, $y0, $x1, $y1, $x2, $y2 )
#    Procedura zwraca wartosc dodatnia, jesli przesuwajac sie z p0 (x0, y0) 
#    do przez p1 do p2 nalezy skrecic w prawo, wartosc ujemna, jesli nalezy
#    skrecic w lewo.
#    Zero jest zwracane w przypadku, gdy wszystkie trzy punkty leza na tej samej
#    linii prostej. Nalezy jednak uwazac na bledy zmiennoprzecinkowe.
#
sub kierunek {
    my ( $x0, $y0, $x1, $y1, $x2, $y2 ) = @_;
    return ( $x2 - $x0 ) * ( $y1 - $y0 ) - ( $x1 - $x0 ) * ( $y2 - $y0 );
}

print kierunek( 1, 1,   4, 3,   4, 4 ), "\n";
print kierunek( 1, 1,   4, 3,   7, 5 ), "\n";
print kierunek( 1, 1,   4, 3,   7, 4 ), "\n";
