0
$\begingroup$

Suppose we have a suface without self-intersection, then we can store it numerically using grid samples from its signed distance funtion. But what for the self-intersecting case, can we still use the SDF tech?

$\endgroup$
5
  • $\begingroup$ Yes but you may have to redefine the orientation of the surface in order to get a consistent sign. An even more exotic case is if you have a non-orientable surface, then you cannot get a consistent sign either way. However you can always compute a non-signed distance field. Basically to have a proper sign you need to be able to uniquely determine what is "inside" and "outside", e.g. this is also problematic if you don't have a closed surface/. $\endgroup$
    – lightxbulb
    Aug 23, 2022 at 18:27
  • $\begingroup$ @lightxbulb : And in this case, can we calculate its hessian matrix correctly, with distance function fitted by interpolation on grid samples? There will be sigular points where graidents are zero for self-intersecting surfaces. $\endgroup$
    – Andy
    Aug 28, 2022 at 7:38
  • $\begingroup$ Hessian of what function? And how is this related to the discrete sdf you want? $\endgroup$
    – lightxbulb
    Aug 28, 2022 at 9:26
  • $\begingroup$ @lightxbulb : It's the Hessian of the self-intersecting surface's distance function. If we only have the discrete sdf, can we calculate the Hessian accurately? $\endgroup$
    – Andy
    Aug 28, 2022 at 14:04
  • $\begingroup$ You can compute a discrete analogue of it sure. You can approximate the $x$ derivative: $\partial_x f(i,j) \approx f_{(i+1),j} - f_{i,j}$, and similarly for $y$. For the boundaries either use reflecting, clamped, or toroidal boundary conditions depending on what you want the extension of the function to be beyond its boundaries. $\endgroup$
    – lightxbulb
    Aug 28, 2022 at 14:36

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.