3b1b / 3b1b/manim

Decimal number Updaters to graphs

オープン
#1,891 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
93.8k
フォーク
7.7k
PR マージ指標
PR 指標を取得中

説明

Hi everyone i don't know how to create this animation: add a decimal number "a", With the change of a, y also changes, y=a, and create a rectangular coordinate system with time as the horizontal axis and y as the vertical axis. Updater and ValueTracker seems to have no effect. Elteoremadebeethoven made a tutorial about updaters. (without graphs) But it's still hard to make this animation with graph. Here is my code:

```
class UpdaterTest9(GraphScene):
def construct(self):
# global number_value
numberplane = NumberPlane()
self.add(numberplane)
self.setup_axes()
line = Square()
line2 = Circle()
number = DecimalNumber(0, num_decimal_places=5)

# number.add_updater(lambda m: m.set_value(get_area(line)))
def number_updater(obj):
obj.add_updater(lambda m: m.set_value(get_area(line)))

# self.get_graph(lambda x: x.set_value(get_area(line)))
number.add_updater(number_updater)
# if number.get_value() != 0:
number_value = number.get_value()
graph = self.get_graph(
x_values=[0, number_value],
y_values=[0, number_value],
# func=lambda x: 0
func=number_value
)
graph.add_updater(number_updater)
self.add(number, graph)
self.play(Transform(line, line2), rate_func=linear, run_time=8)
self.wait(2)
```
```

class UpdaterTest10(GraphScene):
def construct(self):
# global number_value
numberplane = NumberPlane()
self.add(numberplane)
self.setup_axes()
line = Square()
line2 = Circle()
vt = ValueTracker(0)
number = DecimalNumber(0, num_decimal_places=5)

# numberv = ChangeDecimalToValue(decimal_mob=number)
# numberv = CountInDecimal()

# number.add_updater(lambda m: m.set_value(get_area(line)))

def number_updater(obj):
obj.add_updater(lambda m: m.set_value(vt.get_value(get_area(line))))

# self.get_graph(lambda x: x.set_value(get_area(line)))
number.add_updater(number_updater)
# if number.get_value() != 0:
number_value = number

# number_value.add_updater(lambda m: m.set_value(number))
def number_value_updater(obj):
obj.add_updater(lambda m: m.set_value(number))

# graph = self.get_graph(
# x_values=[],
# y_values=[],
# # func=lambda x: 0
# func=number_value_updater(obj)
#
# ).add_updater(number_value_updater)
graph = FunctionGraph(function=number_updater)

graph.add_updater(number_updater)
self.add(number, graph)
self.play(Transform(line, line2), rate_func=linear, run_time=8)
self.wait(2)
```

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。