// A mnemonic for the Bloch sphere with X, Y and Z cut into it. // Created for FutureLearn Introduction to Quantum Computing, 10/2017 Letter_Height=100; Line_Height=2; Line_Width=2; //The size the letters are font_size = 20;//[1:50] //Note: not all fonts may work text_font = "Arial:style=Bold"; // Placement marks XLeft = -80; XMidLeft = -50; XMidMidLeft = -15; XMid = 10; YUp = 30; YMid = 0; XRight = 80; XMidRight = 50; YDown = -35; // for the holes we're cutting HoleQuality = 50; module PlaceLetter(ThisChar, x, y, z=0) { translate([x-5,y-4,z]){ linear_extrude(height = Letter_Height, convexity = 10){ text(ThisChar, font = text_font, size = font_size); } } }; MyRad = 25; module MyAxes() { union() { translate([-font_size/2, -font_size/2, -MyRad*1.05]) linear_extrude(height = MyRad*2.1, convexity = 10){ text("Z", font = text_font, size = font_size); }; rotate([90,0,0]) translate([-font_size/2, -font_size/2, -MyRad*1.05]) linear_extrude(height = MyRad*2.1, convexity = 10){ text("Y", font = text_font, size = font_size); }; rotate([0,90,0]) rotate([0,0,90]) translate([-font_size/2, -font_size/2, -MyRad*1.05]) linear_extrude(height = MyRad*2.1, convexity = 10){ text("X", font = text_font, size = font_size); }; }; }; // MyAxes(); rotate([45,0,0]) difference() { sphere(r = MyRad); MyAxes(); }