def eval(self, t): (s, i, u) = self.getSegment(t) if s < 0: return self.startConfig() elif s >= len(self.sections): return self.endConfig() if u == 0: return self.sections[s].milestones[i] return vectorops.interpolate(self.sections[s].milestones[i], self.sections[s].milestones[i + 1], u)
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)]
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)]
def interpolate(self,a,b,u): return vectorops.interpolate(a,b,u)
def eval(self,t): (s,i,u) = self.getSegment(t) if s < 0: return self.startConfig() elif s >= len(self.sections): return self.endConfig() if u==0: return self.sections[s].milestones[i] return vectorops.interpolate(self.sections[s].milestones[i],self.sections[s].milestones[i+1],u)
def interpolate(self,a,b,u): """Can override this to implement non-cartesian spaces. Interpolates along the geodesic from a to b.""" return vectorops.interpolate(a,b,u)
def interpolate(self, a, b, u): return vectorops.interpolate(a, b, u)
def interpolate(self,a,b,u): """Can override this to implement non-cartesian spaces""" return vectorops.interpolate(a,b,u)
def interpolate(T1, T2, u): """Interpolate linearly between the two transformations T1 and T2.""" return (so3.interpolate(T1[0], T2[0], u), vectorops.interpolate(T1[1], T2[1], u))
def interpolate(T1,T2,u): """Interpolate linearly between the two transformations T1 and T2.""" return (so3.interpolate(T1[0],T2[0],u),vectorops.interpolate(T1[1],T2[1],u))