/* * call-seq: * dvector.make_bezier_control_points_for_cubic_in_x(x0, y0, delta_x, a, b, c) * * Replaces contents of _dvector_ by control points for Bezier curve. * The cubic, y(x), is defined from x0 to x0+delta_x. * At location x = x0 + dx, with dx between 0 and delta_x, define y = a*dx^3 + b*dx^2 + c*dx + y0. * This routine replaces the contents of _dest_ by [x1, y1, x2, y2, x3, y3], * the Bezier control points to match this cubic. * */ VALUE dvector_make_bezier_control_points_for_cubic_in_x(VALUE dest, VALUE x0, VALUE y0, VALUE delta_x, VALUE a, VALUE b, VALUE c) { x0 = rb_Float(x0); y0 = rb_Float(y0); delta_x = rb_Float(delta_x); a = rb_Float(a); b = rb_Float(b); c = rb_Float(c); return c_make_bezier_control_points_for_cubic_in_x(dest, NUM2DBL(x0), NUM2DBL(y0), NUM2DBL(delta_x), NUM2DBL(a), NUM2DBL(b), NUM2DBL(c)); }