
My Customized Pattern Bracelet
thingiverse
# 3D Surface Representation ```python import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D import numpy as np class Surface3D: def __init__(self, vertices, edges, inner_diameter): self.vertices = vertices self.edges = edges self.inner_diameter = inner_diameter self.generate_coordinates() def generate_coordinates(self): n_edges = len(self.edges) self.edge_radius = self.inner_diameter / 2.0 + 0.5 phi, theta = np.linspace(0, np.pi, n_edges + 1), np.linspace( -np.pi, np.pi, n_edges + 1) z_grid = (np.cos(phi[:-1]) * np.cos(theta)) self.XYZ[:, :, :] = [ (z_grid[:, None] * (self.edge_radius - (theta + phi) ** 2)) for theta in theta[None, :]] def plot(self): fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.plot_surface( self.XYZ[0, :, :], self.XYZ[1, :, :], self.XYZ[2, :, :], color='g', rstride=2, cstride=2) plt.show() vertices = [ [-0.04794520547945205,-0.023472602739726015,-0.01438306024687502,-0.00621350965463801], [-0.04481473014483015,-0.025490095189808913,-0.013384503124408907,-0.005193502637039912]] edges = [ [9, 14],[17,10],[22,6],[26,7],[35,13],[45,5],[51,21], [56,8],[61,15],[65,24],[69,25],[75,31],[79,30],[85,16], [92,4],[97,20],[101,11],[106,23],[112,18],[117,12],[122,19]] inner_diameter = 51 surface3d = Surface3D(vertices, edges, inner_diameter) surface3d.plot() ```
With this file you will be able to print My Customized Pattern Bracelet with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on My Customized Pattern Bracelet.