Twisted Drop
pinshape
Summary This is a mathematical doodle created with my marching cubes code. It's an isosurface of squashed and rotated spheres that change as you move up the model. Print Settings Printer: Eaglemoss Vector3 Rafts: Yes Supports: Yes Resolution: 0.2 mm Infill: 20% The bottom is quite curved, with several overhangs, so a raft and supports are required for this model. How I Designed This I started by using code I give my students to help them begin 3D graphics projects. This code helps them create models programmatically in Vertex and Index Buffers. I then used the Marching Cubes function to feed an equation into the code, which produced a Vertex Buffer containing the given isosurface of that equation. The model was created in a cubic region with sides measuring 2 Pi, centered at the origin, and using a 100 x 100 x 100 grid of values. Value Function This is the code used to calculate the function/equation value for a given point in space: float VBMarchCubes::function(Vector3 _pos) { _pos *= 2.0; float w = _pos.z *1.2f; float x = (_pos.x *cos(w) - _pos.y * sin(w))/(0.25*(_pos.z+XM_PI)), y = (_pos.x*sin(w)+_pos.y*cos(w)) /(0.25* (_pos.z + XM_PI)), z = _pos.z; float x1 = _pos.x, y1 = _pos.y, z1 = _pos.z; return ((x + 1)*(x + 1) + (y + 1)*(y + 1) + (z -2)*(z -2) - XM_PIDIV2*XM_PIDIV2)*((x - 1)*(x - 1) + (y - 1)*(y - 1) + (z -2)*(z -2) - XM_PIDIV2*XM_PIDIV2) *((x - 1)*(x - 1) + (y + 1)*(y + 1) + (z - 1)*(z - 1) - XM_PIDIV2*XM_PIDIV2)*((x + 1)*(x + 1) + (y - 1)*(y - 1) + (z - 1)*(z - 1) - XM_PIDIV2*XM_PIDIV2) *( (x + 1)*(x + 1) + (y + 1)*(y + 1) + (z + 1)*(z + 1) - XM_PIDIV2*XM_PIDIV2)*((x - 1)*(x - 1) + (y - 1)*(y - 1) + (z + 1)*(z + 1) - XM_PIDIV2*XM_PIDIV2) *((x1*x1/(XM_PI*XM_PI)+y1*y1/(XM_PI*XM_PI)+(z1-4)*(z1-4)/(XM_PIDIV4*XM_PIDIV4))-1); }
With this file you will be able to print Twisted Drop 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 Twisted Drop.