50 lpi * l = malloc(
sizeof (
lpi ) );
77 double y0212 = y02 / y12;
79 lw->
w[0] = ( z02 - z12 * y0212 ) / ( x02 - x12 * y0212 );
80 lw->
w[1] = ( z12 - lw->
w[0] * x12 ) / y12;
81 lw->
w[2] = ( z2 - lw->
w[0] * x2 - lw->
w[1] * y2 );
85 double x0212 = x02 / x12;
87 lw->
w[1] = ( z02 - z12 * x0212 ) / ( y02 - y12 * x0212 );
88 lw->
w[0] = ( z12 - lw->
w[1] * y12 ) / x12;
89 lw->
w[2] = ( z2 - lw->
w[0] * x2 - lw->
w[1] * y2 );
121 p->
z = p->
x * lw->
w[0] + p->
y * lw->
w[1] + lw->
w[2];
144 fprintf( stderr,
"xytoi:\n" );
145 for ( i = 0; i < nout; ++i )
149 fprintf( stderr,
"(%.7g,%.7g) -> %d\n", p->
x, p->
y,
delaunay_xytoi( d, p, seed ) );
153 for ( i = 0; i < nout; ++i )
158 fprintf( stderr,
"output:\n" );
159 for ( i = 0; i < nout; ++i )
161 point* p = &pout[i];;
162 fprintf( stderr,
" %d:%15.7g %15.7g %15.7g\n", i, p->
x, p->
y, p->
z );
void delaunay_destroy(delaunay *d)
void lpi_interpolate_points(int nin, point pin[], int nout, point pout[])
delaunay * delaunay_build(int np, point points[], int ns, int segments[], int nh, double holes[])
int delaunay_xytoi(delaunay *d, point *p, int seed)
lpi * lpi_build(delaunay *d)
void lpi_interpolate_point(lpi *l, point *p)