Digital Geometry Processing
Exercise9-Remeshing
Heng Liu, liu@inf.unibe.ch
Computer Graphics Group

Remeshing

Remeshing Operations

Task 1: Split long edges

  • Split edge if it is longer than 4/3 of the target length L
  • Insert a new vertex in the midpoint
  • Interpolate the normal and target_length_ for the new vertex

Task 2: Collapse short edges

  • If edge is shorter than 4/5L, consider collapse
  • Do not collapse boundary to interior
  • Check which half-edges are collapsible
    • If none collapsible: don’t collapse
    • If one collapsible: collapse it
    • If two collapsible: collapse lower valence vertex into higher valence vertex

Task 3: Equalizing valences

  • Ideal valence

    • boundary: 4
    • interior: 6
  • Valence deviation sum \[\sum{(valence(v_i) - ideal\_valence(v_i))^2}\]

  • Flip if it decreases valence deviation

Task 4: Tangential smoothing

  • Compute uniform Laplacian
  • Use tangential component to move vertex.
  • To get the tangential component
    • Project Laplacian to the normal
    • Subtract this component from Laplacian

Task 5: Calculate target length

  • Target length can be computed adaptively

  • Scale initial target_length_ by \(k_{max}\) \[k_{max} = H + \sqrt{H^2 - K}\]

  • Apply several iterations of uniform smoothing on target_length_

  • Rescale target length such that its mean over all the vertices is equal to user-specified value

Operation check

  • check if edge is deleted

    • edges are marked deleted when operations request deletion, but only deleted when garbage_collection is called.
  • check if halfedge collapsible

  • check if edge is flippable

Results: Valences

Results: Egde length