On this page | |

Since | 17.0 |

## Overview

This node computes the generalized winding number of a surface, in the second input, at query points, in the first input.

This represents how much each query point is inside a surface, in that points completely inside a closed surface will have a winding number approximately equal to `1`

, and points completely outside a closed surface will have a winding number of `0`

. A point that is half covered by an open surface will have a winding number approximately equal to `0.5`

, so this gives a robust way of defining "inside" as having a winding number of `0.5`

or greater. Reversed surfaces will have negative winding numbers inside.

## Parameters

Query Points

The subset of points in the first input to compute winding numbers at, relative to the surface in the second input.

Mesh Primitives

The subset of primitives in the second input for which to compute winding numbers, at points in the first input.

Winding Number Type

The space in which to compute winding numbers.

3D

Computes 3D generalized winding numbers, i.e. solid angles divided by 4π.

2D in XY Plane

Computes 2D generalized winding numbers, i.e. subtended angles divided by 2π, where the second input’s curves and first input’s points are projected into the XY plane.

2D in YZ Plane

Computes 2D generalized winding numbers, i.e. subtended angles divided by 2π, where the second input’s curves and first input’s points are projected into the YZ plane.

2D in ZX Plane

Computes 2D generalized winding numbers, i.e. subtended angles divided by 2π, where the second input’s curves and first input’s points are projected into the ZX plane.

Attribute Name

Name of the point attribute to write winding numbers into.

Scale to Solid Angle

When enabled, winding numbers are multiplied by 4π, so that they represent the solid angles covered by the second input. If **Winding Number Type** is one of the 2D options, the values are instead multiplied by 2π, so that they represent the subtended angles of the second input’s curves.

Negate Value (Reverse)

When enabled, the winding number values are multiplied by `-1`

, which is equivalent to reversing the second input’s geometry.

Full Accuracy (Slow)

When enabled, the node uses an algorithm that provides higher accuracy, but might be very slow when there are many query points and many polygons in the surface geometry.

Accuracy Scale

When **Full Accuracy** is disabled, this provides a way of controlling the accuracy of the approximation used. Smaller values usually result in faster cooks but lower accuracy than larger values. A value of 12 results in accuracy that may be comparable with **Full Accuracy**. A value of 1 may have large inaccuracies in some cases. A value of 2 is usually accurate enough.

## Examples

WindingPighead Example for Winding Number geometry node

This example demonstrates use the Winding Number SOP in a variety of ways on the Pighead test geometry.

See also |