[SciPy-Dev] Qhull Delaunay triangulation "equations" attribute

Andreas Hilboll lists at hilboll.de
Wed Feb 26 06:45:16 EST 2014


Phil,

not directly answering your question, the upcoming 0.14 release will
include a new class RegularGridInterpolator, which performs efficient
interpolation on rectangular, possibly unevenly spaced, grids in
arbitrary dimensions.  The commit is
https://github.com/scipy/scipy/commit/a90dc2804da21ba4c48c2615facd0ac5848ebe59.

Cheers, Andreas.


On 26.02.2014 12:23, Phil Elson wrote:
> Thanks Pauli,
> 
> Based on what you said, I've simply used the Delaunay.lift_points method
> to take my vertices to the paraboloid. Though I arbitrarily picked a
> paraboloid of scale 1 and shift of 0.
> 
> Is it worth submitting a PR to add a static method for the creation of a
> Delaunay instance from 2 orthogonal 1D coordinates (I've only
> implemented it for the 2D case) in this way? I've found that for
> reasonably large regular grids (800, 1200), manually constructing the
> triangulation can cut ~25s from the ~31s overall execution time.
> 
> Additionally, I've been using LinearNDInterplator which I would like to
> be able to construct with an already computed triangulation instance,
> would there be interest in me submitting a PR for that also?
> 
> Thanks,
> 
> Phil
> 
> 
> 
> On 20 February 2014 17:18, Pauli Virtanen <pav at iki.fi
> <mailto:pav at iki.fi>> wrote:
> 
>     20.02.2014 16:00, Phil Elson kirjoitti:
>     > I'm trying to manually construct a Delaunay triangulation for an
>     orthogonal
>     > 2d grid as described in
>     >
>     http://stackoverflow.com/questions/21888546<http://stackoverflow.com/questions/21888546/regularly-spaced-orthogonal-grid-delaunay-triangulation-computing-the-paraboloi>and
>     > wonder if anybody can help provide some interpretation of the
>     > "equations" values of a scipy.spatial.Delaunay instance.
>     > Essentially I'm working off the premise that it is possible to
>     construct a
>     > Delaunay triangulation from a regular grid without going through the
>     > expensive triangulation stage, does anybody know if that is true
>     or not?
> 
>     Yes, it should be possible to construct the equations manually.
> 
>     For Delaunay, "equations" contains the hyperplane equation defining the
>     convex hull facets in ndim+1 dimensions corresponding to the simplices
>     of the triangulation.
> 
>     You get the ndim+1 dim coordinates for each simplex from the ndim
>     coordinates by adding an additional last coordinate to the vertices of
>     the simplices. The routine Delaunay.lift_points maps points in ndim dims
>     onto the paraboloid in ndim+1.
> 
>     The hyperplane equations should be constructed for the so transformed
>     coordinates, in the form
> 
>             sum([equations[j,k]*x[k] for k in range(ndim+1)])
>             +
>             equations[j,ndim+1]
>             ==
>             0
> 
>     Here, x is the coordinate "lifted" to ndim+1 dims.
> 
>     Geometrically, equations[j,:ndim+1] contains the normal vector of the
>     facet j, and equations[j,ndim+1] the offset scalar.
> 
>     --
>     Pauli Virtanen
> 
>     _______________________________________________
>     SciPy-Dev mailing list
>     SciPy-Dev at scipy.org <mailto:SciPy-Dev at scipy.org>
>     http://mail.scipy.org/mailman/listinfo/scipy-dev
> 
> 
> 
> 
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-dev
> 


-- 
-- Andreas.



More information about the SciPy-Dev mailing list