How to resolve the algorithm Shoelace formula for polygonal area step by step in the ALGOL 68 programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm Shoelace formula for polygonal area step by step in the ALGOL 68 programming language
Table of Contents
Problem Statement
Given the n + 1 vertices x[0], y[0] .. x[N], y[N] of a simple polygon described in a clockwise direction, then the polygon's area can be calculated by: (Where abs returns the absolute value) Write a function/method/routine to use the the Shoelace formula to calculate the area of the polygon described by the ordered points:
Show the answer here, on this page.
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Shoelace formula for polygonal area step by step in the ALGOL 68 programming language
Source code in the algol programming language
BEGIN
# returns the area of the polygon defined by the points p using the Shoelace formula #
OP AREA = ( [,]REAL p )REAL:
BEGIN
[,]REAL points = p[ AT 1, AT 1 ]; # normalise array bounds to start at 1 #
IF 2 UPB points /= 2 THEN
# the points do not have 2 coordinates #
-1
ELSE
REAL result := 0;
INT n = 1 UPB points;
IF n > 1 THEN
# there at least two points #
[]REAL x = points[ :, 1 ];
[]REAL y = points[ :, 2 ];
FOR i TO 1 UPB points - 1 DO
result +:= x[ i ] * y[ i + 1 ];
result -:= x[ i + 1 ] * y[ i ]
OD;
result +:= x[ n ] * y[ 1 ];
result -:= x[ 1 ] * y[ n ]
FI;
( ABS result ) / 2
FI
END # AREA # ;
# test case as per the task #
print( ( fixed( AREA [,]REAL( ( 3.0, 4.0 ), ( 5.0, 11.0 ), ( 12.0, 8.0 ), ( 9.0, 5.0 ), ( 5.0, 6.0 ) ), -6, 2 ), newline ) )
END
You may also check:How to resolve the algorithm Goldbach's comet step by step in the Python programming language
You may also check:How to resolve the algorithm Strip whitespace from a string/Top and tail step by step in the Objective-C programming language
You may also check:How to resolve the algorithm Comments step by step in the Arturo programming language
You may also check:How to resolve the algorithm Anonymous recursion step by step in the Sparkling programming language
You may also check:How to resolve the algorithm RIPEMD-160 step by step in the Mathematica/Wolfram Language programming language