mirror of
https://github.com/3b1b/manim.git
synced 2025-08-05 16:49:03 +00:00
incremental progress
This commit is contained in:
parent
2c4fa36073
commit
082d67ec84
1 changed files with 35 additions and 34 deletions
|
@ -1211,7 +1211,7 @@ class BackToEulerSumScene(PiCreatureScene):
|
|||
|
||||
|
||||
def construct(self):
|
||||
#self.remove(self.get_primary_pi_creature())
|
||||
self.remove(self.get_primary_pi_creature())
|
||||
|
||||
NUM_CONES = 7
|
||||
NUM_VISIBLE_CONES = 6
|
||||
|
@ -1232,7 +1232,7 @@ class BackToEulerSumScene(PiCreatureScene):
|
|||
)
|
||||
|
||||
self.number_line.label_direction = DOWN
|
||||
self.number_line.shift(3*UP)
|
||||
#self.number_line.shift(3*UP)
|
||||
|
||||
self.number_line_labels = self.number_line.get_number_mobjects()
|
||||
self.add(self.number_line,self.number_line_labels)
|
||||
|
@ -1256,7 +1256,7 @@ class BackToEulerSumScene(PiCreatureScene):
|
|||
bubble = ThoughtBubble(direction = RIGHT,
|
||||
width = 4, height = 3,
|
||||
file_name = "Bubbles_thought.svg")
|
||||
bubble.next_to(randy,LEFT)
|
||||
bubble.next_to(randy,LEFT+UP)
|
||||
bubble.set_fill(color = BLACK, opacity = 1)
|
||||
|
||||
self.play(
|
||||
|
@ -1295,58 +1295,57 @@ class BackToEulerSumScene(PiCreatureScene):
|
|||
self.play(SwitchOn(light_source.ambient_light))
|
||||
|
||||
|
||||
# create an indicator and move a copy of it into the thought bubble
|
||||
# create an indicator that will move along the number line
|
||||
indicator = LightIndicator(color = LIGHT_COLOR,
|
||||
radius = INDICATOR_RADIUS,
|
||||
opacity_for_unit_intensity = 0.2, #OPACITY_FOR_UNIT_INTENSITY,
|
||||
show_reading = False
|
||||
)
|
||||
)
|
||||
indicator_reading = euler_sum[0]
|
||||
indicator_reading.scale_to_fit_height(0.5 * indicator.get_height())
|
||||
indicator_reading.move_to(indicator.get_center())
|
||||
indicator.add(indicator_reading)
|
||||
indicator.tex_reading = indicator_reading
|
||||
indicator.foreground.set_fill(None,opacities[0])
|
||||
|
||||
indicator.move_to(point)
|
||||
indicator.set_intensity(intensities[0])
|
||||
|
||||
self.play(FadeIn(indicator))
|
||||
indicator_copy = indicator.deepcopy()
|
||||
self.add_foreground_mobject(indicator_copy)
|
||||
self.play(indicator_copy.move_to, bubble)
|
||||
|
||||
moving_light_source = light_source.deepcopy()
|
||||
|
||||
|
||||
ls = []
|
||||
ls.append(moving_light_source)
|
||||
self.add_foreground_mobject(indicator)
|
||||
|
||||
collection_point = np.array([-5,2,0])
|
||||
|
||||
for i in range(2,NUM_VISIBLE_CONES + 1):
|
||||
|
||||
|
||||
for i in range(2, NUM_VISIBLE_CONES + 1):
|
||||
|
||||
previous_point = self.number_line.number_to_point(i - 1)
|
||||
point = self.number_line.number_to_point(i)
|
||||
|
||||
indicator_copy = indicator.deepcopy()
|
||||
indicator_copy.move_to(previous_point)
|
||||
self.add_foreground_mobject(indicator_copy)
|
||||
|
||||
# Create and position the target indicator (next on number line).
|
||||
indicator_target = indicator.deepcopy()
|
||||
indicator_target.move_to(point)
|
||||
|
||||
ls[-1].set_max_opacity_ambient(0.0001)
|
||||
self.add(ls[-1].ambient_light)
|
||||
ls.append(ls[-1].deepcopy())
|
||||
|
||||
ls[-1].move_source_to(point)
|
||||
ls[-1].set_max_opacity_ambient(0.5)
|
||||
|
||||
bubble_indicator = indicator_copy.deepcopy()
|
||||
# Here we make a copy that will move into the thought bubble.
|
||||
bubble_indicator = indicator.deepcopy()
|
||||
# And its target
|
||||
bubble_indicator_target = bubble_indicator.deepcopy()
|
||||
bubble_indicator_target.set_intensity(intensities[i-1])
|
||||
bubble_indicator_target.reading = euler_sum[-2+2*i]
|
||||
bubble_indicator_target.set_intensity(intensities[i - 2])
|
||||
|
||||
# give the target the appropriate reading
|
||||
bubble_indicator_target.remove(bubble_indicator_target.tex_reading)
|
||||
bubble_indicator_target.tex_reading = euler_sum[2*i-4]
|
||||
bubble_indicator_target.add(bubble_indicator_target.tex_reading)
|
||||
# center it in the indicator
|
||||
bubble_indicator_target.tex_reading.move_to(
|
||||
bubble_indicator_target.get_center())
|
||||
|
||||
bubble_indicator_target.reading.scale_to_fit_height(0.8*indicator.get_height())
|
||||
bubble_indicator_target.move_to(bubble)
|
||||
|
||||
# position the target in the thought bubble
|
||||
print "center:", bubble_indicator_target.get_center()
|
||||
bubble_indicator_target.move_to(collection_point)
|
||||
print "-center:", bubble_indicator_target.get_center()
|
||||
|
||||
self.add_foreground_mobject(bubble_indicator)
|
||||
|
||||
|
@ -1355,11 +1354,13 @@ class BackToEulerSumScene(PiCreatureScene):
|
|||
)
|
||||
|
||||
self.play(
|
||||
Transform(ls[-2], ls[-1]),
|
||||
Transform(indicator_copy,indicator_target),
|
||||
|
||||
Transform(indicator,indicator_target),
|
||||
)
|
||||
|
||||
new_light = light_source.deepcopy()
|
||||
new_light.move_source_to(point)
|
||||
self.play(SwitchOn(new_light.ambient_light))
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue