sfstoolbox / sfs-matlab

SFS Toolbox for Matlab/Octave
https://sfs-matlab.readthedocs.io
MIT License
96 stars 39 forks source link

Voronoi-Interpolation for HRIRs #151

Closed fietew closed 5 years ago

fietew commented 7 years ago

Follow up of #76:

assuming voronoi(x0,xs) as the function call, with x0 being the existing (measured) points and xs being the query point:

  1. compute convex hull in 3D for x0 resulting in a set of N triangles simplices_old, Nx3
  2. compute convex hull in 3D for [x0;xs] resulting in a set of N+1 triangles simplices_new, (N+1)x3
  3. extract all neighboring x0 sharing a triangle with xs in simplices_new, denoted as x0'
  4. extract all triangles from simplices_old and simplices_new which have at least one of x0' as a vertex, results are denoted as simplices_old' and simplices_new'
  5. compute spherical Voronoi regions for x0' using simplices_old' and afterwards using simplices_new' (taken from here)
    1. add center of sphere to each triangle to create tetrahedrons
    2. calculate circumcentre of each tetrahedron, Nx3
    3. project circumcentre onto sphere to create the vertices of Voronoi-diagram (xv), Nx3
    4. build Voronoi regions for each x0' (all points in xv which originate from a triangle/tetrahedron where x0' is a vertex belong to the Voronoi region of x0')
  6. compute area of Voronoi regions for both diagrams (see here)
  7. compute weights for each x0' (stolen area/sum of stolen of area)
hagenw commented 5 years ago

Was this fixed by #171?

fietew commented 5 years ago

Was this fixed by #171?

Yes