Interpolation using barycentric coordinates of a triangle

1.1k Views Asked by At

If I have a triangle given by the coordinates of its three vertices, $r_1, r_2, r_3$, and another point inside that triangle $r$, I can find the barycentric coordinates of $r$: $$r = \lambda_1 r_1 + \lambda_2 r_2 + \lambda_3 r_3$$ such that (by definition): $$\lambda_1 + \lambda_2 + \lambda_3 = 1$$ Furthermore, I have a scalar field for which I know the values at $r_1, r_2, r_3$: $$z_i = f(r_i)$$ If I estimate $f(r)$ by the weighted combination: $$z_r = \lambda_1 z_1 + \lambda_2 z_2 + \lambda_3 z_3$$ is $z_r$ guaranteed to be coplanar with the original $z_i$?

That is, are the points $$(x_1, y_1, z_1), (x_2, y_2, z_2), (x_3, y_3, z_3), (x_r, y_r, z_r)$$

coplanar?

Hunch: I have the "feeling" that it is, but I can't immediately convince myself that this interpolation is flat. (For example: the bilinear interpolation of points inside a quadrilateral does NOT in general yield a planar patch.)

If not... what alternate method of interpolation can I use?

(Background: I've sampled a scalar field by calcuating $f(x,y)$ at various points. These points do NOT lie on a regular grid. Now I'd like to create a gridded approximation of that field to create a raster image for visualization, so I've created a Delauney triangulation on the set of sample points $(x, y)$. I'd want to make a piecewise-planar approximation of $f()$ using some interpolation; so I'm asking if this barycentric-based interpolation gives me that.)

1

There are 1 best solutions below

0
On BEST ANSWER

Yes. A plane is the set of linear combinations (with coefficients adding up to $1$) of three points, and your point certainly qualifies.