#!/usr/bin/perl -w

use strict;

use geomath;

=comment
my @polygon1 = (1, 3, 4, 7, 7, 2, 2, 1, 1, 3);

my @newArr;

print getPolygonPerimeter(@polygon1) . "\n";

print getPolygonAreaTriangular(@polygon1) . "\n";

print getPolygonAreaTrapezoidal(@polygon1) . "\n";

print getPolygonCentroidTriangular(@polygon1) . "\n";
print getPolygonCentroidByCoordAvg(@polygon1) . "\n";

my $arrLength = scalar(@polygon1) / 2 + 4;

for(my $i = 0; $i < $arrLength; $i = $i + 2) {
  my $tmp = scaleXY($polygon1[$i], $polygon1[$i+1], 0.5) . "\n";
  my @a   = split /\,/, $tmp;
  push @newArr, $a[0];
  push @newArr, $a[1];
}

print getPolygonPerimeter(@newArr) . "\n";
print getPolygonAreaTriangular(@newArr) . "\n";
print getPolygonAreaTrapezoidal(@newArr) . "\n";
print getPolygonCentroidByCoordAvg(@newArr) . "\n";

my @poly2zone1 = (1, 1, 2, 6, 8, 5, 7, 2, 1, 1);
my @poly2zone2 = (3, 3, 6, 3, 5, 5, 3, 3);
my @poly2zone3 = (9, 2, 10, 4, 11, 1, 9, 2);

print getPolygonAreaTrapezoidal(@poly2zone1) . " ";
print getPolygonCentroidTriangular(@poly2zone1) . " ";
print getPolygonPerimeter(@poly2zone1) . "\n";

print getPolygonAreaTrapezoidal(@poly2zone2) . " ";
print getPolygonCentroidByCoordAvg(@poly2zone2) . " ";
print getPolygonPerimeter(@poly2zone2) . "\n";

print getPolygonAreaTrapezoidal(@poly2zone3) . " ";
print getPolygonCentroidTriangular(@poly2zone3) . " ";
print getPolygonPerimeter(@poly2zone3) . "\n";
=cut

my @polygonConcave = (1, 1, 3, 7, 6, 2, 3, 5, 1, 1);

my $centroid = getPolygonCentroidByCoordAvg(@polygonConcave) . "\n";
my @centXY = split /\,/, $centroid;

print isPointInPolygon($centXY[0],$centXY[1],@polygonConcave) . "\n";

