Skip to content

Cross field singularity index violates Poincaré-Hopf theorem #2526

Description

@qnzhou

Describe the bug

The singularity index computed via igl::find_cross_field_singularities is always positive, which leads to the violation of Poincaré-Hopf theorem (section 3.2 of [1]).

The original discussion and unit tests is from libigl/libigl-python-bindings#295

Platform

  • Windows
  • macOS
  • Linux

[1] Vaxman, Amir, et al. "Directional field synthesis, design, and processing." Computer graphics forum. Vol. 35. No. 2. 2016.

Activity

changed the title [-]Cross field singularities violates Poincaré-Hopf theorem[/-] [+]Cross field singularity index violates Poincaré-Hopf theorem[/+] on Jan 22, 2026

qnzhou commented on Jul 27, 2026

@qnzhou
CollaboratorAuthor

Just to follow up, the function igl::find_cross_field_singularities seems to be unable to capture the singularities at the north/south pole of a sphere given the cross field following the longitude/latitude directions. This could be really problem leading to highly distorted seamless UV parameterizations.

alecjacobson commented on Jul 31, 2026

@alecjacobson
Contributor

Oof. I don't personally use or maintain this part of libigl. Happy to merge a PR if it's known how to fix. Or even just a PR that documents the issue.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions