Skip to content

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

Closed

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

new featureNew user-facing functionality

Type

No type

Fields

Priority

None yet

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions