Lines Matching refs:yprime
188 double xprime[2], yprime[2];
208 yprime[i] = sb[Y][0][1] - sb[Y][0][0];
215 yprime[0] += sb[Y][1][0];
216 yprime[1] -= sb[Y][1][1];
243 if ((std::abs(xprime[0]) < EPSILON) && (std::abs(yprime[0]) < EPSILON)
244 && ((std::abs(xprime[1]) > EPSILON) || (std::abs(yprime[1]) > EPSILON))) { // degenerate handle at 0 : use distance of closest approach
245 numer = midx*xprime[1] + midy*yprime[1];
246 denom = 3.0*(xprime[1]*xprime[1] + yprime[1]*yprime[1]);
250 dely[1] = -yprime[1]*numer/denom;
251 } else if ((std::abs(xprime[1]) < EPSILON) && (std::abs(yprime[1]) < EPSILON)
252 && ((std::abs(xprime[0]) > EPSILON) || (std::abs(yprime[0]) > EPSILON))) { // degenerate handle at 1 : ditto
253 numer = midx*xprime[0] + midy*yprime[0];
254 denom = 3.0*(xprime[0]*xprime[0] + yprime[0]*yprime[0]);
256 dely[0] = yprime[0]*numer/denom;
259 } else if (std::abs(xprime[1]*yprime[0] - yprime[1]*xprime[0]) > // general case : fit mid fxn value
260 0.002 * std::abs(xprime[1]*xprime[0] + yprime[1]*yprime[0])) { // approx. 0.1 degree of angle
265 denom = 3.0*(xprime[1]*yprime[0] - yprime[1]*xprime[0]);
267 numer = xprime[1 - i]*midy - yprime[1 - i]*midx;
269 dely[i] = yprime[i]*numer/denom;
271 } else if ((xprime[0]*xprime[1] < 0) || (yprime[0]*yprime[1] < 0)) { // symmetric case : use distance of closest approach
272 numer = midx*xprime[0] + midy*yprime[0];
273 denom = 6.0*(xprime[0]*xprime[0] + yprime[0]*yprime[0]);
275 dely[0] = yprime[0]*numer/denom;
292 if (midx*yprime[0] != midy*xprime[0]) {
293 denom = midx*yprime[0] - midy*xprime[0];
297 dely[i] = yprime[0]*numer/denom;