An Electrostatic Field-Driven Method for Point Cloud Normal Orientation

Pacific Graphics 2026 (Computer Graphics Forum)

Zihan Wang1, Long Ma1, Guangshun Wei1, Jiaze Li2, Yuanfeng Zhou1*
1School of Software, Shandong University, 2Nanyang Technological University
*Corresponding author
Teaser

Abstract

Point cloud normal orientation is a fundamental task in digital geometry processing and 3D vision, with applications in surface reconstruction and shape analysis. Existing approaches either propagate local normal orientations, which may lack global consistency, or solve global optimization problems over pre-discretized spatial structures, which can limit geometric flexibility. In this paper, we propose an electrostatic field-based formulation for point cloud normal orientation, which models the orientation problem using a set of discrete Coulomb kernels defined by a collection of particles, yielding a smooth field with a closed-form expression. The global orientation is obtained by optimizing this field to be orthogonal to locally estimated tangent planes, resulting in a globally coherent vector field over the point cloud. Our approach adopts a dynamic, grid-free particle representation with adaptive positions, magnitudes, and particle count. The particles evolve during optimization to adapt the field representation to the underlying geometry. Normal orientations are then recovered from the optimized field. We demonstrate that this formulation produces coherent orientations while preserving fine geometric details across representative 3D models.

Our method starts from one positive particle inside the object. We alternate position and charge optimization, while splitting and induction add particles during the process.

Results

Results Results

BibTeX

@article{wang2026electrostatic,
  author    = {Wang, Zihan and Ma, Long and Wei, Guangshun and Li, Jiaze and Zhou, Yuanfeng},
  title     = {An Electrostatic Field-Driven Method for Point Cloud Normal Orientation},
  journal   = {Computer Graphics Forum},
  volume    = {45},
  year      = {2026},
  doi       = {10.1111/cgf.70604},
  url       = {https://diglib.eg.org/handle/10.1111/cgf70604}
}