Geometry Line
The defined geometry
VMobject related to line in geometry.py
- Class Line(TipableVMobject)
- Class DashedLine(Line)
- Class TangentLine(Line)
- Class Elbow(VMobject)
- Class Arrow(Line)
- Class Vector(Arrow)
- Class DoubleArrow(Arrow)
Class Line(TipableVMobject)
Line is used to generate line or curved line for given
start and
end points. The arc of a curved line is specified by
pth_arc. And the point clearance of a line is specified by
buff.
Example
Code
# folder/file: tut/manim_mobject_line_001a.py
from manimlib.scene.scene import Scene
from manimlib.mobject.geometry import Line
from manimlib.animation.creation import ShowCreation
class manim_mobject_line_001a(Scene):
def construct(self):
poly = Line((5.5,3,0),(1,0,0),path_arc=1,stroke_width=15,color="#88FF00",fill_color="#FFFF00",fill_opacity=1)
self.play(ShowCreation(poly),run_time=2)
self.play(ShowCreation(Line((-7,4,0),(1,1,0),buff=2)),run_time=2)
self.play(ShowCreation(Line()),run_time=2)
self.play(ShowCreation(Line((5.5,3,0),buff=0.5,path_arc=1,stroke_width=50)),run_time=2)
Output
Class DashedLine(Line)
DashedLine is used to generate dashed line or dashed curved line for given
start and
end points. The dash arrangement is specified by
dash_length and
positive_space_ratio.
Example
Code
# folder/file: tut/manim_mobject_dashedline_001a.py
from manimlib.scene.scene import Scene
from manimlib.mobject.geometry import DashedLine
from manimlib.animation.creation import ShowCreation
class manim_mobject_dashedline_001a(Scene):
def construct(self):
poly = DashedLine((5.5,3,0),(1,0,0),dash_length=0.5,positive_space_ratio=0.5,stroke_width=55,color="#88FF00",path_arc=0.5)
self.play(ShowCreation(poly),run_time=2)
self.play(ShowCreation(DashedLine((-7,4,0),(1,1,0),buff=2)),run_time=2)
self.play(ShowCreation(DashedLine()),run_time=2)
self.play(ShowCreation(DashedLine((5.5,3,0),dash_length=0.5,positive_space_ratio=0.25,stroke_width=15)),run_time=2)
Output
Class TangentLine(Line)
TangentLine is used to generate a tangential line of length
length for a given point specified by a ratio
alpha on a given
VMobject with specified delta alpha
d_alpha
Example
Code
# folder/file: tut/manim_mobject_tangentline_001a.py
from manimlib.scene.scene import Scene
from manimlib.mobject.geometry import TangentLine
from manimlib.mobject.geometry import Circle
from manimlib.mobject.geometry import Triangle
from manimlib.animation.creation import ShowCreation
class manim_mobject_tangentline_001a(Scene):
def construct(self):
circle=Circle()
self.play(ShowCreation(circle),run_time=2)
poly = TangentLine(circle,0.4,path_arc=1,stroke_width=5,color="#88FF00",fill_color="#FFFF00",fill_opacity=1)
self.play(ShowCreation(poly),run_time=2)
self.play(ShowCreation(Triangle()),run_time=2)
self.play(ShowCreation(TangentLine(Triangle(),alpha=0.5,d_alpha=0.06,length=5)),run_time=2)
Output
Class Elbow(VMobject)
Elbow is used to generate an elbow shape for given
width and
angle in radian.
Example
Code
# folder/file: tut/manim_mobject_elbow_001a.py
from manimlib.scene.scene import Scene
from manimlib.mobject.geometry import Elbow
from manimlib.animation.creation import ShowCreation
class manim_mobject_elbow_001a(Scene):
def construct(self):
poly = Elbow(width=3,stroke_width=15,color="#88FF00",fill_color="#FFFF00",fill_opacity=1)
self.play(ShowCreation(poly),run_time=2)
self.play(ShowCreation(Elbow()),run_time=2)
self.play(ShowCreation(Elbow(width=3,angle=1.5708)),run_time=2)
self.play(ShowCreation(Elbow(width=2.2,angle=3.1416,stroke_width=50)),run_time=2)
Output
Class Arrow(Line)
Arrow is used to generate an arrow symbol for given specification.
Example
Code
# folder/file: tut/manim_mobject_arrow_001a.py
from manimlib.scene.scene import Scene
from manimlib.mobject.geometry import Arrow
from manimlib.animation.creation import ShowCreation
class manim_mobject_arrow_001a(Scene):
def construct(self):
poly = Arrow((5.5,3,0),(1,0,0),path_arc=1,stroke_width=15,color="#88FF00",fill_color="#FFFF00",fill_opacity=1)
self.play(ShowCreation(poly),run_time=2)
self.play(ShowCreation(Arrow((-7,4,0),(1,1,0),buff=2)),run_time=2)
self.play(ShowCreation(Arrow(stroke_width=50)),run_time=2)
self.play(ShowCreation(Arrow((5.5,3,0),stroke_width=50,tip_length=1,preserve_tip_size_when_scaling=False,max_tip_length_to_length_ratio=0.4,max_stroke_width_to_length_ratio=30,color="#338833",buff=0.5,path_arc=1)),run_time=2)
Output
Class DoubleArrow(Arrow)
DoubleArrow is used to generate an arrow symbol for given specification.
Example
Code
# folder/file: tut/manim_mobject_doublearrow_001a.py
from manimlib.scene.scene import Scene
from manimlib.mobject.geometry import DoubleArrow
from manimlib.animation.creation import ShowCreation
class manim_mobject_doublearrow_001a(Scene):
def construct(self):
poly = DoubleArrow((-5.5,3,0),path_arc=1,stroke_width=15,color="#88FF00",fill_color="#FFFF00",fill_opacity=1)
self.play(ShowCreation(poly),run_time=2)
self.play(ShowCreation(DoubleArrow((0,-1,0),(1,-1,0))),run_time=2)
self.play(ShowCreation(DoubleArrow(color="#888888")),run_time=2)
self.play(ShowCreation(DoubleArrow((5.5,3,0),max_stroke_width_to_length_ratio=10,preserve_tip_size_when_scaling=False,buff=0,path_arc=1,stroke_width=50)),run_time=2)
Output
Class Vector(Arrow)
Vector is used to generate a vector for given direction.
Example
Code
# folder/file: tut/manim_mobject_vector_001a.py
from manimlib.scene.scene import Scene
from manimlib.mobject.geometry import Vector
from manimlib.animation.creation import ShowCreation
class manim_mobject_vector_001a(Scene):
def construct(self):
poly = Vector((-5.5,3,0),path_arc=1,stroke_width=15,color="#88FF00",fill_color="#FFFF00",fill_opacity=1)
self.play(ShowCreation(poly),run_time=2)
self.play(ShowCreation(Vector(direction=(-1,-1,0),buff=2)),run_time=2)
self.play(ShowCreation(Vector()),run_time=2)
self.play(ShowCreation(Vector((5.5,3,0),max_stroke_width_to_length_ratio=10,preserve_tip_size_when_scaling=False,buff=0.5,path_arc=1,stroke_width=50)),run_time=2)
Output