Skip to content

2D Interpolation #10

@alhaDHI

Description

@alhaDHI

I am generating a mesh from scatter data and then interpolating on to another set of data points.

private float[] GetInterpolatedData(double[] x, double[] y, float[] data, double[,] xy)
{
var points = new List();
for (var i = 0; i < data.Length; i++)
{
points.Add(new Vertex3(x[i], y[i], (double)data[i]));
}
var mesher = new GenericMesher(new Dwyer());
var mesh = (TriangleNet.Mesh)mesher.Triangulate(points);
var triangleQuadTree = new TriangleQuadTree(mesh);
var outData = new float[xy.GetLength(0)];
for (var i = 0; i < xy.GetLength(0); i++)
{
var tri = triangleQuadTree.Query(xy[i, 0], xy[i, 1]);
if (tri != null)
{
var vert = new Vertex3(xy[i, 0], xy[i, 1], double.NaN);
InterpolateAttributes(vert, tri);
outData[i] = (float)vert.Z;
}
else
{
outData[i] = float.NaN;
}
}

        return outData;

}

The x and y coordinates of the mesh will remain constant but "data" will change. Can I change the data in the mesh without re-meshing and re-running TriangleQuadTree?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions