3101 lines
86 KiB
Python

from manim import *
from manim_physics import *
from manim_circuit import *
import random as rn
class ef1(Scene):
def construct(self):
self.camera.background_color = WHITE
charge1 = Charge(3, 2 * LEFT)
charge2 = Charge(-3, 2 * RIGHT)
self.add(charge1, charge2)
class ef2(Scene):
def construct(self):
self.camera.background_color = WHITE
charge1 = Charge(3, 2 * LEFT)
charge2 = Charge(3, 2 * RIGHT)
fv1 = LabeledArrow(
r"\vec{F}_e",
label_color=BLACK,
frame_fill_color=WHITE,
start=2 * LEFT,
end=4 * LEFT,
color=BLACK,
)
fv2 = LabeledArrow(
r"\vec{F}_e",
label_color=BLACK,
frame_fill_color=WHITE,
start=2 * RIGHT,
end=4 * RIGHT,
color=BLACK,
)
self.add(charge1, charge2, fv1, fv2)
class ef3(Scene):
def construct(self):
self.camera.background_color = WHITE
charge1 = Charge(3, 2 * LEFT)
charge2 = Charge(-3, 2 * RIGHT)
fv1 = LabeledArrow(
r"\vec{F}_e",
label_color=BLACK,
frame_fill_color=WHITE,
start=2 * LEFT,
end=ORIGIN,
color=BLACK,
)
fv2 = LabeledArrow(
r"\vec{F}_e",
label_color=BLACK,
frame_fill_color=WHITE,
start=2 * RIGHT,
end=ORIGIN,
color=BLACK,
)
self.add(charge1, charge2, fv1, fv2)
class ef4(Scene):
def construct(self):
self.camera.background_color = WHITE
charge = Charge(3, ORIGIN)
field = ElectricField(charge)
self.add(charge, field)
class ef5(Scene):
def construct(self):
self.camera.background_color = WHITE
charge = Charge(3)
field = ElectricField(charge)
p = LabeledDot(MathTex("P_1"), color=BLACK).move_to([3, 3, 0])
dv1 = LabeledArrow(
r"\vec{r}",
label_color=BLACK,
frame_fill_color=WHITE,
start=ORIGIN,
end=[3, 3, 0],
color=RED,
)
dv2 = LabeledArrow(
r"\vec{e}_r",
label_color=BLACK,
frame_fill_color=WHITE,
start=ORIGIN,
end=[1.3, 1.3, 0],
color=BLUE,
)
self.add(
field,
dv1,
dv2,
charge,
p,
)
class ef7(Scene):
def construct(self):
self.camera.background_color = WHITE
charge1 = Charge(3, 2 * LEFT)
charge2 = Charge(3, 2 * RIGHT)
field = ElectricField(charge1, charge2)
fv1 = LabeledArrow(
r"\vec{e}_r",
label_color=BLACK,
frame_fill_color=WHITE,
start=2 * RIGHT,
end=4 * RIGHT,
color=BLACK,
)
fv2 = LabeledArrow(
r"\vec{e}_r",
label_color=BLACK,
frame_fill_color=WHITE,
start=2 * LEFT,
end=4 * LEFT,
color=BLACK,
)
self.add(
field,
charge1,
charge2,
fv1,
fv2,
)
class ef6(Scene):
def construct(self):
self.camera.background_color = WHITE
charge1 = Charge(3, 2 * LEFT)
charge2 = Charge(3, 2 * RIGHT)
fv = LabeledArrow(
r"\vec{e}_r",
label_color=BLACK,
frame_fill_color=WHITE,
start=2 * RIGHT,
end=4 * RIGHT,
color=BLACK,
)
self.add(charge1, charge2, fv)
class ef8(Scene):
def construct(self):
self.camera.background_color = WHITE
charge1 = Charge(6)
charge2 = Charge(3, 2 * RIGHT)
charge3 = Charge(-3, 2 * LEFT)
field = ElectricField(charge1)
fv1 = LabeledArrow(
r"\vec{e}_r",
label_color=BLACK,
frame_fill_color=WHITE,
start=2 * RIGHT,
end=4 * RIGHT,
color=BLACK,
)
fv2 = LabeledArrow(
r"\vec{e}_r",
label_color=BLACK,
frame_fill_color=WHITE,
start=2 * LEFT,
end=ORIGIN,
color=BLACK,
)
self.add(
field,
charge1,
charge2,
charge3,
fv1,
fv2,
)
class ef9(ThreeDScene):
def construct(self):
self.camera.background_color = WHITE
plate = Polygon(
[0, -2.5, 2.5],
[0, 3.5, 2.5],
[0, 3.5, -1.5],
[0, -2.5, -1.5],
color=GREY,
fill_color=GREY,
fill_opacity=0.25,
)
vec1 = Arrow3D(start=[-2, 0, 0], end=[2, 0, 0], color=BLUE)
vec2 = Arrow3D(start=[-2, -1, 0], end=[2, -1, 0], color=BLUE)
vec3 = Arrow3D(start=[-2, 1, 0], end=[2, 1, 0], color=BLUE)
vec4 = Arrow3D(start=[-2, 0, -1], end=[2, 0, -1], color=BLUE)
vec5 = Arrow3D(start=[-2, 0, 1], end=[2, 0, 1], color=BLUE)
self.set_camera_orientation(PI / 3, PI / 4)
self.add(vec1, vec2, vec3, vec4, vec5, plate)
class ef10(ThreeDScene):
def construct(self):
self.camera.background_color = WHITE
line = Line(
[4, -6, 0],
[2, -2, 0],
color=BLACK,
)
chargel1 = Charge(1, [4, -6.3, 0])
chargel2 = Charge(1, [4, -5.8, 0])
chargel3 = Charge(-1, [2, -2.2, 0])
chargel4 = Charge(-1, [2, -1.8, 0])
plane = Polygon(
[0, -2, 0],
[2, 0, 0],
[0, 2, 0],
[-2, 0, 0],
color=GREY,
fill_color=GREY,
fill_opacity=0.25,
)
chargep1 = Charge(1, [0.5, -1.5, 0])
chargep2 = Charge(1, [1.5, -0.5, 0])
chargep3 = Charge(-1, [-1.5, 0.5, 0])
chargep4 = Charge(-1, [-0.5, 1.5, 0])
sphere = Sphere(
[-3, 3, 0],
fill_opacity=0.5,
checkerboard_colors=[BLUE, BLUE],
stroke_width=0,
)
charges1 = Charge(1, [-2, 2, 0])
charges2 = Charge(-1, [-4, 4, 0])
self.set_camera_orientation(PI / 3, PI / 4)
self.add(
line,
chargel1,
chargel2,
chargel3,
chargel4,
plane,
chargep1,
chargep2,
chargep3,
chargep4,
sphere,
charges1,
charges2,
)
class ef11(Scene):
def construct(self):
self.camera.background_color = WHITE
randc = VGroup()
x1 = rn.randint(-4, 4)
y1 = rn.randint(-4, 4)
x2 = rn.randint(-4, 4)
y2 = rn.randint(-4, 4)
x3 = rn.randint(-4, 4)
y3 = rn.randint(-4, 4)
x4 = rn.randint(-4, 4)
y4 = rn.randint(-4, 4)
x5 = rn.randint(-4, 4)
y5 = rn.randint(-4, 4)
x6 = rn.randint(-4, 4)
y6 = rn.randint(-4, 4)
x7 = rn.randint(-4, 4)
y7 = rn.randint(-4, 4)
x8 = rn.randint(-4, 4)
y8 = rn.randint(-4, 4)
x9 = rn.randint(-4, 4)
y9 = rn.randint(-4, 4)
x10 = rn.randint(-4, 4)
y10 = rn.randint(-4, 4)
charge1 = Charge(
1,
[x1, y1, 0],
)
charge2 = Charge(
1,
[x2, y2, 0],
)
charge3 = Charge(
1,
[x3, y3, 0],
)
charge4 = Charge(
1,
[x4, y4, 0],
)
charge5 = Charge(
1,
[x5, y5, 0],
)
charge6 = Charge(
1,
[x6, y6, 0],
)
charge7 = Charge(
1,
[x7, y7, 0],
)
charge8 = Charge(
1,
[x8, y8, 0],
)
charge9 = Charge(
1,
[x9, y9, 0],
)
charge10 = Charge(
1,
[x10, y10, 0],
)
field = ElectricField(
charge1,
charge2,
charge3,
charge4,
charge5,
charge6,
charge7,
charge8,
charge9,
charge10,
)
plane = Polygon(
[-2, 2, 0],
[2, 2, 0],
[2, -2, 0],
[-2, -2, 0],
color=GREY,
fill_color=GREY,
fill_opacity=0.25,
)
self.add(field, plane)
class ef12(Scene):
def construct(self):
self.camera.background_color = WHITE
charge = Charge(1, [0, -1000, 0])
field = ElectricField(charge, color=BLUE, x_range=[-2, 2], y_range=[-2, 1.5])
plane = Polygon(
[-2, 2, 0],
[2, 2, 0],
[2, -2, 0],
[-2, -2, 0],
color=GREY,
fill_color=GREY,
fill_opacity=0.25,
)
vece = Arrow([-4, -2, 0], [-4, 2, 0], color=YELLOW)
self.add(field, plane, vece)
class ef13(Scene):
def construct(self):
self.camera.background_color = WHITE
plane1 = Polygon(
[3, 10, 0],
[-10, 10, 0],
[-10, -10, 0],
[-3, -10, 0],
color=BLUE,
fill_color=BLUE,
fill_opacity=0.25,
)
plane2 = Polygon(
[3, 10, 0],
[10, 10, 0],
[10, -10, 0],
[-3, -10, 0],
color=RED,
fill_color=RED,
fill_opacity=0.25,
)
vec1 = Arrow([-4, -2, 0], [0, 0, 0], color=GREEN)
vec2 = Arrow([0, 0, 0], [4, 1, 0], color=GREEN)
text1 = MathTex(r"\epsilon_1", color=BLACK).move_to([-5, 3, 0])
text2 = MathTex(r"\epsilon_2", color=BLACK).move_to([5, 3, 0])
self.add(plane1, plane2, vec1, vec2, text1, text2)
class ef15(Scene):
def construct(self):
self.camera.background_color = WHITE
plane1 = Line([-1, 2, 0], [-1, -2, 0], color=RED)
plane2 = Line([1, 2, 0], [1, -2, 0], color=BLUE)
evec1 = Arrow([-0.8, 2, 0], [0.8, 2, 0], color=RED)
evec2 = Arrow([-0.8, 1, 0], [0.8, 1, 0], color=RED)
evec3 = Arrow([-0.8, 0, 0], [0.8, 0, 0], color=RED)
evec4 = Arrow([-0.8, -1, 0], [0.8, -1, 0], color=RED)
evec5 = Arrow([-0.8, -2, 0], [0.8, -2, 0], color=RED)
box = Polygon(
[-3, 3, 0], [3, 3, 0], [3, -3, 0], [-3, -3, 0], color=RED, fill_opacity=0
)
self.add(plane1, plane2, evec1, evec2, evec3, evec4, evec5, box)
class ef14(Scene):
def construct(self):
self.camera.background_color = WHITE
cabell = Line([-5, 0, 0], [-1, 0, 0], color=BLACK)
cabelr = Line([1, 0, 0], [5, 0, 0], color=BLACK)
plane1 = Line([-1, 2, 0], [-1, -2, 0], color=RED)
plane2 = Line([1, 2, 0], [1, -2, 0], color=BLUE)
evec1 = Arrow([-0.8, 2, 0], [0.8, 2, 0], color=RED)
evec2 = Arrow([-0.8, 1, 0], [0.8, 1, 0], color=RED)
evec3 = Arrow([-0.8, 0, 0], [0.8, 0, 0], color=RED)
evec4 = Arrow([-0.8, -1, 0], [0.8, -1, 0], color=RED)
evec5 = Arrow([-0.8, -2, 0], [0.8, -2, 0], color=RED)
text1 = MathTex(r"+", color=BLACK).move_to([-1, 3, 0])
text2 = MathTex(r"-", color=BLACK).move_to([1, 3, 0])
self.add(
cabell,
cabelr,
plane1,
plane2,
evec1,
evec2,
evec3,
evec4,
evec5,
text1,
text2,
)
class ef17(Scene):
def construct(self):
self.camera.background_color = WHITE
cabell = Line([-5, 0, 0], [-1, 0, 0], color=BLACK)
cabelr = Line([1, 0, 0], [5, 0, 0], color=BLACK)
plane1 = Line([-1, 2, 0], [-1, -2, 0], color=RED)
plane2 = Line([1, 2, 0], [1, -2, 0], color=BLUE)
evec1 = Arrow([-0.8, 2, 0], [0.8, 2, 0], color=RED)
evec2 = Arrow([-0.8, 1, 0], [0.8, 1, 0], color=RED)
evec3 = Arrow([-0.8, 0, 0], [0.8, 0, 0], color=RED)
evec4 = Arrow([-0.8, -1, 0], [0.8, -1, 0], color=RED)
evec5 = Arrow([-0.8, -2, 0], [0.8, -2, 0], color=RED)
text1 = MathTex(r"+", color=BLACK).move_to([-1, 3, 0])
text2 = MathTex(r"-", color=BLACK).move_to([1, 3, 0])
text3 = MathTex(
r"\vec{E}",
color=RED,
).move_to([0, 0.5, 0])
text4 = MathTex(r"\vec{s}", color=ORANGE).move_to([0, -3, 0])
line = Arrow([1.3, 0, 0], [-1.3, 0, 0], color=ORANGE)
self.add(
cabell,
cabelr,
plane1,
plane2,
evec1,
evec2,
evec3,
evec4,
evec5,
text1,
text2,
text3,
text4,
line,
)
class ef16(Scene):
def construct(self):
self.camera.background_color = WHITE
cabell = Line([-5, 0, 0], [-1, 0, 0], color=BLACK)
cabelr = Line([1, 0, 0], [5, 0, 0], color=BLACK)
plane1 = Line([-1, 2, 0], [-1, -2, 0], color=RED)
plane2 = Line([1, 2, 0], [1, -2, 0], color=BLUE)
evec1 = Arrow([-0.8, 2, 0], [0.8, 2, 0], color=RED)
evec2 = Arrow([-0.8, 1, 0], [0.8, 1, 0], color=RED)
evec3 = Arrow([-0.8, 0, 0], [0.8, 0, 0], color=RED)
evec4 = Arrow([-0.8, -1, 0], [0.8, -1, 0], color=RED)
evec5 = Arrow([-0.8, -2, 0], [0.8, -2, 0], color=RED)
text1 = MathTex(r"+", color=BLACK).move_to([-1, 3, 0])
text2 = MathTex(r"-", color=BLACK).move_to([1, 3, 0])
text3 = MathTex(
r"\vec{D}",
color=RED,
).move_to([0, 0.5, 0])
text4 = MathTex(r"A", color=ORANGE).move_to([-0.75, -3, 0])
line = Line([-0.75, 2, 0], [-0.75, -2, 0], color=ORANGE)
self.add(
cabell,
cabelr,
plane1,
plane2,
evec1,
evec2,
evec3,
evec4,
evec5,
text1,
text2,
text3,
text4,
line,
)
class ef18(Scene):
def construct(self):
self.camera.background_color = WHITE
cabell = Line([-5, 0, 0], [-1, 0, 0], color=BLACK)
cabelr = Line([1, 0, 0], [5, 0, 0], color=BLACK)
plane1 = Line([-1, 2, 0], [-1, -2, 0], color=RED)
plane2 = Line([1, 2, 0], [1, -2, 0], color=BLUE)
text1 = MathTex(r"+", color=BLACK).move_to([-1, 3, 0])
text2 = MathTex(r"-", color=BLACK).move_to([1, 3, 0])
diel = Polygon(
[-1, 2, 0],
[0, 2, 0],
[0, -2, 0],
[-1, -2, 0],
color=GREEN,
fill_color=GREEN,
fill_opacity=0.75,
)
self.add(diel, cabell, cabelr, plane1, plane2, text1, text2)
class ef19(Scene):
def construct(self):
self.camera.background_color = WHITE
cabell = Line([-5, 0, 0], [-1, 0, 0], color=BLACK)
cabelr = Line([1, 0, 0], [5, 0, 0], color=BLACK)
plane1 = Line([-1, 2, 0], [-1, -2, 0], color=RED)
plane2 = Line([1, 2, 0], [1, -2, 0], color=BLUE)
text1 = MathTex(r"+", color=BLACK).move_to([-1, 3, 0])
text2 = MathTex(r"-", color=BLACK).move_to([1, 3, 0])
diel = Polygon(
[-1, 2, 0],
[1, 2, 0],
[1, 0, 0],
[-1, 0, 0],
color=GREEN,
fill_color=GREEN,
fill_opacity=0.75,
)
self.add(diel, cabell, cabelr, plane1, plane2, text1, text2)
class ef20(Scene):
def construct(self):
self.camera.background_color = WHITE
c0 = (
Capacitor(
label="",
)
.move_to([0, 2, 0])
.rotate(90 * DEGREES)
)
c1 = (
Capacitor(
label="",
polarized=False,
)
.rotate(90 * DEGREES)
.move_to([-1, 0, 0])
.set_color(BLACK)
)
c2 = (
Capacitor(
label="",
polarized=False,
)
.rotate(90 * DEGREES)
.move_to([0, 0, 0])
.set_color(BLACK)
)
cn = (
Capacitor(
label="",
polarized=False,
)
.rotate(90 * DEGREES)
.move_to([1, 0, 0])
.set_color(BLACK)
)
gnd = Ground(ground_type="earth").move_to([0, -2, 0])
circuit = Circuit()
self.add(circuit)
circuit.add_components(c1, c2, cn)
circuit.add_wire(c0.get_terminals("left"), c2.get_terminals("right"))
circuit.add_wire(
c1.get_terminals("right"),
[c1.get_terminals("right")[0], 1, 0],
)
circuit.add_wire(
cn.get_terminals("right"),
[cn.get_terminals("right")[0], 1, 0],
)
circuit.add_wire(
[c1.get_terminals("right")[0], 1, 0], [c2.get_terminals("right")[0], 1, 0]
)
circuit.add_wire(
[c2.get_terminals("right")[0], 1, 0], [cn.get_terminals("right")[0], 1, 0]
)
circuit.add_wire(c1.get_terminals("left"), [c1.get_terminals("left")[0], -1, 0])
circuit.add_wire(c2.get_terminals("left"), gnd.get_terminals())
circuit.add_wire(cn.get_terminals("left"), [cn.get_terminals("left")[0], -1, 0])
circuit.add_wire(
[c1.get_terminals("left")[0], -1, 0], [c2.get_terminals("left")[0], -1, 0]
)
circuit.add_wire(
[cn.get_terminals("left")[0], -1, 0], [c2.get_terminals("left")[0], -1, 0]
)
circuit.set_color(BLACK)
class ef21(Scene):
def construct(self):
self.camera.background_color = WHITE
c0 = (
Capacitor(
label="",
)
.move_to([0, 2, 0])
.rotate(90 * DEGREES)
)
c1 = (
Capacitor(
label="",
polarized=False,
)
.rotate(90 * DEGREES)
.move_to([0, 1, 0])
.set_color(BLACK)
)
c2 = (
Capacitor(
label="",
polarized=False,
)
.rotate(90 * DEGREES)
.move_to([0, 0, 0])
.set_color(BLACK)
)
cn = (
Capacitor(
label="",
polarized=False,
)
.rotate(90 * DEGREES)
.move_to([0, -1, 0])
.set_color(BLACK)
)
gnd = Ground(ground_type="earth").move_to([0, -2, 0])
circuit = Circuit()
self.add(circuit)
circuit.add_components(c1, c2, cn)
circuit.add_wire(c0.get_terminals("left"), c1.get_terminals("right"))
circuit.add_wire(c1.get_terminals("left"), c2.get_terminals("right"))
circuit.add_wire(c2.get_terminals("left"), cn.get_terminals("right"))
circuit.add_wire(cn.get_terminals("left"), gnd.get_terminals())
circuit.set_color(BLACK)
class magnet1(Scene):
def construct(self):
self.camera.background_color = WHITE
charge1 = Charge(-1, LEFT)
charge2 = Charge(1, RIGHT)
field = ElectricField(charge1, charge2)
fieldI = Arrow([-1, 0, 0], [1, 0, 0], color=YELLOW)
magnetP = Polygon(
[-1.5, 0.5, 0],
[-1.5, -0.5, 0],
[0, -0.5, 0],
[0, 0.5, 0],
color=BLUE,
fill_color=BLUE,
fill_opacity=1,
)
textP = Text("S").move_to([-1, 0, 0])
magnetN = Polygon(
[1.5, 0.5, 0],
[1.5, -0.5, 0],
[0, -0.5, 0],
[0, 0.5, 0],
color=RED,
fill_color=RED,
fill_opacity=1,
)
textN = Text("N").move_to([1, 0, 0])
self.add(field, magnetP, magnetN, fieldI, textP, textN)
class ssf1(Scene):
def construct(self):
self.camera.background_color = WHITE
charge1 = Charge(1, 1 * LEFT)
charge2 = Charge(-1, 1 * RIGHT)
wire = Line(1 * LEFT, 1 * RIGHT, color=BLACK)
vec = LabeledArrow(
"I",
label_color=BLACK,
frame_fill_color=WHITE,
start=0.75 * LEFT + 0.5 * UP,
end=0.75 * RIGHT + 0.5 * UP,
color=BLACK,
)
self.add(charge1, charge2, wire, vec)
class ssf2(ThreeDScene):
def construct(self):
self.camera.background_color = WHITE
plate = Polygon(
[0, -2.5, 2.5],
[0, 2.5, 2.5],
[0, 2.5, -2.5],
[0, -2.5, -2.5],
color=GREY,
fill_color=GREY,
fill_opacity=0.25,
)
vec1 = Arrow3D(start=[-2, 0, 0], end=[2, 0, 0], color=BLUE)
vec2 = Arrow3D(start=[-2, -1, 0], end=[2, -1, 0], color=BLUE)
vec3 = Arrow3D(start=[-2, 1, 0], end=[2, 1, 0], color=BLUE)
vec4 = Arrow3D(start=[-2, 0, -1], end=[2, 0, -1], color=BLUE)
vec5 = Arrow3D(start=[-2, 0, 1], end=[2, 0, 1], color=BLUE)
label1 = (
MathTex(
r"\Delta A",
color=BLACK,
)
.rotate(160 * DEGREES, [0, 1, 1])
.move_to([-2, 0, 2])
)
label2 = (
MathTex(r"\vec{J}", color=BLUE)
.rotate(160 * DEGREES, [0, 1, 1])
.move_to([0, 0, 0.3])
)
self.set_camera_orientation(PI / 3, PI / 4)
self.add(vec1, vec2, vec3, vec4, vec5, plate, label1, label2)
class ssf3(Scene):
def construct(self):
self.camera.background_color = WHITE
c0 = Charge(1, [1000, 0, 0])
ef = ElectricField(c0)
c1 = Charge(1, [2, 3, 0])
c2 = Charge(1, [-2, 2, 0])
c3 = Charge(1, [1, -3, 0])
c4 = Charge(1, [-1, -1, 0])
c5 = Charge(1, [2, -1, 0])
c6 = Charge(-1, [2, 0, 0])
c7 = Charge(-1, [-4, -1, 0])
c8 = Charge(-1, [0, -2, 0])
c9 = Charge(-1, [3, -2, 0])
c10 = Charge(-1, [4, 2, 0])
a1 = Arrow([2, 0, 0], [3, 2, 0], color=BLACK, path_arc=-90 * DEGREES)
a2 = Arrow([-4, -1, 0], [-3, 1, 0], color=BLACK, path_arc=-90 * DEGREES)
a3 = Arrow([4, 2, 0], [5, 4, 0], color=BLACK, path_arc=-90 * DEGREES)
a4 = Arrow([0, -2, 0], [1, 0, 0], color=BLACK, path_arc=-90 * DEGREES)
a5 = Arrow([3, -2, 0], [4, 0, 0], color=BLACK, path_arc=-90 * DEGREES)
self.add(ef, a1, a2, a3, a4, a5, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10)
class ssf4(Scene):
def construct(self):
self.camera.background_color = WHITE
plane1 = Polygon(
[3, 10, 0],
[-10, 10, 0],
[-10, -10, 0],
[-3, -10, 0],
color=BLUE,
fill_color=BLUE,
fill_opacity=0.25,
)
plane2 = Polygon(
[3, 10, 0],
[10, 10, 0],
[10, -10, 0],
[-3, -10, 0],
color=RED,
fill_color=RED,
fill_opacity=0.25,
)
vec1 = Arrow([-4, -2, 0], [0, 0, 0], color=GREEN)
vec2 = Arrow([0, 0, 0], [4, 1, 0], color=GREEN)
text1 = MathTex(r"\kappa_1", color=BLACK).move_to([-5, 3, 0])
text2 = MathTex(r"\kappa_2", color=BLACK).move_to([5, 3, 0])
self.add(plane1, plane2, vec1, vec2, text1, text2)
class een1(Scene):
def construct(self):
self.camera.background_color = WHITE
r1 = Polygon(
[-0.5, 1, 0], [-0.5, 1.5, 0], [0.5, 1.5, 0], [0.5, 1, 0], color=BLACK
)
r1c1 = Line([-2, 1.25, 0], [-0.5, 1.25, 0], color=BLACK)
r1c2 = Line([0.5, 1.25, 0], [2, 1.25, 0], color=BLACK)
i1 = Arrow([0.75, 1.25, 0], [1.75, 1.25, 0], color=RED)
vo1 = Arrow([-0.5, 1.75, 0], [0.5, 1.75, 0], color=BLUE)
i = MathTex(r"I", color=RED).move_to([1.25, 1.75, 0])
v = MathTex(r"V", color=BLUE).move_to([0, 2.25, 0])
v1 = VoltageSource(direction=UP).rotate(-90 * DEGREES).move_to([0, -1, 0])
i2 = Arrow(
[0.75, v1.get_terminals("positive")[1], 0],
[1.75, v1.get_terminals("positive")[1], 0],
color=RED,
)
vo2 = Arrow([0.5, -0.25, 0], [-0.5, -0.25, 0], color=BLUE)
circuit = Circuit()
self.add(r1, r1c1, r1c2, i1, vo1, i, v, circuit, i2, vo2)
circuit.add_components(v1)
circuit.add_wire(
[-2, v1.get_terminals("negative")[1], 0], v1.get_terminals("negative")
)
circuit.add_wire(
[2, v1.get_terminals("positive")[1], 0], v1.get_terminals("positive")
)
circuit.set_color(BLACK)
class een2(Scene):
def construct(self):
self.camera.background_color = WHITE
c1 = (
Capacitor(label=False, direction=LEFT)
.move_to([-1, 0, 0])
.rotate(90 * DEGREES)
)
r1 = Polygon(
[0.75, 0.5, 0],
[1.25, 0.5, 0],
[1.25, -0.5, 0],
[0.75, -0.5, 0],
color=BLACK,
)
circuit = Circuit()
self.add(circuit, r1)
circuit.add_components(c1)
circuit.add_wire(
c1.get_terminals("right"),
[c1.get_terminals("right")[0], 1.5, 0],
)
circuit.add_wire(
[c1.get_terminals("right")[0], 1.5, 0], [1, 1.5, 0], junctions=False
)
circuit.add_wire([1, 1.5, 0], [1, 0.5, 0], junctions=False)
circuit.add_wire([1, -0.5, 0], [1, -1.5, 0])
circuit.add_wire(
[1, -1.5, 0], [c1.get_terminals("left")[0], -1.5, 0], junctions=False
)
circuit.add_wire(
[c1.get_terminals("left")[0], -1.5, 0],
c1.get_terminals("left"),
junctions=False,
)
circuit.set_color(BLACK)
class een3(Scene):
def construct(self):
self.camera.background_color = WHITE
v1 = VoltageSource().move_to([-1.5, 0, 0])
i1 = CurrentSource().move_to([1.5, 0, 0])
vo1 = Arrow([-0.25, 1.5, 0], [-0.25, -1.5, 0], color=BLUE)
iv1 = Arrow(
i1.get_terminals("positive"),
[i1.get_terminals("positive")[0], 1.5, 0],
color=RED,
)
circuit = Circuit()
self.add(circuit, vo1, iv1)
circuit.add_components(v1, i1)
circuit.add_wire(
v1.get_terminals("positive"), [v1.get_terminals("positive")[0], 1.5, 0]
)
circuit.add_wire(
v1.get_terminals("negative"), [v1.get_terminals("negative")[0], -1.5, 0]
)
circuit.add_wire(
i1.get_terminals("positive"), [i1.get_terminals("positive")[0], 1.5, 0]
)
circuit.add_wire(
i1.get_terminals("negative"), [i1.get_terminals("negative")[0], -1.5, 0]
)
circuit.set_color(BLACK)
class een4(Scene):
def construct(self):
self.camera.background_color = WHITE
p = Dot([-1.5, 1.5, 0], radius=0.08, color=BLACK)
r1 = Polygon(
[-0.5, 1.25, 0],
[-0.5, 1.75, 0],
[0.5, 1.75, 0],
[0.5, 1.25, 0],
color=BLACK,
)
r1c1 = Line([-1.5, 1.5, 0], [-0.5, 1.5, 0], color=BLACK)
r1c2 = Line([1.5, 1.5, 0], [0.5, 1.5, 0], color=BLACK)
r2 = Polygon(
[1.25, 0.5, 0],
[1.75, 0.5, 0],
[1.75, -0.5, 0],
[1.25, -0.5, 0],
color=BLACK,
)
r2c1 = Line([1.5, 1.5, 0], [1.5, 0.5, 0], color=BLACK)
r2c2 = Line([1.5, -0.5, 0], [1.5, -1.5, 0], color=BLACK)
r3 = Polygon(
[-0.5, -1.25, 0],
[-0.5, -1.75, 0],
[0.5, -1.75, 0],
[0.5, -1.25, 0],
color=BLACK,
)
r3c1 = Line([1.5, -1.5, 0], [0.5, -1.5, 0], color=BLACK)
r3c2 = Line([-1.5, -1.5, 0], [-0.5, -1.5, 0], color=BLACK)
r4 = Polygon(
[-1.25, -0.5, 0],
[-1.75, -0.5, 0],
[-1.75, 0.5, 0],
[-1.25, 0.5, 0],
color=BLACK,
)
r4c1 = Line([-1.5, -1.5, 0], [-1.5, -0.5, 0], color=BLACK)
r4c2 = Line([-1.5, 1.5, 0], [-1.5, 0.5, 0], color=BLACK)
pt = MathTex(r"P", color=BLACK).move_to([-1.5, 2, 0])
u1t = MathTex(r"U_1", color=BLUE).move_to([0, 2.5, 0])
u2t = MathTex(r"U_2", color=BLUE).move_to([2.5, 0, 0])
u3t = MathTex(r"U_3", color=BLUE).move_to([0, -2.5, 0])
u4t = MathTex(r"U_4", color=BLUE).move_to([-2.5, 0, 0])
r1t = MathTex(r"R_1", color=BLACK).move_to([0, 1, 0])
r2t = MathTex(r"R_2", color=BLACK).move_to([1, 0, 0])
r3t = MathTex(r"R_3", color=BLACK).move_to([0, -1, 0])
r4t = MathTex(r"R_4", color=BLACK).move_to([-1, 0, 0])
u1a = Arrow([-0.5, 2, 0], [0.5, 2, 0], color=BLUE)
u2a = Arrow([2, 0.5, 0], [2, -0.5, 0], color=BLUE)
u3a = Arrow([0.5, -2, 0], [-0.5, -2, 0], color=BLUE)
u4a = Arrow([-2, -0.5, 0], [-2, 0.5, 0], color=BLUE)
self.add(
p,
r1,
r1c1,
r1c2,
r2,
r2c1,
r2c2,
r3,
r3c1,
r3c2,
r4,
r4c1,
r4c2,
pt,
u1t,
u2t,
u3t,
u4t,
r1t,
r2t,
r3t,
r4t,
u1a,
u2a,
u3a,
u4a,
)
class een5(Scene):
def construct(self):
self.camera.background_color = WHITE
p = Dot(ORIGIN, radius=0.08, color=BLACK)
c1 = Line([0, 2, 0], ORIGIN, color=BLACK)
c2 = Line([2, 0, 0], ORIGIN, color=BLACK)
c3 = Line([0, -2, 0], ORIGIN, color=BLACK)
c4 = Line([-2, 0, 0], ORIGIN, color=BLACK)
ia1 = Arrow([0, 1.5, 0], [0, 0.5, 0], color=RED)
ia2 = Arrow([1.5, 0, 0], [0.5, 0, 0], color=RED)
ia3 = Arrow([0, -1.5, 0], [0, -0.5, 0], color=RED)
ia4 = Arrow([-0.5, 0, 0], [-1.5, 0, 0], color=RED)
pt = MathTex(r"P", color=BLACK).move_to([0.5, -0.5, 0])
it1 = MathTex(r"I_1", color=RED).move_to([0.5, 1, 0])
it2 = MathTex(r"I_2", color=RED).move_to([1, 0.5, 0])
it3 = MathTex(r"I_3", color=RED).move_to([0.5, -1, 0])
it4 = MathTex(r"I_4", color=RED).move_to([-1, 0.5, 0])
self.add(p, c1, c2, c3, c4, ia1, ia2, ia3, ia4, pt, it1, it2, it3, it4)
class een6(Scene):
def construct(self):
self.camera.background_color = WHITE
r1 = Polygon(
[-0.25, 2.5, 0],
[0.25, 2.5, 0],
[0.25, 1.5, 0],
[-0.25, 1.5, 0],
color=BLACK,
)
r2 = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
)
r3 = Polygon(
[-0.25, -2.5, 0],
[0.25, -2.5, 0],
[0.25, -1.5, 0],
[-0.25, -1.5, 0],
color=BLACK,
)
c1 = Line([0, 3.5, 0], [0, 2.5, 0], color=BLACK)
c2 = Line([0, 1.5, 0], [0, 0.5, 0], color=BLACK)
c3 = Line([0, -0.5, 0], [0, -1.5, 0], color=BLACK)
c4 = Line([0, -2.5, 0], [0, -3.5, 0], color=BLACK)
r1t = MathTex(r"R_1", color=BLACK).move_to([1, 2, 0])
r2t = MathTex(r"R_2", color=BLACK).move_to([1, 0, 0])
r3t = MathTex(r"R_3", color=BLACK).move_to([1, -2, 0])
self.add(r1, r2, r3, c1, c2, c3, c4, r1t, r2t, r3t)
class een7(Scene):
def construct(self):
self.camera.background_color = WHITE
r1 = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
)
r2 = Polygon(
[-1.25, 0.5, 0],
[-0.75, 0.5, 0],
[-0.75, -0.5, 0],
[-1.25, -0.5, 0],
color=BLACK,
)
r3 = Polygon(
[1.25, 0.5, 0],
[0.75, 0.5, 0],
[0.75, -0.5, 0],
[1.25, -0.5, 0],
color=BLACK,
)
c1 = Line([0, 2.5, 0], [0, 0.5, 0], color=BLACK)
c2 = Line([-1, 1.5, 0], [1, 1.5, 0], color=BLACK)
c3 = Line([-1, 1.5, 0], [-1, 0.5, 0], color=BLACK)
c4 = Line([1, 1.5, 0], [1, 0.5, 0], color=BLACK)
c5 = Line([0, -2.5, 0], [0, -0.5, 0], color=BLACK)
c6 = Line([-1, -1.5, 0], [1, -1.5, 0], color=BLACK)
c7 = Line([-1, -1.5, 0], [-1, -0.5, 0], color=BLACK)
c8 = Line([1, -1.5, 0], [1, -0.5, 0], color=BLACK)
j1 = Dot([0, 1.5, 0], radius=0.08, color=BLACK)
j2 = Dot([0, -1.5, 0], radius=0.08, color=BLACK)
self.add(r1, r2, r3, c1, c2, c3, c4, c5, c6, c7, c8, j1, j2)
class een8(Scene):
def construct(self):
self.camera.background_color = WHITE
v1 = VoltageSource().move_to([-2, 0, 0]).set_color(BLACK)
r1 = Polygon(
[1.75, 1.5, 0], [2.25, 1.5, 0], [2.25, 0.5, 0], [1.75, 0.5, 0], color=BLACK
)
r2 = Polygon(
[1.75, -1.5, 0],
[2.25, -1.5, 0],
[2.25, -0.5, 0],
[1.75, -0.5, 0],
color=BLACK,
)
c1 = Line(
v1.get_terminals("positive"),
[v1.get_terminals("positive")[0], 2.5, 0],
color=BLACK,
)
c2 = Line([v1.get_terminals("positive")[0], 2.5, 0], [2, 2.5, 0], color=BLACK)
c3 = Line([2, 2.5, 0], [2, 1.5, 0], color=BLACK)
c4 = Line([2, 0.5, 0], [2, -0.5, 0], color=BLACK)
c5 = Line([2, -2.5, 0], [2, -1.5, 0], color=BLACK)
c6 = Line([v1.get_terminals("positive")[0], -2.5, 0], [2, -2.5, 0], color=BLACK)
c7 = Line(
v1.get_terminals("negative"),
[v1.get_terminals("positive")[0], -2.5, 0],
color=BLACK,
)
r1t = MathTex(r"R_1", color=BLACK).move_to([1, 1, 0])
r2t = MathTex(r"R_2", color=BLACK).move_to([1, -1, 0])
u1t = MathTex(r"U_1", color=BLUE).move_to([3, 1, 0])
u2t = MathTex(r"U_2", color=BLUE).move_to([3, -1, 0])
u1a = Arrow([2.5, 1.5, 0], [2.5, 0.5, 0], color=BLUE)
u2a = Arrow([2.5, -0.5, 0], [2.5, -1.5, 0], color=BLUE)
self.add(v1, r1, r2, c1, c2, c3, c4, c5, c6, c7, r1t, r2t, u1t, u2t, u1a, u2a)
class een9(Scene):
def construct(self):
self.camera.background_color = WHITE
i1 = CurrentSource().move_to([-4, 0, 0]).set_color(BLACK)
r1 = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
)
r2 = Polygon(
[3.75, 0.5, 0],
[4.25, 0.5, 0],
[4.25, -0.5, 0],
[3.75, -0.5, 0],
color=BLACK,
)
c1 = Line(
i1.get_terminals("positive"),
[i1.get_terminals("positive")[0], 1.5, 0],
color=BLACK,
)
c2 = Line([i1.get_terminals("positive")[0], 1.5, 0], [4, 1.5, 0], color=BLACK)
c3 = Line([0, 1.5, 0], [0, 0.5, 0], color=BLACK)
c4 = Line([4, 1.5, 0], [4, 0.5, 0], color=BLACK)
c5 = Line([4, -0.5, 0], [4, -1.5, 0], color=BLACK)
c6 = Line([4, -1.5, 0], [i1.get_terminals("negative")[0], -1.5, 0], color=BLACK)
c7 = Line([0, -1.5, 0], [0, -0.5, 0], color=BLACK)
c8 = Line(
i1.get_terminals("negative"),
[i1.get_terminals("negative")[0], -1.5, 0],
color=BLACK,
)
j1 = Dot([0, 1.5, 0], radius=0.08, color=BLACK)
j2 = Dot([0, -1.5, 0], radius=0.08, color=BLACK)
i1a = Arrow([0, -0.5, 0], [0, -1.5, 0], color=RED)
i2a = Arrow([4, -0.5, 0], [4, -1.5, 0], color=RED)
r1t = MathTex(
r"R_1",
color=BLACK,
).move_to([1, 0, 0])
r2t = MathTex(
r"R_2",
color=BLACK,
).move_to([5, 0, 0])
self.add(i1, r1, r2, c1, c2, c3, c4, c5, c6, c7, c8, j1, j2, i1a, i2a, r1t, r2t)
class een10(Scene):
def construct(self):
self.camera.background_color = WHITE
v1 = VoltageSource().move_to([-2, -2, 0]).set_color(BLACK)
mbody1 = Circle(radius=0.5, color=BLACK)
mbody2 = Circle(radius=0.5, color=BLACK)
marrow1 = Arrow([-0.5, -0.5, 0], [0.5, 0.5, 0], color=BLACK)
marrow2 = Arrow([-0.5, -0.5, 0], [0.5, 0.5, 0], color=BLACK)
m1 = VGroup(mbody1, marrow1).move_to([[-1.75, -2, 0]])
m2 = VGroup(mbody2, marrow2).move_to([2.25, 0, 0])
r1 = Polygon(
[-2, 0.5, 0], [-2, 1.5, 0], [-1.5, 1.5, 0], [-1.5, 0.5, 0], color=BLACK
)
i1 = CurrentSource().move_to([2, 0, 0]).set_color(BLACK)
r2 = Polygon(
[3.75, 0.5, 0],
[3.75, -0.5, 0],
[4.25, -0.5, 0],
[4.25, 0.5, 0],
color=BLACK,
)
c1 = Line(
[v1.get_terminals("negative")[0], -3, 0],
v1.get_terminals("negative"),
color=BLACK,
)
c2 = Line(
v1.get_terminals("positive"),
[v1.get_terminals("positive")[0], 0.5, 0],
color=BLACK,
)
c3 = Line(
[v1.get_terminals("positive")[0], 1.5, 0],
[v1.get_terminals("positive")[0], 3, 0],
color=BLACK,
)
c4 = Line(
i1.get_terminals("positive"),
[i1.get_terminals("positive")[0], 2, 0],
color=BLACK,
)
c5 = Line([i1.get_terminals("positive")[0], 2, 0], [5, 2, 0], color=BLACK)
c6 = Line([4, 2, 0], [4, 0.5, 0], color=BLACK)
c7 = Line([4, -0.5, 0], [4, -2, 0], color=BLACK)
c8 = Line([5, -2, 0], [i1.get_terminals("negative")[0], -2, 0], color=BLACK)
c9 = Line(
[i1.get_terminals("negative")[0], -2, 0],
i1.get_terminals("negative"),
color=BLACK,
)
r1t = MathTex(r"R_i", color=BLACK).move_to([-1.25, 1, 0])
r2t = MathTex(r"R_i", color=BLACK).move_to([4.5, 0, 0])
self.add(m1, r1, m2, r2, c1, c2, c3, c4, c5, c6, c7, c8, c9, r1t, r2t)
class een11(Scene):
def construct(self):
self.camera.background_color = WHITE
i1 = CurrentSource().move_to([-1, 0, 0]).set_color(BLACK)
ri = Polygon(
[0.75, 0.5, 0],
[1.25, 0.5, 0],
[1.25, -0.5, 0],
[0.75, -0.5, 0],
color=BLACK,
)
c1 = Line(
[i1.get_terminals("negative")[0], -2, 0],
i1.get_terminals("negative"),
color=BLACK,
)
c2 = Line(
i1.get_terminals("positive"),
[i1.get_terminals("positive")[0], 2, 0],
color=BLACK,
)
c3 = Line([i1.get_terminals("positive")[0], 2, 0], [2, 2, 0], color=BLACK)
c4 = Line([1, 2, 0], [1, 0.5, 0], color=BLACK)
c5 = Line([1, -2, 0], [1, -0.5, 0], color=BLACK)
c6 = Line([i1.get_terminals("positive")[0], -2, 0], [2, -2, 0], color=BLACK)
j1 = Dot(radius=0.08, color=BLACK).move_to([2, 2, 0])
j2 = Dot(radius=0.08, color=BLACK).move_to([2, -2, 0])
rit = MathTex(r"R_i", color=BLACK).move_to([1.5, 0, 0])
self.add(i1, ri, c1, c2, c3, c4, c5, c6, j1, j2, rit)
class een12(Scene):
def construct(self):
self.camera.background_color = WHITE
v1 = VoltageSource().move_to([-0.25, -1, 0]).set_color(BLACK)
ri = Polygon(
[-0.25, 0.5, 0],
[-0.25, 1.5, 0],
[0.25, 1.5, 0],
[0.25, 0.5, 0],
color=BLACK,
)
c1 = Line([0, -3, 0], v1.get_terminals("negative"), color=BLACK)
c2 = Line(v1.get_terminals("positive"), [0, 0.5, 0], color=BLACK)
c3 = Line([0, 1.5, 0], [0, 3, 0], color=BLACK)
j1 = Dot(radius=0.08, color=BLACK).move_to([0, 3, 0])
j2 = Dot(radius=0.08, color=BLACK).move_to([0, -3, 0])
rit = MathTex(r"R_i", color=BLACK).move_to([0.5, 1, 0])
self.add(v1, ri, c1, c2, c3, j1, j2, rit)
class een13(Scene):
def construct(self):
self.camera.background_color = WHITE
v1 = VoltageSource().set_color(BLACK).move_to([-2, -1, 0])
v2 = VoltageSource().set_color(BLACK).move_to([-2, 1, 0])
v3 = VoltageSource().set_color(BLACK).move_to([1, 0, 0])
v4 = VoltageSource().set_color(BLACK).move_to([3, 0, 0])
c1 = Line(
[v1.get_terminals("negative")[0], -3, 0],
v1.get_terminals("negative"),
color=BLACK,
)
c2 = Line(
v2.get_terminals("negative"), v1.get_terminals("positive"), color=BLACK
)
c3 = Line(
v2.get_terminals("positive"),
[v2.get_terminals("positive")[0], 3, 0],
color=BLACK,
)
c4 = Line(
[v3.get_terminals("negative")[0], -2, 0],
v3.get_terminals("negative"),
color=BLACK,
)
c5 = Line(
[v3.get_terminals("positive")[0], 2, 0],
v3.get_terminals("positive"),
color=BLACK,
)
c6 = Line(
[v3.get_terminals("positive")[0], 2, 0],
[4, 2, 0],
color=BLACK,
)
c7 = Line(
[v4.get_terminals("positive")[0], 2, 0],
v4.get_terminals("positive"),
color=BLACK,
)
c8 = Line(
[v4.get_terminals("positive")[0], -2, 0],
v4.get_terminals("negative"),
color=BLACK,
)
c9 = Line(
[4, -2, 0],
[v3.get_terminals("positive")[0], -2, 0],
color=BLACK,
)
j1 = Dot(radius=0.08, color=BLACK).move_to(
[v1.get_terminals("positive")[0], 3, 0]
)
j2 = Dot(radius=0.08, color=BLACK).move_to(
[v1.get_terminals("positive")[0], -3, 0]
)
j3 = Dot(radius=0.08, color=BLACK).move_to([4, 2, 0])
j4 = Dot(radius=0.08, color=BLACK).move_to([4, -2, 0])
self.add(v1, v2, v3, v4, c1, c2, c3, c4, c5, c6, c7, c8, c9, j1, j2, j3, j4)
class een14(Scene):
def construct(self):
self.camera.background_color = WHITE
v1 = VoltageSource().set_color(BLACK).move_to([-2, 0, 0])
ri = Polygon(
[-0.5, 0.25, 0],
[0.5, 0.25, 0],
[0.5, -0.25, 0],
[-0.5, -0.25, 0],
color=BLACK,
).move_to([0, 2, 0])
rl = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
).move_to([2, 0, 0])
c1 = Line(
v1.get_terminals("positive"),
[v1.get_terminals("positive")[0], 2, 0],
color=BLACK,
)
c2 = Line([v1.get_terminals("positive")[0], 2, 0], [-0.5, 2, 0], color=BLACK)
c3 = Line([2, 2, 0], [2, 0.5, 0], color=BLACK)
c4 = Line([2, -2, 0], [2, -0.5, 0], color=BLACK)
c5 = Line([v1.get_terminals("positive")[0], -2, 0], [2, -2, 0], color=BLACK)
c6 = Line(
v1.get_terminals("negative"),
[v1.get_terminals("positive")[0], -2, 0],
color=BLACK,
)
c7 = Line([0.5, 2, 0], [2, 2, 0], color=BLACK)
rit = MathTex(r"R_i", color=BLACK).move_to([0, 1.3, 0])
rlt = MathTex(r"R_L", color=BLACK).move_to([1.3, 0, 0])
self.add(v1, ri, rl, c1, c2, c3, c4, c5, c6, c7, rit, rlt)
class een15(Scene):
def construct(self):
self.camera.background_color = WHITE
ax = Axes(
y_range=[0, 10, 10],
x_range=[0, 5, 2.5],
tips=False,
).set_color(BLACK)
labels = ax.get_axis_labels(Tex("R"), Tex("P")).set_color(BLACK)
f1 = ax.plot(lambda x: -1.6 * ((x - 2.5) ** 2) + 10, x_range=[0, 5]).set_color(
BLACK
)
rit = MathTex(r"R_i", color=BLACK).move_to(ax.c2p(2.5, -0.5))
self.add(ax, labels, f1, rit)
class een16(Scene):
def construct(self):
self.camera.background_color = WHITE
ax = Axes(
y_range=[0, 10, 10],
x_range=[0, 5, 2.5],
tips=False,
).set_color(BLACK)
labels = ax.get_axis_labels(Tex("R"), Tex("")).set_color(BLACK)
f1 = ax.plot(lambda x: -1.6 * ((x - 2.5) ** 2) + 10, x_range=[0, 5]).set_color(
BLACK
)
f2 = Line(ax.c2p(0, 0), ax.c2p(5, 10), color=BLACK)
rit = MathTex(r"R_i", color=BLACK).move_to(ax.c2p(2.5, -0.5))
self.add(ax, labels, f1, rit, f2)
class een17(Scene):
def construct(self):
self.camera.background_color = WHITE
v1 = VoltageSource().move_to([2, 0, 0]).set_color(BLACK)
vmb = Circle(radius=0.5, color=BLACK)
vma = Arrow([-0.5, -0.5, 0], [0.5, 0.5, 0], color=BLACK)
vm = VGroup(vmb, vma).move_to([-1.5, 0, 0])
r = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
).move_to([-3, 2, 0])
r1 = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
).move_to([0, 2, 0])
r2 = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
).move_to([-3, -2, 0])
rvr = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
)
rva = Arrow([-0.75, -0.75, 0], [0.75, 0.75, 0], color=BLACK)
rv = VGroup(rvr, rva).move_to([0, -2, 0])
c1 = Line(
v1.get_terminals("positive"),
[v1.get_terminals("positive")[0], 3.5, 0],
color=BLACK,
)
c2 = Line([v1.get_terminals("positive")[0], 3.5, 0], [0, 3.5, 0], color=BLACK)
c3 = Line([0, 3.5, 0], [0, 2.5, 0], color=BLACK)
c4 = Line([0, 1.5, 0], [0, -1.5, 0], color=BLACK)
c5 = Line([0, -2.5, 0], [0, -3.5, 0], color=BLACK)
c6 = Line([0, -3.5, 0], [-3, -3.5, 0], color=BLACK)
c7 = Line([-3, -3.5, 0], [-3, -2.5, 0], color=BLACK)
c8 = Line([-3, -1.5, 0], [-3, 1.5, 0], color=BLACK)
c9 = Line([-3, 2.5, 0], [-3, 3.5, 0], color=BLACK)
c10 = Line([-3, 3.5, 0], [0, 3.5, 0], color=BLACK)
c11 = Line(
v1.get_terminals("negative"),
[v1.get_terminals("positive")[0], -3.5, 0],
color=BLACK,
)
c12 = Line(
[v1.get_terminals("positive")[0], -3.5, 0], [0, -3.5, 0], color=BLACK
)
c13 = Line([0, 0, 0], [-1, 0, 0], color=BLACK)
c14 = Line([-2, 0, 0], [-3, 0, 0], color=BLACK)
rt = MathTex(r"R", color=BLACK).move_to([-2.5, 2, 0])
r1t = MathTex(r"R_1", color=BLACK).move_to([0.5, 2, 0])
r2t = MathTex(r"R_2", color=BLACK).move_to([-2.5, -2, 0])
rvt = MathTex(r"R_v", color=BLACK).move_to([0.5, -2, 0])
self.add(
v1,
vm,
r,
r1,
r2,
rv,
c1,
c2,
c3,
c4,
c5,
c6,
c7,
c8,
c9,
c10,
c11,
c12,
c13,
c14,
rt,
r1t,
r2t,
rvt,
)
class een18(Scene):
def construct(self):
self.camera.background_color = WHITE
ic = Polygon(
[-2, 2, 0], [2, 2, 0], [2, -2, 0], [-2, -2, 0], color=BLACK
).move_to([-4, 0, 0])
c1 = Line(ORIGIN, [1, 0, 0], color=BLACK).move_to([-1.5, 1.5, 0])
c2 = Line(ORIGIN, [1, 0, 0], color=BLACK).move_to([-1.5, -1.5, 0])
j1 = Dot(radius=0.08, color=BLACK).move_to([-1, 1.5, 0])
j2 = Dot(radius=0.08, color=BLACK).move_to([-1, -1.5, 0])
a = MathTex(r"\Rightarrow", color=BLACK)
v1 = VoltageSource().move_to([1.5, -1, 0]).set_color(BLACK)
ri = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
).move_to([1.75, 1, 0])
c3 = Line(
v1.get_terminals("negative"),
[v1.get_terminals("negative")[0], -2.5, 0],
color=BLACK,
)
c4 = Line(
v1.get_terminals("positive"),
[v1.get_terminals("negative")[0], 0.5, 0],
color=BLACK,
)
c5 = Line(
[v1.get_terminals("negative")[0], 1.5, 0],
[v1.get_terminals("negative")[0], 2.5, 0],
color=BLACK,
)
self.add(ic, c1, c2, j1, j2, a, v1, ri, c3, c4, c5)
class een19(Scene):
def construct(self):
self.camera.background_color = WHITE
ic = Polygon(
[-2, 2, 0], [2, 2, 0], [2, -2, 0], [-2, -2, 0], color=BLACK
).move_to([-4, 0, 0])
c1 = Line(ORIGIN, [1, 0, 0], color=BLACK).move_to([-1.5, 1.5, 0])
c2 = Line(ORIGIN, [1, 0, 0], color=BLACK).move_to([-1.5, -1.5, 0])
j1 = Dot(radius=0.08, color=BLACK).move_to([-1, 1.5, 0])
j2 = Dot(radius=0.08, color=BLACK).move_to([-1, -1.5, 0])
a = MathTex(r"\Rightarrow", color=BLACK)
i1 = CurrentSource().move_to([1.75, 0, 0]).set_color(BLACK)
ri = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
).move_to([4, 0, 0])
c3 = Line(
i1.get_terminals("negative"),
[i1.get_terminals("negative")[0], -1.5, 0],
color=BLACK,
)
c4 = Line(
[i1.get_terminals("negative")[0], -1.5, 0],
[5, -1.5, 0],
color=BLACK,
)
c5 = Line(
[4, -1.5, 0],
[4, -0.5, 0],
color=BLACK,
)
c6 = Line(
[4, 1.5, 0],
[4, 0.5, 0],
color=BLACK,
)
c7 = Line(
i1.get_terminals("positive"),
[i1.get_terminals("negative")[0], 1.5, 0],
color=BLACK,
)
c8 = Line(
[i1.get_terminals("negative")[0], 1.5, 0],
[5, 1.5, 0],
color=BLACK,
)
j3 = Dot(radius=0.08, color=BLACK).move_to([5, 1.5, 0])
j4 = Dot(radius=0.08, color=BLACK).move_to([5, -1.5, 0])
self.add(ic, c1, c2, j1, j2, a, i1, ri, c3, c4, c5, c6, c7, c8, j3, j4)
class een20(Scene):
def construct(self):
self.camera.background_color = WHITE
j1 = Dot(radius=0.08, color=BLACK).move_to([-3, -1.5, 0])
j2 = Dot(radius=0.08, color=BLACK).move_to([3, -1.5, 0])
j3 = Dot(radius=0.08, color=BLACK).move_to([0, 1.5, 0])
r1 = Polygon(
[-0.5, 0.25, 0],
[0.5, 0.25, 0],
[0.5, -0.25, 0],
[-0.5, -0.25, 0],
color=BLACK,
).move_to([-1.5, -1.5, 0])
r2 = Polygon(
[-0.5, 0.25, 0],
[0.5, 0.25, 0],
[0.5, -0.25, 0],
[-0.5, -0.25, 0],
color=BLACK,
).move_to([1.5, -1.5, 0])
r3 = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
)
c1 = Line([-3, -1.5, 0], [-2, -1.5, 0], color=BLACK)
c2 = Line([-1, -1.5, 0], [1, -1.5, 0], color=BLACK)
c3 = Line([3, -1.5, 0], [2, -1.5, 0], color=BLACK)
c4 = Line([0, -1.5, 0], [0, -0.5, 0], color=BLACK)
c5 = Line([0, 0.5, 0], [0, 1.5, 0], color=BLACK)
r1t = MathTex(r"R_1", color=BLACK).move_to([0.5, 0, 0])
r2t = MathTex(r"R_2", color=BLACK).move_to([-1.5, -1, 0])
r3t = MathTex(r"R_3", color=BLACK).move_to([1.5, -1, 0])
self.add(j1, j2, j3, r1, r2, r3, c1, c2, c3, c4, c5, r1t, r2t, r3t)
class een21(Scene):
def construct(self):
self.camera.background_color = WHITE
j1 = Dot(radius=0.08, color=BLACK).move_to([-3, -1.5, 0])
j2 = Dot(radius=0.08, color=BLACK).move_to([3, -1.5, 0])
j3 = Dot(radius=0.08, color=BLACK).move_to([0, 1.5, 0])
r1 = Polygon(
[-0.5, 0.25, 0],
[0.5, 0.25, 0],
[0.5, -0.25, 0],
[-0.5, -0.25, 0],
color=BLACK,
).move_to([0, -1.5, 0])
r2 = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
).move_to([-3, 0, 0])
r3 = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
).move_to([3, 0, 0])
c1 = Line([-3, -1.5, 0], [-0.5, -1.5, 0], color=BLACK)
c2 = Line([3, -1.5, 0], [0.5, -1.5, 0], color=BLACK)
c3 = Line([-3, -1.5, 0], [-3, -0.5, 0], color=BLACK)
c4 = Line([3, -1.5, 0], [3, -0.5, 0], color=BLACK)
c5 = Line([-3, 1.5, 0], [-3, 0.5, 0], color=BLACK)
c6 = Line([3, 1.5, 0], [3, 0.5, 0], color=BLACK)
c7 = Line([3, 1.5, 0], [-3, 1.5, 0], color=BLACK)
r1t = MathTex(r"R_{23}", color=BLACK).move_to([0, -1, 0])
r2t = MathTex(r"R_{12}", color=BLACK).move_to([-2.25, 0, 0])
r3t = MathTex(r"R_{13}", color=BLACK).move_to([2.25, 0, 0])
self.add(j1, j2, j3, r1, r2, r3, c1, c2, c3, c4, c5, c6, c7, r1t, r2t, r3t)
class een22(Scene):
def construct(self):
self.camera.background_color = WHITE
i1 = CurrentSource().set_color(BLACK).move_to([-6.25, 0, 0])
v1 = VoltageSource().set_color(BLACK).move_to([6.25, 0, 0])
r1 = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
)
r2 = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
).move_to([-3, 0, 0])
r3 = Polygon(
[-0.5, 0.25, 0],
[0.5, 0.25, 0],
[0.5, -0.25, 0],
[-0.5, -0.25, 0],
color=BLACK,
).move_to([3, 2, 0])
c1 = Line(
i1.get_terminals("positive"),
[i1.get_terminals("positive")[0], 2, 0],
color=BLACK,
)
c2 = Line([i1.get_terminals("positive")[0], 2, 0], [2.5, 2, 0], color=BLACK)
c3 = Line([3.5, 2, 0], [v1.get_terminals("positive")[0], 2, 0], color=BLACK)
c4 = Line(
[v1.get_terminals("positive")[0], 2, 0],
v1.get_terminals("positive"),
color=BLACK,
)
c5 = Line(
v1.get_terminals("negative"),
[v1.get_terminals("negative")[0], -2, 0],
color=BLACK,
)
c6 = Line(
[v1.get_terminals("negative")[0], -2, 0],
[i1.get_terminals("negative")[0], -2, 0],
color=BLACK,
)
c7 = Line(
[i1.get_terminals("negative")[0], -2, 0],
i1.get_terminals("negative"),
color=BLACK,
)
c8 = Line([0, 2, 0], [0, 0.5, 0], color=BLACK)
c9 = Line([0, -0.5, 0], [0, -2, 0], color=BLACK)
c10 = Line([-3, 2, 0], [-3, 0.5, 0], color=BLACK)
c11 = Line([-3, -0.5, 0], [-3, -2, 0], color=BLACK)
self.add(v1, i1, r1, r2, r3, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11)
class een23(Scene):
def construct(self):
self.camera.background_color = WHITE
i1 = CurrentSource().set_color(BLACK).move_to([-6.25, 0, 0])
r1 = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
)
r2 = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
).move_to([-3, 0, 0])
r3 = Polygon(
[-0.5, 0.25, 0],
[0.5, 0.25, 0],
[0.5, -0.25, 0],
[-0.5, -0.25, 0],
color=BLACK,
).move_to([3, 2, 0])
c1 = Line(
i1.get_terminals("positive"),
[i1.get_terminals("positive")[0], 2, 0],
color=BLACK,
)
c2 = Line([i1.get_terminals("positive")[0], 2, 0], [2.5, 2, 0], color=BLACK)
c3 = Line([3.5, 2, 0], [6, 2, 0], color=BLACK)
c4 = Line([6, 2, 0], [6, -2, 0], color=BLACK)
c5 = Line([6, -2, 0], [i1.get_terminals("negative")[0], -2, 0], color=BLACK)
c6 = Line(
i1.get_terminals("negative"),
[i1.get_terminals("negative")[0], -2, 0],
color=BLACK,
)
c7 = Line([0, 2, 0], [0, 0.5, 0], color=BLACK)
c8 = Line([0, -0.5, 0], [0, -2, 0], color=BLACK)
c9 = Line([-3, 2, 0], [-3, 0.5, 0], color=BLACK)
c10 = Line([-3, -0.5, 0], [-3, -2, 0], color=BLACK)
self.add(i1, r1, r2, r3, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10)
class een24(Scene):
def construct(self):
self.camera.background_color = WHITE
v1 = VoltageSource().set_color(BLACK).move_to([6.25, 0, 0])
r1 = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
)
r2 = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
).move_to([-3, 0, 0])
r3 = Polygon(
[-0.5, 0.25, 0],
[0.5, 0.25, 0],
[0.5, -0.25, 0],
[-0.5, -0.25, 0],
color=BLACK,
).move_to([3, 2, 0])
c1 = Line(
v1.get_terminals("positive"),
[v1.get_terminals("positive")[0], 2, 0],
color=BLACK,
)
c2 = Line([v1.get_terminals("positive")[0], 2, 0], [3.5, 2, 0], color=BLACK)
c3 = Line([2.5, 2, 0], [-3, 2, 0], color=BLACK)
c5 = Line([-3, -2, 0], [v1.get_terminals("negative")[0], -2, 0], color=BLACK)
c6 = Line(
v1.get_terminals("negative"),
[v1.get_terminals("negative")[0], -2, 0],
color=BLACK,
)
c7 = Line([0, 2, 0], [0, 0.5, 0], color=BLACK)
c8 = Line([0, -0.5, 0], [0, -2, 0], color=BLACK)
c9 = Line([-3, 2, 0], [-3, 0.5, 0], color=BLACK)
c10 = Line([-3, -0.5, 0], [-3, -2, 0], color=BLACK)
self.add(v1, r1, r2, r3, c1, c2, c3, c5, c6, c7, c8, c9, c10)
class een25(Scene):
def construct(self):
self.camera.background_color = WHITE
v1 = VoltageSource().set_color(BLACK).move_to([-3.25, 0, 0])
r1 = Polygon(
[-0.5, 0.25, 0],
[0.5, 0.25, 0],
[0.5, -0.25, 0],
[-0.5, -0.25, 0],
color=BLACK,
).move_to([0, 2, 0])
r2 = Polygon(
[-0.5, 0.25, 0],
[0.5, 0.25, 0],
[0.5, -0.25, 0],
[-0.5, -0.25, 0],
color=BLACK,
).move_to([0, -2, 0])
r3 = Polygon(
[-0.5, 0.25, 0],
[0.5, 0.25, 0],
[0.5, -0.25, 0],
[-0.5, -0.25, 0],
color=BLACK,
).move_to([0, 1, 0])
r4 = Polygon(
[-0.5, 0.25, 0],
[0.5, 0.25, 0],
[0.5, -0.25, 0],
[-0.5, -0.25, 0],
color=BLACK,
).move_to([0, -1, 0])
r5 = Polygon(
[-0.25, 0.5, 0],
[0.25, 0.5, 0],
[0.25, -0.5, 0],
[-0.25, -0.5, 0],
color=BLACK,
).move_to([3, 0, 0])
c1 = Line(
v1.get_terminals("positive"),
[v1.get_terminals("positive")[0], 2, 0],
color=BLACK,
)
c2 = Line([v1.get_terminals("positive")[0], 2, 0], [-0.5, 2, 0], color=BLACK)
c3 = Line([0.5, 2, 0], [3, 2, 0], color=BLACK)
c4 = Line([3, 2, 0], [3, 0.5, 0], color=BLACK)
c5 = Line(
v1.get_terminals("negative"),
[v1.get_terminals("positive")[0], -2, 0],
color=BLACK,
)
c6 = Line([v1.get_terminals("positive")[0], -2, 0], [-0.5, -2, 0], color=BLACK)
c7 = Line([0.5, -2, 0], [3, -2, 0], color=BLACK)
c8 = Line([3, -2, 0], [3, -0.5, 0], color=BLACK)
c9 = Line([-2, 2, 0], [-2, 1, 0], color=BLACK)
c10 = Line([-2, 1, 0], [-0.5, 1, 0], color=BLACK)
c11 = Line([1, 1, 0], [0.5, 1, 0], color=BLACK)
c12 = Line([1, 1, 0], [1, -2, 0], color=BLACK)
c13 = Line([2, 2, 0], [2, -1, 0], color=BLACK)
c14 = Line([2, -1, 0], [0.5, -1, 0], color=BLACK)
c15 = Line([-2, -1, 0], [-0.5, -1, 0], color=BLACK)
c16 = Line([-2, -1, 0], [-2, -2, 0], color=BLACK)
j1 = Dot(
radius=0.08,
color=BLACK,
).move_to([-2, 2, 0])
j2 = Dot(
radius=0.08,
color=BLACK,
).move_to([2, 2, 0])
j3 = Dot(
radius=0.08,
color=BLACK,
).move_to([1, -2, 0])
j4 = Dot(
radius=0.08,
color=BLACK,
).move_to([-2, -2, 0])
self.add(
v1,
r1,
r2,
r3,
r4,
r5,
c1,
c2,
c3,
c4,
c5,
c6,
c7,
c8,
c9,
c10,
c11,
c12,
c13,
c14,
c15,
c16,
j1,
j2,
j3,
j4,
)
class een26(Scene):
def construct(self):
self.camera.background_color = WHITE
c1 = Line(
[-3, -2, 0],
[-3, 2, 0],
color=BLACK,
)
c2 = Line([-3, 2, 0], [3, 2, 0], color=BLACK)
c4 = Line([3, 2, 0], [3, -2, 0], color=BLACK)
c6 = Line([3, -2, 0], [-3, -2, 0], color=BLACK)
c7 = Line([-3, -2, 0], [-3, 2, 0], color=BLACK)
c9 = Line([-2, 2, 0], [-2, 1, 0], color=BLACK)
c10 = Line([-2, 1, 0], [1, 1, 0], color=BLACK)
c12 = Line([1, 1, 0], [1, -2, 0], color=BLACK)
c13 = Line([2, 2, 0], [2, -1, 0], color=BLACK)
c14 = Line([2, -1, 0], [-2, -1, 0], color=BLACK)
c16 = Line([-2, -1, 0], [-2, -2, 0], color=BLACK)
j1 = Dot(
radius=0.08,
color=BLACK,
).move_to([-2, 2, 0])
j2 = Dot(
radius=0.08,
color=BLACK,
).move_to([2, 2, 0])
j3 = Dot(
radius=0.08,
color=BLACK,
).move_to([1, -2, 0])
j4 = Dot(
radius=0.08,
color=BLACK,
).move_to([-2, -2, 0])
self.add(
c1,
c2,
c4,
c6,
c7,
c9,
c10,
c12,
c13,
c14,
c16,
j1,
j2,
j3,
j4,
)
class een27(Scene):
def construct(self):
self.camera.background_color = WHITE
c1 = Line(
[-3, -2, 0],
[-3, 2, 0],
color=BLACK,
)
c2 = Line([-3, 2, 0], [3, 2, 0], color=BLACK)
c4 = Line([3, 2, 0], [3, -2, 0], color=BLACK)
c6 = Line([3, -2, 0], [-3, -2, 0], color=BLACK)
c7 = Line([-3, -2, 0], [-3, 2, 0], color=BLACK)
c9 = Line([-2, 2, 0], [-2, 1, 0], color=BLACK)
c10 = Line([-2, 1, 0], [1, 1, 0], color=BLACK)
c12 = Line([1, 1, 0], [1, -2, 0], color=BLACK)
c13 = Line([2, 2, 0], [2, -1, 0], color=BLACK)
c14 = Line([2, -1, 0], [-2, -1, 0], color=BLACK)
c16 = Line([-2, -1, 0], [-2, -2, 0], color=BLACK)
j1 = Dot(
radius=0.08,
color=BLACK,
).move_to([-2, 2, 0])
j2 = Dot(
radius=0.08,
color=BLACK,
).move_to([2, 2, 0])
j3 = Dot(
radius=0.08,
color=BLACK,
).move_to([1, -2, 0])
j4 = Dot(
radius=0.08,
color=BLACK,
).move_to([-2, -2, 0])
ia1 = Arrow([-0.5, 0, 0], [0.5, 0, 0], color=RED).move_to([0, 2, 0])
ia2 = Arrow([-0.5, 0, 0], [0.5, 0, 0], color=RED).move_to([0, 1, 0])
ia3 = Arrow([0.5, 0, 0], [-0.5, 0, 0], color=RED).move_to([0, -1, 0])
ia4 = Arrow([0.5, 0, 0], [-0.5, 0, 0], color=RED).move_to([0, -2, 0])
ia5 = Arrow([0, 0.5, 0], [0, -0.5, 0], color=RED).move_to([3, 0, 0])
ia6 = Arrow([0, -0.5, 0], [0, 0.5, 0], color=RED).move_to([-3, 0, 0])
self.add(
c1,
c2,
c4,
c6,
c7,
c9,
c10,
c12,
c13,
c14,
c16,
j1,
j2,
j3,
j4,
ia1,
ia2,
ia3,
ia4,
ia5,
ia6,
)
class een28(Scene):
def construct(self):
self.camera.background_color = WHITE
c1 = Line(
[-3, -2, 0],
[-3, 2, 0],
color=BLACK,
)
c2 = Line([-3, 2, 0], [3, 2, 0], color=BLACK)
c3 = Line([3, -2, 0], [1, -2, 0], color=BLACK)
c4 = Line([3, 2, 0], [3, -2, 0], color=BLACK)
c5 = DashedLine([1, -2, 0], [-2, -2, 0], color=RED)
c6 = Line([-2, -2, 0], [-3, -2, 0], color=BLACK)
c7 = Line([-3, -2, 0], [-3, 2, 0], color=BLACK)
c9 = DashedLine([-2, 2, 0], [-2, 1, 0], color=BLUE)
c10 = DashedLine([-2, 1, 0], [1, 1, 0], color=BLUE)
c12 = DashedLine([1, 1, 0], [1, -2, 0], color=BLUE)
c13 = DashedLine([2, 2, 0], [2, -1, 0], color=GREEN)
c14 = DashedLine([2, -1, 0], [-2, -1, 0], color=GREEN)
c16 = DashedLine([-2, -1, 0], [-2, -2, 0], color=GREEN)
j1 = Dot(
radius=0.08,
color=BLACK,
).move_to([-2, 2, 0])
j2 = Dot(
radius=0.08,
color=BLACK,
).move_to([2, 2, 0])
j3 = Dot(
radius=0.08,
color=BLACK,
).move_to([1, -2, 0])
j4 = Dot(
radius=0.08,
color=BLACK,
).move_to([-2, -2, 0])
self.add(
c1,
c2,
c3,
c4,
c5,
c6,
c7,
c9,
c10,
c12,
c13,
c14,
c16,
j1,
j2,
j3,
j4,
)
class een29(Scene):
def construct(self):
self.camera.background_color = WHITE
c1 = Line([-3, -2, 0], [-3, 2, 0], color=BLACK)
c2 = Line([-3, 2, 0], [-2, 2, 0], color=BLACK)
c3 = Line([-2, 2, 0], [3, 2, 0], color=BLUE)
c4 = Line([3, 2, 0], [3, -2, 0], color=BLUE)
c6 = Line([3, -2, 0], [1, -2, 0], color=BLUE)
c7 = Line([1, -2, 0], [-3, -2, 0], color=BLACK)
c8 = Line([-3, -2, 0], [-3, 2, 0], color=BLACK)
c9 = Line([-2, 2, 0], [-2, 1, 0], color=BLUE)
c10 = Line([-2, 1, 0], [1, 1, 0], color=BLUE)
c12 = Line([1, 1, 0], [1, -2, 0], color=BLUE)
c13 = Line([2, 2, 0], [2, -1, 0], color=BLACK)
c14 = Line([2, -1, 0], [-2, -1, 0], color=BLACK)
c16 = Line([-2, -1, 0], [-2, -2, 0], color=BLACK)
j1 = Dot(
radius=0.08,
color=BLACK,
).move_to([-2, 2, 0])
j2 = Dot(
radius=0.08,
color=BLACK,
).move_to([2, 2, 0])
j3 = Dot(
radius=0.08,
color=BLACK,
).move_to([1, -2, 0])
j4 = Dot(
radius=0.08,
color=BLACK,
).move_to([-2, -2, 0])
self.add(
c1, c2, c3, c4, c6, c7, c8, c9, c10, c12, c13, c14, c16, j1, j2, j3, j4
)
class een30(Scene):
def construct(self):
self.camera.background_color = WHITE
c1 = Line(
[-3, -2, 0],
[-3, 2, 0],
color=BLACK,
)
c2 = Line([-3, 2, 0], [3, 2, 0], color=RED)
c4 = Line([3, 2, 0], [3, -2, 0], color=RED)
c6 = Line([3, -2, 0], [-3, -2, 0], color=RED)
c7 = Line([-3, -2, 0], [-3, 2, 0], color=RED)
c13 = Line([2, 2, 0], [2, -1, 0], color=BLACK)
c14 = Line([2, -1, 0], [-2, -1, 0], color=BLACK)
c16 = Line([-2, -1, 0], [-2, -2, 0], color=BLACK)
j2 = Dot(
radius=0.08,
color=BLACK,
).move_to([2, 2, 0])
j4 = Dot(
radius=0.08,
color=BLACK,
).move_to([-2, -2, 0])
self.add(
c1,
c2,
c4,
c6,
c7,
c13,
c14,
c16,
j2,
j4,
)
class een31(Scene):
def construct(self):
self.camera.background_color = WHITE
c1 = Line(
[-3, -2, 0],
[-3, 2, 0],
color=BLACK,
)
c1 = Line([2, 2, 0], [3, 2, 0], color=BLACK)
c2 = Line([-3, 2, 0], [2, 2, 0], color=GREEN)
c3 = Line([-2, -2, 0], [-3, -2, 0], color=GREEN)
c4 = Line([3, 2, 0], [3, -2, 0], color=BLACK)
c6 = Line([3, -2, 0], [2, -2, 0], color=BLACK)
c7 = Line([-3, -2, 0], [-3, 2, 0], color=GREEN)
c13 = Line([2, 2, 0], [2, -1, 0], color=GREEN)
c14 = Line([2, -1, 0], [-2, -1, 0], color=GREEN)
c16 = Line([-2, -1, 0], [-2, -2, 0], color=GREEN)
j2 = Dot(
radius=0.08,
color=BLACK,
).move_to([2, 2, 0])
j4 = Dot(
radius=0.08,
color=BLACK,
).move_to([-2, -2, 0])
self.add(
c1,
c2,
c3,
c4,
c6,
c7,
c13,
c14,
c16,
j2,
j4,
)
class slm1(Scene):
def construct(self):
self.camera.background_color = WHITE
wl = Line([0, 2.5, 0], [0, -2.5, 0], color=BLACK).move_to([-5, 0, 0])
wr = Line([0, 2.5, 0], [0, -2.5, 0], color=BLACK).move_to([5, 0, 0])
wb = Line([-5, 0, 0], [5, 0, 0], color=BLACK).move_to([0, -2.5, 0])
e1 = Polygon(
[-0.5, 1.5, 0], [0.5, 1.5, 0], [0.5, -1.5, 0], [-0.5, -1.5, 0], color=BLACK
).move_to([-4, 1, 0])
e2 = Polygon(
[-0.5, 1.5, 0], [0.5, 1.5, 0], [0.5, -1.5, 0], [-0.5, -1.5, 0], color=BLACK
).move_to([4, 1, 0])
w = Polygon(
[-5, 1.5, 0],
[5, 1.5, 0],
[5, -2.5, 0],
[-5, -2.5, 0],
stroke_width=0,
fill_color=BLUE,
fill_opacity=0.75,
)
pt = MathTex(r"+\\+\\+", color=BLACK).move_to([4, 1, 0])
nt = MathTex(r"-\\-\\-", color=BLACK).move_to([-4, 1, 0])
vmb = Circle(radius=0.5, color=BLACK)
vma = Arrow([-0.5, -0.5, 0], [0.5, 0.5, 0], color=BLACK)
vm = VGroup(vmb, vma).move_to([0, 3, 0])
c1 = Line([4, 2.5, 0], [4, 3, 0], color=BLACK)
c2 = Line([4, 3, 0], [0.5, 3, 0], color=BLACK)
c3 = Line([-4, 3, 0], [-0.5, 3, 0], color=BLACK)
c4 = Line([-4, 2.5, 0], [-4, 3, 0], color=BLACK)
self.add(wr, wl, wb, e1, e2, w, pt, nt, vm, c1, c2, c3, c4)
class slm2(Scene):
def construct(self):
self.camera.background_color = WHITE
wl = Line([0, 2.5, 0], [0, -2.5, 0], color=BLACK).move_to([-5, 0, 0])
wr = Line([0, 2.5, 0], [0, -2.5, 0], color=BLACK).move_to([5, 0, 0])
wb = Line([-5, 0, 0], [5, 0, 0], color=BLACK).move_to([0, -2.5, 0])
e1 = Polygon(
[-0.5, 1.5, 0], [0.5, 1.5, 0], [0.5, -1.5, 0], [-0.5, -1.5, 0], color=BLACK
).move_to([-4, 1, 0])
e2 = Polygon(
[-0.5, 1.5, 0], [0.5, 1.5, 0], [0.5, -1.5, 0], [-0.5, -1.5, 0], color=BLACK
).move_to([4, 1, 0])
w = Polygon(
[-5, 1.5, 0],
[5, 1.5, 0],
[5, -2.5, 0],
[-5, -2.5, 0],
stroke_width=0,
fill_color=BLUE,
fill_opacity=0.75,
)
pt = MathTex(r"+\\+\\+", color=BLACK).move_to([4, 1, 0])
nt = MathTex(r"-\\-\\-", color=BLACK).move_to([-4, 1, 0])
vmb = Circle(radius=0.5, color=BLACK)
vma = Arrow([-0.5, -0.5, 0], [0.5, 0.5, 0], color=BLACK)
vm = VGroup(vmb, vma).move_to([0, 3, 0])
c1 = Line([4, 2.5, 0], [4, 3, 0], color=BLACK)
c2 = Line([4, 3, 0], [0.5, 3, 0], color=BLACK)
c3 = Line([-4, 3, 0], [-0.5, 3, 0], color=BLACK)
c4 = Line([-4, 2.5, 0], [-4, 3, 0], color=BLACK)
nam = Circle(radius=0.5, color=BLACK)
nat = MathTex(r"Na^+", color=BLACK)
nav = Arrow([-0.25, 0, 0], [-1.75, 0, 0], color=BLACK)
na = VGroup(nam, nat, nav).move_to([-2, 0, 0])
fem = Circle(radius=0.5, color=BLACK)
fet = MathTex(r"Fe^-", color=BLACK)
fev = Arrow([0.25, 0, 0], [1.75, 0, 0], color=BLACK)
fe = VGroup(fem, fet, fev).move_to([2, 1, 0])
self.add(wr, wl, wb, e1, e2, w, pt, nt, vm, c1, c2, c3, c4, na, fe)
class slm3(Scene):
def construct(self):
self.camera.background_color = WHITE
d1b = Polygon([-0.5, 1, 0], [-0.5, -1, 0], [0.5, 0, 0], color=BLACK)
d1i = Line([0.5, 1, 0], [0.5, -1, 0], color=BLACK)
d1 = VGroup(d1b, d1i)
c1 = Line([-2.5, 0, 0], [-0.5, 0, 0], color=BLACK)
c2 = Line([2.5, 0, 0], [0.5, 0, 0], color=BLACK)
j1 = Dot(radius=0.08, color=BLACK).move_to([2.5, 0, 0])
j2 = Dot(radius=0.08, color=BLACK).move_to([-2.5, 0, 0])
i1a = Arrow([-1.5, 1.5, 0], [1.5, 1.5, 0], color=GREEN)
i2a = Arrow([1.5, -1.5, 0], [-1.5, -1.5, 0], color=RED)
i1t = Tex("Leitet", color=GREEN).move_to([0, 2, 0])
i2t = Tex("Sperrt", color=RED).move_to([0, -2, 0])
self.add(d1, c1, c2, j1, j2, i1a, i2a, i1t, i2t)
class magnet2(Scene):
def construct(self):
self.camera.background_color = WHITE
charge1 = Charge(-1, 3 * LEFT)
charge2 = Charge(1, 1 * LEFT)
charge3 = Charge(-1, 1 * RIGHT)
charge4 = Charge(1, 3 * RIGHT)
field = ElectricField(charge1, charge2, charge3, charge4)
magnetP1 = Polygon(
[-3.5, 0.5, 0],
[-3.5, -0.5, 0],
[-2, -0.5, 0],
[-2, 0.5, 0],
color=BLUE,
fill_color=BLUE,
fill_opacity=1,
)
textP1 = Text("S").move_to([-3, 0, 0])
magnetN1 = Polygon(
[-0.5, 0.5, 0],
[-0.5, -0.5, 0],
[-2, -0.5, 0],
[-2, 0.5, 0],
color=RED,
fill_color=RED,
fill_opacity=1,
)
textN1 = Text("N").move_to([-1, 0, 0])
magnetP2 = Polygon(
[0.5, 0.5, 0],
[0.5, -0.5, 0],
[2, -0.5, 0],
[2, 0.5, 0],
color=BLUE,
fill_color=BLUE,
fill_opacity=1,
)
textP2 = Text("S").move_to([1, 0, 0])
magnetN2 = Polygon(
[3.5, 0.5, 0],
[3.5, -0.5, 0],
[2, -0.5, 0],
[2, 0.5, 0],
color=RED,
fill_color=RED,
fill_opacity=1,
)
textN2 = Text("N").move_to([3, 0, 0])
self.add(
field,
magnetP1,
magnetN1,
textP1,
textN1,
magnetP2,
magnetN2,
textP2,
textN2,
)
class magnet3(Scene):
def construct(self):
self.camera.background_color = WHITE
charge1 = Charge(1, 3 * LEFT)
charge2 = Charge(-1, 1 * LEFT)
charge3 = Charge(-1, 1 * RIGHT)
charge4 = Charge(1, 3 * RIGHT)
field = ElectricField(charge1, charge2, charge3, charge4)
magnetP1 = Polygon(
[-3.5, 0.5, 0],
[-3.5, -0.5, 0],
[-2, -0.5, 0],
[-2, 0.5, 0],
color=RED,
fill_color=RED,
fill_opacity=1,
)
textP1 = Text("N").move_to([-3, 0, 0])
magnetN1 = Polygon(
[-0.5, 0.5, 0],
[-0.5, -0.5, 0],
[-2, -0.5, 0],
[-2, 0.5, 0],
color=BLUE,
fill_color=BLUE,
fill_opacity=1,
)
textN1 = Text("S").move_to([-1, 0, 0])
magnetP2 = Polygon(
[0.5, 0.5, 0],
[0.5, -0.5, 0],
[2, -0.5, 0],
[2, 0.5, 0],
color=BLUE,
fill_color=BLUE,
fill_opacity=1,
)
textP2 = Text("S").move_to([1, 0, 0])
magnetN2 = Polygon(
[3.5, 0.5, 0],
[3.5, -0.5, 0],
[2, -0.5, 0],
[2, 0.5, 0],
color=RED,
fill_color=RED,
fill_opacity=1,
)
textN2 = Text("N").move_to([3, 0, 0])
error = Polygon(
[-0.2, 0.2, 0],
[-0.2, -0.2, 0],
[0.2, -0.2, 0],
[0.2, 0.2, 0],
color=WHITE,
fill_color=WHITE,
fill_opacity=1,
)
self.add(
field,
magnetP1,
magnetN1,
textP1,
textN1,
magnetP2,
magnetN2,
textP2,
textN2,
error,
)
class LF1(Scene):
def construct(self):
self.camera.background_color = WHITE
wire = Wire(Line([0, 0, -1000], [0, 0, 1000]))
magf = MagneticField(wire)
dot = Dot(point=ORIGIN, color=BLACK)
self.add(magf, dot)
class LF2(Scene):
def construct(self):
self.camera.background_color = WHITE
func = lambda pos: pos - DOWN * 1000
vf = ArrowVectorField(func, color=BLUE)
charge1 = Charge(3, ORIGIN)
velvec = LabeledArrow(
r"\vec{v}",
start=ORIGIN,
end=2 * RIGHT,
color=BLACK,
label_position=0.5,
label_color=BLACK,
frame_fill_color=WHITE,
)
lkvec = LabeledArrow(
r"\vec{F}",
start=[0, 0, 0],
end=[-2, -2, 0],
color=RED,
label_position=0.5,
label_color=BLACK,
frame_fill_color=WHITE,
)
self.add(vf, charge1, velvec, lkvec)
class mf1(Scene):
def construct(self):
self.camera.background_color = WHITE
wire = Wire(Line([0, 0, -1000], [0, 0, 1000]))
magf = MagneticField(wire)
dot = Dot(point=ORIGIN, color=BLACK)
fvec1 = Arrow(3 * RIGHT, 3 * RIGHT + 2 * UP, color=RED)
fvec2 = Arrow(5 * RIGHT, 5 * RIGHT + 1 * UP, color=RED)
self.add(magf, dot, fvec1, fvec2)
class mf2(ThreeDScene):
def construct(self):
self.camera.background_color = WHITE
wire1 = Wire(
ParametricFunction(
lambda u: (
u * 0.07,
2 * np.cos(u),
2 * np.sin(u),
),
t_range=(-11 / 4 * TAU, 11 / 4 * TAU, 0.01),
),
color=BLACK,
)
mag_field = MagneticField(
wire1,
x_range=[-1, 1],
y_range=[-1, 1],
)
self.set_camera_orientation(PI / 3, PI / 4)
# self.set_camera_orientation(PI / 2)
self.add(wire1, mag_field)
class mf3(Scene):
def construct(self):
self.camera.background_color = WHITE
wire = Wire(Circle(7).rotate(PI / 2, RIGHT))
mag_field = MagneticField(
wire,
x_range=[-2, 1],
y_range=[-2, 3],
)
magnetP = Polygon(
[-2, 2, 0],
[-2, 3, 0],
[1, 3, 0],
[1, 2, 0],
color=RED,
fill_color=RED,
fill_opacity=1,
)
textP = Text("N").move_to([-0.5, 2.5, 0])
magnetM = Polygon(
[1, 3, 0],
[1, -3, 0],
[2, -3, 0],
[2, 3, 0],
color=GREY,
fill_color=GREY,
fill_opacity=1,
)
textN = Text("S").move_to([-0.5, -2.5, 0])
magnetN = Polygon(
[-2, -2, 0],
[-2, -3, 0],
[1, -3, 0],
[1, -2, 0],
color=BLUE,
fill_color=BLUE,
fill_opacity=1,
)
self.add(mag_field, magnetP, magnetM, magnetN, textP, textN)
class mf4(ThreeDScene):
def construct(self):
self.camera.background_color = WHITE
wire = Wire(Circle(10).rotate(PI / 2, UP))
mag_field1 = MagneticField(
wire,
x_range=[-1, 1],
y_range=[-3, 3],
).move_to([0, 0, 2])
mag_field2 = MagneticField(
wire,
x_range=[-1, 1],
y_range=[-3, 3],
).move_to([0, 0, 1])
mag_field3 = MagneticField(
wire,
x_range=[-1, 1],
y_range=[-3, 3],
)
mag_field4 = MagneticField(
wire,
x_range=[-1, 1],
y_range=[-3, 3],
).move_to([0, 0, -1])
mag_field5 = MagneticField(
wire,
x_range=[-1, 1],
y_range=[-3, 3],
).move_to([0, 0, -2])
plate = Polygon(
[0, -2.5, 2.5],
[0, 3.5, 2.5],
[0, 3.5, -1.5],
[0, -2.5, -1.5],
color=GREY,
fill_color=GREY,
fill_opacity=0.25,
)
self.set_camera_orientation(PI / 3, PI / 4)
self.add(plate, mag_field1, mag_field2, mag_field3, mag_field4, mag_field5)
class mf5(Scene):
def construct(self):
self.camera.background_color = WHITE
tran = Line(start=[0, 5, 0], end=[0, -5, 0], color=BLACK)
b1 = LabeledArrow(
r"\vec{B}_1",
label_color=BLACK,
frame_fill_color=WHITE,
start=[-3, -3, 0],
end=[0, 0, 0],
color=RED,
)
b2 = LabeledArrow(
r"\vec{B}_2",
label_color=BLACK,
frame_fill_color=WHITE,
start=[0, 0, 0],
end=[3, 1, 0],
color=BLUE,
)
mu1 = MathTex(r"\mu_1", color=BLACK).move_to([-1, 3, 0])
mu2 = MathTex(r"\mu_2", color=BLACK).move_to([1, 3, 0])
self.add(tran, b1, b2, mu1, mu2)
class zef1(Scene):
def construct(self):
self.camera.background_color = WHITE
metal = Polygon(
[-1, 3, 0],
[1, 3, 0],
[1, -3, 0],
[-1, -3, 0],
color=BLACK,
fill_color=GREY,
fill_opacity=0.75,
)
vv = Arrow3D([0, 0, 1], [0, 0, 3], color=RED)
c = Charge(1, [1000, 0, 0])
ef = ElectricField(c)
c1 = Charge(-10, [0, 2.5, 0])
c2 = Charge(10, [0, -2.5, 0])
self.add(metal, vv, ef, c1, c2)
class zef2(Scene):
def construct(self):
self.camera.background_color = WHITE
l11 = Line([-1, 0, 0], [-0.5, 0, 0], path_arc=-180 * DEGREES)
l12 = Line([-0.5, 0, 0], ORIGIN, path_arc=-180 * DEGREES)
l13 = Line([1, 0, 0], [0.5, 0, 0], path_arc=180 * DEGREES)
l14 = Line([0.5, 0, 0], ORIGIN, path_arc=180 * DEGREES)
l1 = VGroup(l11, l12, l13, l14).move_to([-2, 0, 0]).set_color(BLACK)
l21 = Line([-1, 0, 0], [-0.5, 0, 0], path_arc=-180 * DEGREES)
l22 = Line([-0.5, 0, 0], ORIGIN, path_arc=-180 * DEGREES)
l23 = Line([1, 0, 0], [0.5, 0, 0], path_arc=180 * DEGREES)
l24 = Line([0.5, 0, 0], ORIGIN, path_arc=180 * DEGREES)
l2 = VGroup(l21, l22, l23, l24).move_to([2, 0, 0]).set_color(BLACK)
c1 = Line([-4, -0.1, 0], [-3, -0.1, 0], color=BLACK)
c2 = Line([4, -0.1, 0], [3, -0.1, 0], color=BLACK)
c3 = Line([1, -0.1, 0], [-1, -0.1, 0], color=BLACK)
j1 = Dot([-4, -0.1, 0], radius=0.08, color=BLACK)
j2 = Dot([4, -0.1, 0], radius=0.08, color=BLACK)
lt1 = MathTex(r"L_1", color=BLACK).move_to([-2, 1, 0])
lt2 = MathTex(r"L_2", color=BLACK).move_to([2, 1, 0])
self.add(l1, l2, c1, c2, c3, j1, j2, lt1, lt2)
class zef3(Scene):
def construct(self):
self.camera.background_color = WHITE
l11 = Line([-1, 0, 0], [-0.5, 0, 0], path_arc=-180 * DEGREES)
l12 = Line([-0.5, 0, 0], ORIGIN, path_arc=-180 * DEGREES)
l13 = Line([1, 0, 0], [0.5, 0, 0], path_arc=180 * DEGREES)
l14 = Line([0.5, 0, 0], ORIGIN, path_arc=180 * DEGREES)
l1 = VGroup(l11, l12, l13, l14).move_to([0, 1, 0]).set_color(BLACK)
l21 = Line([-1, 0, 0], [-0.5, 0, 0], path_arc=-180 * DEGREES)
l22 = Line([-0.5, 0, 0], ORIGIN, path_arc=-180 * DEGREES)
l23 = Line([1, 0, 0], [0.5, 0, 0], path_arc=180 * DEGREES)
l24 = Line([0.5, 0, 0], ORIGIN, path_arc=180 * DEGREES)
l2 = VGroup(l21, l22, l23, l24).move_to([0, -1, 0]).set_color(BLACK)
c1 = Line([-3, -0.1, 0], [-2, -0.1, 0], color=BLACK)
c2 = Line([3, -0.1, 0], [2, -0.1, 0], color=BLACK)
c3 = Line([2, 0.9, 0], [2, -1.1, 0], color=BLACK)
c4 = Line([2, 0.9, 0], [1, 0.9, 0], color=BLACK)
c5 = Line([-1, 0.9, 0], [-2, 0.9, 0], color=BLACK)
c6 = Line([2, -1.1, 0], [1, -1.1, 0], color=BLACK)
c7 = Line([-2, -1.1, 0], [-1, -1.1, 0], color=BLACK)
c8 = Line([-2, 0.9, 0], [-2, -1.1, 0], color=BLACK)
j1 = Dot([-3, -0.1, 0], radius=0.08, color=BLACK)
j2 = Dot([3, -0.1, 0], radius=0.08, color=BLACK)
lt1 = MathTex(r"L_1", color=BLACK).move_to([0, 2, 0])
lt2 = MathTex(r"L_2", color=BLACK).move_to(ORIGIN)
self.add(l1, l2, c1, c2, c3, c4, c5, c6, c7, c8, j1, j2, lt1, lt2)
class zef4(Scene):
def construct(self):
self.camera.background_color = WHITE
ax = Axes(
y_range=[-1.5, 1.5, 3],
x_range=[0, (5 * PI) / 2, PI / 2],
tips=False,
).set_color(BLACK)
labels = ax.get_axis_labels(Tex("t"), Tex("U")).set_color(BLACK)
f1 = ax.plot(lambda x: np.sin(x), color=RED)
self.add(ax, labels, f1)
class zef5(Scene):
def construct(self):
self.camera.background_color = WHITE
ax = Axes(
y_range=[-1.5, 1.5, 3],
x_range=[0, (5 * PI) / 2, PI / 2],
tips=False,
).set_color(BLACK)
labels = ax.get_axis_labels(Tex("t"), Tex("U")).set_color(BLACK)
f1 = ax.plot(lambda x: np.sin(x), color=RED)
f2 = ax.plot(lambda x: np.sin(x + 120 * DEGREES), color=BLUE)
self.add(ax, labels, f1, f2)
class zef5(Scene):
def construct(self):
self.camera.background_color = WHITE
ax = Axes(
y_range=[-1.5, 1.5, 3],
x_range=[0, (5 * PI) / 2, PI / 2],
tips=False,
).set_color(BLACK)
labels = ax.get_axis_labels(Tex("t"), Tex("U")).set_color(BLACK)
f1 = ax.plot(lambda x: np.sin(x), color=RED)
f2 = ax.plot(lambda x: np.sin(x + 120 * DEGREES), color=BLUE)
f3 = ax.plot(lambda x: np.sin(x + 240 * DEGREES), color=GREEN)
self.add(ax, labels, f1, f2, f3)