3D Surface

Möbius Strip Surface

Classic non-orientable surface with only one side and one edge.

Output
Möbius Strip Surface
Python
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.colors import LinearSegmentedColormap

colors = ['#ffffff', '#ffedd5', '#f97316', '#c2410c']
cmap = LinearSegmentedColormap.from_list('light_orange', colors, N=256)

u = np.linspace(0, 2*np.pi, 100)
v = np.linspace(-0.5, 0.5, 30)
U, V = np.meshgrid(u, v)

X = (1 + V*np.cos(U/2)) * np.cos(U)
Y = (1 + V*np.cos(U/2)) * np.sin(U)
Z = V * np.sin(U/2)

fig = plt.figure(figsize=(10, 8), facecolor='#ffffff')
ax = fig.add_subplot(111, projection='3d', facecolor='#ffffff')

surf = ax.plot_surface(X, Y, Z, cmap=cmap, linewidth=0, antialiased=True)

ax.set_xlabel('X', color='#1f2937', fontsize=10)
ax.set_ylabel('Y', color='#1f2937', fontsize=10)
ax.set_zlabel('Z', color='#1f2937', fontsize=10)
ax.set_title('Möbius Strip Surface', color='#1f2937', fontsize=14, fontweight='bold', pad=20)

ax.tick_params(colors='#6b7280', labelsize=8)
ax.xaxis.pane.fill = False
ax.yaxis.pane.fill = False
ax.zaxis.pane.fill = False
ax.xaxis.pane.set_edgecolor('#e5e7eb')
ax.yaxis.pane.set_edgecolor('#e5e7eb')
ax.zaxis.pane.set_edgecolor('#e5e7eb')

ax.view_init(elev=30, azim=45)
plt.tight_layout()
plt.show()
Library

Matplotlib

Category

3D Charts

Did this help you?

Support PyLucid to keep it free & growing

Support