export to tikz
This commit is contained in:
@ -10,6 +10,8 @@ from polyomino import Square_element
|
||||
|
||||
from tools import remove_fromlist
|
||||
|
||||
import colors
|
||||
|
||||
# painter class
|
||||
class Painter(Widget):
|
||||
|
||||
@ -451,6 +453,36 @@ class Painter(Widget):
|
||||
ff.close()
|
||||
self.draw()
|
||||
|
||||
# export to tikz
|
||||
def export_tikz(self,file):
|
||||
# abort if no particles
|
||||
if len(self.particles)==0:
|
||||
return
|
||||
ff=open(file,"w")
|
||||
|
||||
# header
|
||||
ff.write("\documentclass{standalone}\n")
|
||||
ff.write("\n")
|
||||
ff.write("\\usepackage[svgnames]{xcolor}\n")
|
||||
ff.write("\\usepackage{tikz}\n")
|
||||
ff.write("\\usepackage{jam}\n")
|
||||
ff.write("\n")
|
||||
ff.write("\\begin{document}\n")
|
||||
ff.write("\\begin{tikzpicture}\n")
|
||||
ff.write("\n")
|
||||
|
||||
# write position of particles
|
||||
for particle in self.particles:
|
||||
if type(particle)==Cross:
|
||||
ff.write("\cross{"+colors.closest_color(particle.color,colors.xcolor_names)+"}")
|
||||
ff.write("{{({:05.2f},{:05.2f})}};\n".format(particle.squares[0].pos.x-self.particles[0].squares[0].pos.x,particle.squares[0].pos.y-self.particles[0].squares[0].pos.y))
|
||||
|
||||
ff.write("\\end{tikzpicture}\n")
|
||||
ff.write("\\end{document}\n")
|
||||
ff.write("\n")
|
||||
|
||||
ff.close()
|
||||
|
||||
# set zoom level
|
||||
def set_zoom(self,level):
|
||||
Square_element.size=level*50
|
||||
|
Reference in New Issue
Block a user