Randolph and Mortimer

This commit is contained in:
Grant Sanderson
2015-06-13 19:00:23 -07:00
parent e47f240840
commit 344290068c
18 changed files with 414 additions and 279 deletions

View File

@ -88,10 +88,23 @@ class Mobject(object):
def shift(self, vector):
cycle = it.cycle(vector)
v = np.array([cycle.next() for x in range(self.points.size)]).reshape(self.points.shape)
v = np.array([
cycle.next()
for x in range(self.points.size)
]).reshape(self.points.shape)
self.points += v
return self
def wag(self, wag_direction = [0, 1, 0], wag_axis = [-1, 0, 0]):
alphas = np.dot(self.points, np.transpose(wag_axis))
alphas -= min(alphas)
alphas /= max(alphas)
self.points += np.dot(
alphas.reshape((len(alphas), 1)),
np.array(wag_direction).reshape((1, 3))
)
return self
def center(self):
self.shift(-self.get_center())
return self
@ -116,9 +129,6 @@ class Mobject(object):
self.add_points(points, rgbs)
return self
def get_num_points(self):
return self.points.shape[0]
def pose_at_angle(self):
self.rotate(np.pi / 7)
self.rotate(np.pi / 7, [1, 0, 0])
@ -155,6 +165,10 @@ class Mobject(object):
return self
### Getters ###
def get_num_points(self):
return self.points.shape[0]
def get_center(self):
return np.apply_along_axis(np.mean, 0, self.points)