# Line3D¶

Qualified name: `manim.mobject.three\_d.three\_dimensions.Line3D`

class Line3D(start=array([-1., 0., 0.]), end=array([1., 0., 0.]), thickness=0.02, color=None, **kwargs)[source]

Bases: `Cylinder`

A cylindrical line, for use in ThreeDScene.

Parameters:
• start (np.ndarray) – The start point of the line.

• end (np.ndarray) – The end point of the line.

• thickness (float) – The thickness of the line.

• color (ParsableManimColor | None) – The color of the line.

Examples

Example: ExampleLine3D

```from manim import *

class ExampleLine3D(ThreeDScene):
def construct(self):
axes = ThreeDAxes()
line = Line3D(start=np.array([0, 0, 0]), end=np.array([2, 2, 2]))
self.set_camera_orientation(phi=75 * DEGREES, theta=30 * DEGREES)
```
```class ExampleLine3D(ThreeDScene):
def construct(self):
axes = ThreeDAxes()
line = Line3D(start=np.array([0, 0, 0]), end=np.array([2, 2, 2]))
self.set_camera_orientation(phi=75 * DEGREES, theta=30 * DEGREES)

```

Methods

 `get_end` Returns the ending point of the `Line3D`. `get_start` Returns the starting point of the `Line3D`. `parallel_to` Returns a line parallel to another line going through a given point. `perpendicular_to` Returns a line perpendicular to another line going through a given point. `pointify` Gets a point representing the center of the `Mobjects`. `set_start_and_end_attrs` Sets the start and end points of the line.

Attributes

 `animate` Used to animate the application of any method of `self`. `animation_overrides` `color` `depth` The depth of the mobject. `fill_color` If there are multiple colors (for gradient) this returns the first one `height` The height of the mobject. `n_points_per_curve` `sheen_factor` `stroke_color` `width` The width of the mobject.
_original__init__(start=array([-1., 0., 0.]), end=array([1., 0., 0.]), thickness=0.02, color=None, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

Parameters:
get_end()[source]

Returns the ending point of the `Line3D`.

Returns:

end – Ending point of the `Line3D`.

Return type:

`numpy.array`

get_start()[source]

Returns the starting point of the `Line3D`.

Returns:

start – Starting point of the `Line3D`.

Return type:

`numpy.array`

classmethod parallel_to(line, point=array([0., 0., 0.]), length=5, **kwargs)[source]

Returns a line parallel to another line going through a given point.

Parameters:
• line (Line3D) – The line to be parallel to.

• point (Vector3D) – The point to pass through.

• length (float) – Length of the parallel line.

• kwargs – Additional parameters to be passed to the class.

Returns:

Line parallel to `line`.

Return type:

`Line3D`

Examples

Example: ParallelLineExample

```from manim import *

class ParallelLineExample(ThreeDScene):
def construct(self):
self.set_camera_orientation(PI / 3, -PI / 4)
ax = ThreeDAxes((-5, 5), (-5, 5), (-5, 5), 10, 10, 10)
line1 = Line3D(RIGHT * 2, UP + OUT, color=RED)
line2 = Line3D.parallel_to(line1, color=YELLOW)
```
```class ParallelLineExample(ThreeDScene):
def construct(self):
self.set_camera_orientation(PI / 3, -PI / 4)
ax = ThreeDAxes((-5, 5), (-5, 5), (-5, 5), 10, 10, 10)
line1 = Line3D(RIGHT * 2, UP + OUT, color=RED)
line2 = Line3D.parallel_to(line1, color=YELLOW)

```
classmethod perpendicular_to(line, point=array([0., 0., 0.]), length=5, **kwargs)[source]

Returns a line perpendicular to another line going through a given point.

Parameters:
• line (Line3D) – The line to be perpendicular to.

• point (Vector3D) – The point to pass through.

• length (float) – Length of the perpendicular line.

• kwargs – Additional parameters to be passed to the class.

Returns:

Line perpendicular to `line`.

Return type:

`Line3D`

Examples

Example: PerpLineExample

```from manim import *

class PerpLineExample(ThreeDScene):
def construct(self):
self.set_camera_orientation(PI / 3, -PI / 4)
ax = ThreeDAxes((-5, 5), (-5, 5), (-5, 5), 10, 10, 10)
line1 = Line3D(RIGHT * 2, UP + OUT, color=RED)
line2 = Line3D.perpendicular_to(line1, color=BLUE)
```
```class PerpLineExample(ThreeDScene):
def construct(self):
self.set_camera_orientation(PI / 3, -PI / 4)
ax = ThreeDAxes((-5, 5), (-5, 5), (-5, 5), 10, 10, 10)
line1 = Line3D(RIGHT * 2, UP + OUT, color=RED)
line2 = Line3D.perpendicular_to(line1, color=BLUE)

```
pointify(mob_or_point, direction=None)[source]

Gets a point representing the center of the `Mobjects`.

Parameters:
Returns:

Center of the `Mobjects` or point, or edge if direction is given.

Return type:

`numpy.array`

set_start_and_end_attrs(start, end, **kwargs)[source]

Sets the start and end points of the line.

If either `start` or `end` are `Mobjects`, this gives their centers.

Parameters:
• start (ndarray) – Starting point or `Mobject`.

• end (ndarray) – Ending point or `Mobject`.

Return type:

None