Lines Matching defs:bz
101 void sbasis_to_bezier (Bezier & bz, SBasis const& sb, size_t sz)
128 bz.clear();
129 bz.resize(n+1);
136 bz[j] += (Tjk * sb[k][0]);
137 bz[n-j] += (Tjk * sb[k][1]); // n-k <-> [k][1]
142 bz[q] += sb[q][0];
148 bz[j] /= binomial(n, j);
150 bz[0] = sb[0][0];
151 bz[n] = sb[0][1];
154 void sbasis_to_bezier(D2<Bezier> &bz, D2<SBasis> const &sb, size_t sz)
159 sbasis_to_bezier(bz[X], sb[X], sz);
160 sbasis_to_bezier(bz[Y], sb[Y], sz);
169 void sbasis_to_bezier (std::vector<Point> & bz, D2<SBasis> const& sb, size_t sz)
173 bz = bezier_points(bez);
185 void sbasis_to_cubic_bezier (std::vector<Point> & bz, D2<SBasis> const& sb)
199 sbasis_to_bezier(bz, sb, 4); // zeroth-order estimate
202 Geom::ConvexHull bezhull(bz);
240 midx = 8*midx - 4*bz[0][X] - 4*bz[3][X]; // re-define relative to center
241 midy = 8*midy - 4*bz[0][Y] - 4*bz[3][Y];
261 double test1 = (bz[1][Y] - bz[0][Y])*(bz[3][X] - bz[0][X]) - (bz[1][X] - bz[0][X])*(bz[3][Y] - bz[0][Y]);
262 double test2 = (bz[2][Y] - bz[0][Y])*(bz[3][X] - bz[0][X]) - (bz[2][X] - bz[0][X])*(bz[3][Y] - bz[0][Y]);
294 numer = midx*(bz[3][Y] - bz[0][Y]) - midy*(bz[3][X] - bz[0][X]);
301 delx[i] = (bz[3][X] - bz[0][X])/3;
302 dely[i] = (bz[3][Y] - bz[0][Y])/3;
306 bz[1][X] = bz[0][X] + delx[0];
307 bz[1][Y] = bz[0][Y] + dely[0];
308 bz[2][X] = bz[3][X] - delx[1];
309 bz[2][Y] = bz[3][Y] - dely[1];
320 void bezier_to_sbasis (SBasis & sb, Bezier const& bz)
322 size_t n = bz.order();
333 sb[j][0] += (Tjk * bz[k]);
334 sb[j][1] += (Tjk * bz[n-k]); // n-j <-> [j][1]
339 sb[j][0] += (Tjk * bz[n-k]);
340 sb[j][1] += (Tjk * bz[k]); // n-j <-> [j][1]
348 sb[q][0] += (Tjk * (bz[k] + bz[n-k]));
350 sb[q][0] += (binomial(n, q) * bz[q]);
353 sb[0][0] = bz[0];
354 sb[0][1] = bz[n];
366 void bezier_to_sbasis (D2<SBasis> & sb, std::vector<Point> const& bz)
368 size_t n = bz.size() - 1;
381 sb[X][j][0] += (Tjk * bz[k][X]);
382 sb[X][j][1] += (Tjk * bz[n-k][X]);
383 sb[Y][j][0] += (Tjk * bz[k][Y]);
384 sb[Y][j][1] += (Tjk * bz[n-k][Y]);
389 sb[X][j][0] += (Tjk * bz[n-k][X]);
390 sb[X][j][1] += (Tjk * bz[k][X]);
391 sb[Y][j][0] += (Tjk * bz[n-k][Y]);
392 sb[Y][j][1] += (Tjk * bz[k][Y]);
400 sb[X][q][0] += (Tjk * (bz[k][X] + bz[n-k][X]));
401 sb[Y][q][0] += (Tjk * (bz[k][Y] + bz[n-k][Y]));
403 sb[X][q][0] += (binomial(n, q) * bz[q][X]);
405 sb[Y][q][0] += (binomial(n, q) * bz[q][Y]);
408 sb[X][0][0] = bz[0][X];
409 sb[X][0][1] = bz[n][X];
410 sb[Y][0][0] = bz[0][Y];
411 sb[Y][0][1] = bz[n][Y];