Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python2
- # coding: utf-8
- import cairo
- class Saved():
- def __init__(self, cr):
- self.cr = cr
- def __enter__(self):
- self.cr.save()
- return self.cr
- def __exit__(self, type, value, traceback):
- self.cr.restore()
- def Tree(angle):
- cr.move_to(0, 0)
- cr.translate(0, -260)
- cr.line_to(0, 0)
- cr.stroke()
- cr.scale(0.72, 0.72)
- if angle > 0.12:
- for a in [-angle, angle]:
- with Saved(cr):
- cr.rotate(a)
- Tree(angle * 0.85)
- surf = cairo.ImageSurface(cairo.FORMAT_ARGB32, 1200, 900)
- cr = cairo.Context(surf)
- cr.translate(600, 899)
- cr.set_line_width(5)
- Tree(0.75)
- surf.write_to_png('fractal-tree.png')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement