Sine Wave Surface Function Trippy Art
Print Profile(3)



Description
Hey MakerWorld!
This is a sculpture that I created for the mathematics design contest here. I'm too late because life got in the way, but I figured I would still post it! The profile prints at a small layer height for optimal results.
This is the plot of the surface: z = sin(x^2) sin(y^2). Through hours and hours of trial an error, I figured out a cool way to make this surface and I'll explain how, in case someone wants to do the same thing in the future!
First I created a Python script using ChatGPT that took the z values in increments of 1 from -5 to 5. It then saved the points to a .txt file. The script goes as follows:
import numpy as np
import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D
# Define the function def z(x, y):
return np.sin(x**2) * np.sin(y**2)
# Define the range for x and y
x = np.arange(-5, 6, 1)
y = np.arange(-5, 6, 1)
# Create a meshgrid for x and y
X, Y = np.meshgrid(x, y)
# Calculate Z values
Z = z(X, Y)
# Create a 3D plot
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z, cmap='viridis')
# Set labels
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
# Show the plot plt.show()
np.savetxt('array.txt', Z)
I then used SolidWorks to generate a curve using these points. I then separated the curve into 10 separate curves and the joined them together using the lofted surface command. If you have any questions about how to do this leave me a comment and I'll help!
Hope you find it as cool as I do!
Zachary's Prints
License
You shall not share, sub-license, sell, rent, host, transfer, or distribute in any way the digital or 3D printed versions of this object, nor any other derivative work of this object in its digital or physical format (including - but not limited to - remixes of this object, and hosting on other digital platforms). The objects may not be used without permission in any way whatsoever in which you charge money, or collect fees.






Comment & Rating (8)