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)
Exemple #2
0
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)]
Exemple #3
0
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)]
Exemple #4
0
 def interpolate(self,a,b,u):
     return vectorops.interpolate(a,b,u)
Exemple #5
0
 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)
Exemple #6
0
	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)
Exemple #7
0
 def interpolate(self, a, b, u):
     return vectorops.interpolate(a, b, u)
Exemple #8
0
	def interpolate(self,a,b,u):
		"""Can override this to implement non-cartesian spaces"""
		return vectorops.interpolate(a,b,u)
Exemple #9
0
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))
Exemple #10
0
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))