I have the $(x,y)$ coordinates of the shape outline.
I am trying to quantify, with a single parameter, the degree to which the length of the shape changes along a specific angle. For example, on average, how much longer does the shape get along the axis 30 degrees counterclockwise of the x-axis.
Is there a standard way to do this? I was thinking to first just rotate the image negative of the desired angle (in this case -30 degrees). This way we can think in terms of measuring change in horizontal length. Then, for every point on one side of the shape, find a corresponding point on the other side by drawing a horizontal line, and and measure the distance between the two points. Averaging all the distances would give the average change in length along that specific dimension. However, I realize this is flawed because it's kind of arbitrary where the initial point is chosen.
Another way of looking at it is the following:
Any 2D shape can undergo an area change induced by elongation/shortening across one of two perpendicular axis. I want to know whether the increase/decrease in area is because of a uniform elongation/shortening across both axis, or, there is anisotropy and the shape is elongating/shortening to a greater extent along a specific axis. And I want to quantify the extent of that anisotropy. This is a little different than the description I have above, but either of these things would suffice.
Edit: the solution I used was the following. 1) Rotate polygon. 2) Fit polygon to a bounding rectangular box. 3) For a particular y-coordinate along the bounding box, determine the minimum and maximum x-coordinate on the polygon. Take the difference between the two x-coordinates. 4) Repeat (3) for every y-coordinate and average all those distances to get an average distance.