top of page

Fractal geometry (Sierpinski tetrahedron)

  • Peter Mortier
  • Mar 12
  • 1 min read

Updated: 1 day ago

For some basic information about fractals, please check the Menger sponge example. In this example, we will show how to generate a Sierpinski tetrahedron or tetrix.


At the bottom, you can find the resulting 3D model for different levels.


from hellotriangle.mesh import Mesh
import numpy as np

# create equilateral tetrahedron
l = 1.0
h1 = np.sqrt(3.0)/2.0
h2 = np.sqrt(6.0)/3.0

points = [[0.0, 0.0, 0.0],
          [l, 0.0, 0.0],
          [l/2.0, h1, 0.0],
          [l/2.0, h1/3.0, h2]]

conn = [[0, 1, 2, 3]]

tet = Mesh(points, conn, eltype='tet4')

# create Sierpinski tetrahedron
level = 5

for i in range(level):
    tet1 = tet.translate([l, 0.0, 0.0])
    tet2 = tet.translate([l/2.0, h1, 0.0])
    tet3 = tet.translate([l/2.0, h1/3.0, h2])
    tet = (tet + tet1 + tet2 + tet3).scale(0.5)

# draw
draw(tet, color = "#006992")

Sierpinski tetrahedron level 1
Figure: Level 1 Sierpinski tetrahedron

Sierpinski tetrahedron level 2
Figure: Level 2 Sierpinski tetrahedron

Sierpinski tetrahedron level 3
Figure: Level 3 Sierpinski tetrahedron

Sierpinski tetrahedron level 4
Figure: Level 4 Sierpinski tetrahedron
Sierpinski tetrahedron level 5
Figure: Level 5 Sierpinski tetrahedron



Subscribe to our newsletter

Join our email list and get updates about HelloTriangle. Unsubscribe anytime.

Thanks for submitting!

© 2024 by HelloTriangle

  • LinkedIn
bottom of page