Shoelace formula for polygonal area

From Fōrmulæ wiki
Revision as of 17:29, 23 March 2019 by Admin (Talk | contribs) (Description (from Rosetta Code))

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This page is the answer to the task Shoelace formula for polygonal area in the Rosetta Code.

Description (from Rosetta Code)

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:
abs( (sum(x[0]*y[1] + ... x[n-1]*y[n]) + x[N]*y[0]) -
     (sum(x[1]*y[0] + ... x[n]*y[n-1]) + x[0]*y[N])
   ) / 2

(Where abs returns the absolute value)

Task

Write a function/method/routine to use the the Shoelace formula to calculate the area of the polygon described by the ordered points:

(3,4), (5,11), (12,8), (9,5), and (5,6)

Program

The same program when the flowchart package visualization is selected. Click/tap to enlarge

ShoelaceFormulaCode.png

Testing

ShoelaceFormulaOutput.png