All,

I’m new to python, so hopefully this is not a dumb question, but I have not been able to find out directions/information of how to do this task.

I am trying to create a program that determines if a given pixel is within a certain region. The method I found that recommended how to test this involves calculating polygonal areas. In this case, that would involve the shoelace function, which I have already found. The polygon coordinates are stored in a 2-dimensional array as [(x,y),(x1,y1),(x2,y2)…].

The given set of test coordinates and the function representing the shoelace function are below:

import numpy as np testCoords = [(201,203)...(275,203)] def polyArea(x,y): return 0.5 * np.abs(np.dot(x, np.roll(y,1)) - np.dot(y, np.roll(x, 1)))

How do I pass the coordinates as stored in the 2-dimensional array into the shoelace function?

## Answer

Your `polyArea`

expects two arrays of `x`

and `y`

coordinates. Your `testCoords`

variable is a list of several points represented by their `(x, y)`

coordinates. We will turn the later into a shape that works well, by converting it to a numpy array and **transposing** it:

x, y = np.array(testCoords).transpose() # Often, `.transpose()` is abbreviated as `.T`

That will give you `x == [201, ..., 275]`

and `y == [203, ..., 203]`

.