Reflection Symmetry
thingiverse
Goto https://shapejs.shapeways.com and use this script. // Example of generalized kaleidoscope. // The idea is similar to traditional kaleidoscope, // which consists of 3 flat mirrors with dihedral angles 60 degree. // One can place an arbitrary object inside such a kaleidoscope // and reflections in the mirrors create infinite repeating pattern. // Here, we use spherical mirrors instead of flat ones. // Reflections in spherical mirrors are inversions in spheres. // Diagonal angle between sphere and plane is integer multiple of PI or 180 degrees. // If that's true, the reflections form regular patterns. // Pattern can be wildly complex. In this case, we have // four mirrors: two flat and two spherical mirrors. They create a disk with scale down pattern. var voxelSize = 0.1 * MM; function getQuad(r,r1,alpha) { var r2 = r*r1 * Math.cos(alpha); var x1 = Math.sqrt(r1r1 + r*r); var y2 = Math.sqrt(r2r2 + r*r); var splanes = new Array(); var count = 0; splanes[count++] = new ReflectionSymmetry.getPlane(new Vector3d(0,-1,0), 0.0); splanes[count++] = new ReflectionSymmetry.getPlane(new Vector3d(-1,0,0), 0.0); splanes[count++] = new ReflectionSymmetry.getSphere(new Vector3d(x1,0,0), -r1); splanes[count++] = new ReflectionSymmetry.getSphere(new Vector3d(0,y2,0), -r2); return splanes; } function makePart(size, thickness) { var t = (thickness / 2) * 1.5; var s = size / 2; var g = createGrid(-t,t,-t,t,-s,s,voxelSize); var boxZ = new Box(0,0,0,thickness,thickness,size); var mm = new GridMaker(); mm.setSource(boxZ); mm.setMaxAttributeValue(255); mm.makeGrid(g); return g; } function makePartG(size, thickness) { var part = makePart(size,thickness); part.setTransform(new Rotation(new Vector3d(-1,1,0), 3 * Math.PI / 8)); return part; } function main() { var a = 25.0; var voxelSize = 0.5; var cz = 20; var cx = 5; var cy = 5 * MM; var dest = makePartG(30, 5); var maker = new GridMaker(); maker.setSource(dest); var t1 = createGrid(-a,a,-a,a,-a,a,voxelSize); return t1;
With this file you will be able to print Reflection Symmetry 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 Reflection Symmetry.