Establishing a consistent normal orientation for point clouds is a notoriously difficult problem in geometry processing, requiring attention to both
local
and
global
shape characteristics. The normal direction of a point is a function of the
local
surface neighborhood; yet, point clouds do not disclose the full underlying surface structure. Even assuming known geodesic proximity, calculating a consistent normal orientation requires the global context. In this work, we introduce a novel approach for establishing a globally consistent normal orientation for point clouds. Our solution separates the
local
and
global
components into two different sub-problems. In the local phase, we train a neural network to learn a
coherent
normal direction per patch (
i.e.
, consistently oriented normals within a single patch). In the global phase, we propagate the orientation across all coherent patches using a dipole propagation. Our dipole propagation decides to orient each patch using the electric field defined by all previously orientated patches. This gives rise to a global propagation that is stable, as well as being robust to nearby surfaces, holes, sharp features and noise.