/* See {PZGeo3.h} */ #include /* Last edited on 2007-01-25 10:11:33 by stolfi */ #define PZGeo3_C_author \ "Created by J. Stolfi and H. C. G. Leitão in 1999.\n" \ "Adapted by L. A. P. Lozada, 1999-2000." #include #define _GNU_SOURCE #include #include r3_t PZGeo3_LinearInterpolate(double t, double a, r3_t *pa, double b, r3_t *pb) { double Ca, Cb; if ((b - a) != 0.0) { Ca = (b - t)/(b - a); Cb = 1 - Ca; } else { Ca = 0.5; Cb = 0.5; } return (r3_t) {{ Ca*pa->c[0] + Cb*pb->c[0], Ca*pa->c[1] + Cb*pb->c[1], Ca*pa->c[2] + Cb*pb->c[2] }}; }