Authors | nthiery |
Sources | 2015-12-16-alcoves.svg |
Machine | laser_cutter |
Date | 2015/12/16 |
Material | olive tree wood |
I built this as a gift for a colleague working on crystals and root systems. This represents an alcove walk in the root system of type A2. It is laser cut in a slice of wood coming from an olive tree in Provence that died of frost in the harsh winter of 1955. It’s about 10 cm high and 4 mm thick.
Below some detailed instructions.
Cut a branch using a band saw into slices of thickness roughly 3 mm.
sage: L = RootSystem(["A",2,1]).ambient_space()
sage: w1 = [0,1,2,0,2,1,2,1,0,2,0,2,1,2,1,2,0,2,0,1,2,1,0,1]
sage: p = L.plot(alcove_walk=w1, bounding_box=[[-4.5,4.5],[-2.5,6]], fundamental_chamber=False, labels=False) # long time
sage: for x in p:
....: if isinstance(x, sage.plot.arrow.Arrow):
....: x._options['arrowsize'] = 3
sage: p.save("alcove.svg")
Discard the white background:
S’assurer que le dessin est composé uniquement d’à plats, sans contours:
Sauvegarder dans alcove-sans-fond.svg
Cacher le calque Masque
Fond, pas de contour
Afficher le calque Bois
Print the file with its three layers on A4 paper (be careful to stick to 100% zoom!)
Put the sheet on the laser cutter, with its lower left corner on the upper limit of the 12 mark.
Hide the layers except for Coupe
Export to eps
Enregistrer une copie -> eps -> ...
Launch a dry run (laser pointer on, bay open, no blower)
sudo ifconfig eth0 129.175.5.208/16
export DEVICE_URI="epilog://129.175.5.206/Legend/rp=100/rs=20/vp=100/vs=20/vf=500/rm=grey"
../cups-epilog/epilog 123 nthiery alcoves < 2015-12-16-alcoves1.eps
Put the wood on the sheet, with a bit of two-sided tape to prevent the air blower from moving the wood
Launch a full run
../cups-epilog/epilog 123 nthiery alcoves < 2015-12-16-alcoves1.eps
sage: L = RootSystem(["A",3,1]).ambient_space()
sage: L.plot(reflection_hyperplanes=False, bounding_box=85/100) # long time
sage: L = RootSystem(["B",3,1]).ambient_space()
sage: W = L.weyl_group()
sage: alcoves = [~w for d in range(12) for w in W.affine_grassmannian_elements_of_given_length(d)]
sage: p = L.plot_fundamental_chamber("classical")
sage: p += L.plot_alcoves(alcoves=alcoves, wireframe=True)
sage: p += L.plot_fundamental_weights()
sage: p.show(frame=False)