[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