parameters: (x1,x2,x3,x4,u=0.5)
return_statement: return [(x1,p1,q1,r1),(r1,q2,p3,x4)]
docstring: Subdivides a Bezier curve at the parameter u
docstring_summary: Subdivides a Bezier curve at the parameter u
docstring_tokens: Subdivides a Bezier curve at the parameter u
function: def bezier_subdivide(x1,x2,x3,x4,u=0.5):
      """Subdivides a Bezier curve at the parameter u"""
      p1 = vectorops.interpolate(x1,x2,u)
      p2 = vectorops.interpolate(x2,x3,u)
      p3 = vectorops.interpolate(x3,x4,u)
      q1 = vectorops.interpolate(p1,p2,u)
      q2 = vectorops.interpolate(p2,p3,u)
      r1 = vectorops.interpolate(q1,q2,u)
      return [(x1,p1,q1,r1),(r1,q2,p3,x4)]
function_tokens: def bezier_subdivide ( x1 , x2 , x3 , x4 , u = 0.5 ) : p1 = vectorops . interpolate ( x1 , x2 , u ) p2 = vectorops . interpolate ( x2 , x3 , u ) p3 = vectorops . interpolate ( x3 , x4 , u ) q1 = vectorops . interpolate ( p1 , p2 , u ) q2 = vectorops . interpolate ( p2 , p3 , u ) r1 = vectorops . interpolate ( q1 , q2 , u ) return [ ( x1 , p1 , q1 , r1 ) , ( r1 , q2 , p3 , x4 ) ]