X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=moebius2.git;a=blobdiff_plain;f=interpolate.c;h=778e37ceaefc6b3d8ed117a823e7e093ebc00055;hp=b705bcff861c4dcc2c01faba9e554be202ef65aa;hb=a0f36c8849d41b4be54f00e3f9e19ce79a67abae;hpb=c01a4fe080a448234b39afb7ea7f7a3c9c229fb7 diff --git a/interpolate.c b/interpolate.c index b705bcf..778e37c 100644 --- a/interpolate.c +++ b/interpolate.c @@ -94,6 +94,8 @@ static void traverse_next(Traverse *t) { t->v= v2; } +#if 0 + static void interpolate(void) { /* four points P Q R S, although P and S may be missing * interpolate in QR finding M. */ @@ -139,10 +141,12 @@ static void interpolate(void) { K srtarg[k]= all.a[vq][k]; K { + const double alpha= 3.0; all.a[vm][k]= 0.5 * (all.a[vq][k] + all.a[vr][k]); -// pqtarg[k]= 0.5 * (pqtarg[k] + all.a[vm][k]); -// srtarg[k]= 0.5 * (srtarg[k] + all.a[vm][k]); -// all.a[vm][k]= 0.5 * (pqtarg[k] + srtarg[k]); + pqtarg[k]= 0.5 * (pqtarg[k] + all.a[vm][k]); + srtarg[k]= 0.5 * (srtarg[k] + all.a[vm][k]); + all.a[vm][k]= (pqtarg[k] + srtarg[k] + alpha * all.a[vm][k]) + / (2 + alpha); note_computed(vm,k); } } @@ -151,7 +155,9 @@ static void interpolate(void) { } } -#if 0 +#endif + +#if 1 static void interpolate_line(int startvertex, int direction /* edge number */, @@ -222,7 +228,7 @@ static void interpolate(void) { int x,y; for (y=0; y<(Y+1)/2; y+=INC) { - interpolate_line(y<>1)&1), 0, OX*2+1); } for (x=0; x