Skip to content

Determine the Skewness of a Grid using "equiangle" method #1686

Description

@Sevans711

Sub-issue of #1305 to track "equiangle" formula implementation for skewness.

For a given face, the equiangle skewness can be defined as:

$$\text{(equiangle skewness)} = \max\left[\frac{\theta_{max} - \theta_{reg}}{\pi - \theta_{reg}},\ \frac{\theta_{reg} - \theta_{min}}{\theta_{reg}}\right]$$

where $\theta_{min}, \theta_{min}$ are the minimum, maximum internal angles at each node of the face; and $\theta_{reg}$ is the internal angle for a regular polygon with the same number of sides and covering the same area as this face:

$$\theta_{reg} = \sum(\text{internal angles of this face}) / n$$

where $n$ = number of sides of this face.

This value should be (nearly) 0 for perfectly-regular polygonal faces, and approach 1 for extremely skew / almost degenerate faces.

While this measure is reasonably simple to reason about, it also isn't perfect, because it only considers angles, not side lengths too. For example, a long skinny rectangle will lead to a value close to 0, because all angles would be close to 90 degrees, even though one might expect a long skinny rectangle to be labeled with high skewness. That is not a bug in the implementation, it is just a downside of using the "equiangle" skewness measurement. Other measurements of skewness can be tracked in other issues.

Metadata

Metadata

Assignees

Labels

new featureNew user-facing functionality

Type

No type

Projects

Status
👀 In review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions