Skip to content

Postivity Violated with Improved Max Approximator and Non-Area Weighting #133

Description

@zfergus

When using the improved max approximator, but not area weighting, the resulting barrier potential can be negative (i.e., attractive instead of repulsive). This only occurs in cases of parallel edges using the mollified formulation. The issue does not occur when using area weighting.

Background

Edge-edge mollification is still used, but not mentioned in the Convergent IPC paper. The original mollified edge-edge energy is

$$ \Psi_w(e) ~= \sum_{e_2 \in E \setminus e} m(e, e_2) b(d(e, e_2), \hat{d}) ~\approx \max_{e_2 \in E \setminus e} m(e, e_2) b(d(e, e_2), \hat{d}). $$

The improved max approximator with mollification is

$$ \Psi_w(e) = \sum_{e_2\in{E}\setminus{e}} m(e, e_2) b(d(e, e_2), \hat{d}) - \sum_{x\in{V}\setminus{e}} \sum_{e_3\in (E\cap x) \setminus e} m(e, e_3) b(d(x, e), \hat{d}) + \sum_{x \in V \setminus e} b(d(x,e), \hat{d}) $$ $$ = \sum_{e_2\in{E}\setminus{e}} m(e, e_2) b(d(e, e_2), \hat{d}) - \sum_{x\in{V}\setminus{e}} \left(\left[\sum_{e_3\in (E\cap x) \setminus e} m(e, e_3) b(d(x, e), \hat{d})\right] - b(d(x,e), \hat{d}) \right) $$ $$ = \sum_{e_2\in{E}\setminus{e}} m(e, e_2) b(d(e, e_2), \hat{d}) - \sum_{x\in{V}\setminus{e}} \left(\left[\sum_{e_3\in (E\cap x) \setminus e} m(e, e_3)\right] - 1 \right) b(d(x,e), \hat{d}) $$ $$ = \sum_{e_2\in{E}\setminus{e}} m(e, e_2) b(d(e, e_2), \hat{d}) - \sum_{x\in{V}\setminus{e}} (\rho_m(x, e) - 1) b(d(x, e), \hat{d}), $$

where

$$ \rho_m(x, e_1) = \sum_{e_2 \in (E \cap x) \setminus e_1} m(e_1, e_2), $$

and $E \cap x$ is the set of edges that contain $x$ as an end-point. The function $m$ is our edge-edge mollification function

$$ m = \begin{cases}-\frac{1}{\epsilon_{\times}^2} c^2+\frac{2}{\epsilon_{\times}} c & c<\epsilon_{\times}, \ 1 & c \geq \epsilon_{\times},\end{cases} $$

where $c= |e_1 \times e_2 |^2$ and $\epsilon_{\times}=10^{-3} |\bar{e}_1|^2 |\bar{e}_2|^2.$

Environment (please complete the following information):

  • OS and Version: macOS
  • Compiler and Version: Apple clang version 16.0.0

Activity

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

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions