def zoomIn(self, x0, y0, x1, y1): Fractal.zoomIn(self, x0, y0, x1, y1) # save current c area self.cPlaneAreaHistory.append(self.cPlaneArea) # calculate new c area (a0, b0, a1, b1) print "self.zoomArea is ", self.zoomArea a0 = (self.cPlaneArea[2] - self.cPlaneArea[0]) / 600 * (self.zoomArea[0] - self.border[0]) + self.cPlaneArea[0] b0 = (self.cPlaneArea[3] - self.cPlaneArea[1]) / 600 * (self.zoomArea[1] - self.border[1]) + self.cPlaneArea[1] a1 = (self.cPlaneArea[2] - self.cPlaneArea[0]) / 600 * (self.zoomArea[2] - self.border[0]) + self.cPlaneArea[0] b1 = (self.cPlaneArea[3] - self.cPlaneArea[1]) / 600 * (self.zoomArea[3] - self.border[1]) + self.cPlaneArea[1] self.cPlaneArea = (a0, b0, a1, b1) print "cPlaneArea is ", self.cPlaneArea return True
def zoomOut(self): if len(self.cPlaneAreaHistory) == 0: return False Fractal.zoomOut(self) self.cPlaneArea = self.cPlaneAreaHistory.pop() return True
def __init__(self): Fractal.__init__(self) self.gladefile = "fractals/DLAFractal.glade" self.wTree = gtk.glade.XML(self.gladefile) for i in range(600): self.map.append([]) for j in range(600): self.map[i].append(False) return
def __init__(self): if __name__ == "__main__": return Fractal.__init__(self) self.gladefile = "fractals/JuliaSetFractal.glade" self.wTree = gtk.glade.XML(self.gladefile) callbackDic = { "on_presetCombobox_changed" : self.on_presetCombobox_changed } self.wTree.signal_autoconnect(callbackDic) self.definePresetParams() return
def __init__(self, screen, underlyingFractal): self.screen = screen self.renderSize = (720, 510) self.renderScreen = pygame.Surface(self.renderSize) self.fractal = Fractal(self.renderScreen.get_rect().size, underlyingFractal) self.fractal.draw() self._initAssets()
def __init__(self): if __name__ == "__main__": return Fractal.__init__(self) self.gladefile = "fractals/JuliaSetFractal.glade" self.wTree = gtk.glade.XML(self.gladefile) callbackDic = { "on_presetCombobox_changed": self.on_presetCombobox_changed } self.wTree.signal_autoconnect(callbackDic) self.definePresetParams() return
def __init__(self): Fractal.__init__(self) print "SyntaxFractal.__init__" self.gladefile = "fractals/SyntaxFractal.glade" self.wTree = gtk.glade.XML(self.gladefile) callbackDic = { "on_checkbutton1_toggled" : self.on_checkbutton1_toggled, "on_checkbutton2_toggled" : self.on_checkbutton2_toggled, "on_checkbutton3_toggled" : self.on_checkbutton3_toggled, "on_presetCombobox_changed" : self.on_presetCombobox_changed } self.wTree.signal_autoconnect(callbackDic) self.definePresetParams() return
def __init__(self): Fractal.__init__(self) print "SyntaxFractal.__init__" self.gladefile = "fractals/SyntaxFractal.glade" self.wTree = gtk.glade.XML(self.gladefile) callbackDic = { "on_checkbutton1_toggled": self.on_checkbutton1_toggled, "on_checkbutton2_toggled": self.on_checkbutton2_toggled, "on_checkbutton3_toggled": self.on_checkbutton3_toggled, "on_presetCombobox_changed": self.on_presetCombobox_changed } self.wTree.signal_autoconnect(callbackDic) self.definePresetParams() return
def zoomIn(self, x0, y0, x1, y1): Fractal.zoomIn(self, x0, y0, x1, y1) # save current c area self.cPlaneAreaHistory.append(self.cPlaneArea) # calculate new c area (a0, b0, a1, b1) print "self.zoomArea is ", self.zoomArea a0 = (self.cPlaneArea[2] - self.cPlaneArea[0]) / 600 * ( self.zoomArea[0] - self.border[0]) + self.cPlaneArea[0] b0 = (self.cPlaneArea[3] - self.cPlaneArea[1]) / 600 * ( self.zoomArea[1] - self.border[1]) + self.cPlaneArea[1] a1 = (self.cPlaneArea[2] - self.cPlaneArea[0]) / 600 * ( self.zoomArea[2] - self.border[0]) + self.cPlaneArea[0] b1 = (self.cPlaneArea[3] - self.cPlaneArea[1]) / 600 * ( self.zoomArea[3] - self.border[1]) + self.cPlaneArea[1] self.cPlaneArea = (a0, b0, a1, b1) print "cPlaneArea is ", self.cPlaneArea return True
def __init__(self): Fractal.__init__(self) self.gladefile = "fractals/IFSFractal.glade" self.wTree = gtk.glade.XML(self.gladefile) callbackDic = { "on_paramEnabled1_toggled" : self.on_paramEnabled1_toggled, "on_paramEnabled2_toggled" : self.on_paramEnabled2_toggled, "on_paramEnabled3_toggled" : self.on_paramEnabled3_toggled, "on_paramEnabled4_toggled" : self.on_paramEnabled4_toggled, "on_paramEnabled5_toggled" : self.on_paramEnabled5_toggled, "on_paramEnabled6_toggled" : self.on_paramEnabled6_toggled, "on_paramEnabled7_toggled" : self.on_paramEnabled7_toggled, "on_paramEnabled8_toggled" : self.on_paramEnabled8_toggled, "on_presetCombobox_changed": self.on_presetCombobox_changed } self.wTree.signal_autoconnect(callbackDic) self.definePresetParams() return
def __init__(self, dictionary, name): Fractal.__init__(self, dictionary, name)
class FractalGraphics: def __init__(self, screen, underlyingFractal): self.screen = screen self.renderSize = (720, 510) self.renderScreen = pygame.Surface(self.renderSize) self.fractal = Fractal(self.renderScreen.get_rect().size, underlyingFractal) self.fractal.draw() self._initAssets() def _initAssets(self): self.back = pygame.image.load('./images/back.png') self.back = pygame.transform.scale(self.back, (int( self.back.get_width() / 11), int(self.back.get_height() / 11))) self.upArrow = pygame.image.load('./images/arrow.png') self.upArrow = pygame.transform.rotate(self.upArrow, 90) self.upArrow = pygame.transform.scale(self.upArrow, (int( self.upArrow.get_width() / 7), int(self.upArrow.get_height() / 7))) self.rightArrow = pygame.image.load('./images/arrow.png') self.rightArrow = pygame.transform.scale( self.rightArrow, (int(self.rightArrow.get_width() / 7), int(self.rightArrow.get_height() / 7))) self.downArrow = pygame.image.load('./images/arrow.png') self.downArrow = pygame.transform.rotate(self.downArrow, 270) self.downArrow = pygame.transform.scale( self.downArrow, (int(self.downArrow.get_width() / 7), int(self.downArrow.get_height() / 7))) self.leftArrow = pygame.image.load('./images/arrow.png') self.leftArrow = pygame.transform.rotate(self.leftArrow, 180) self.leftArrow = pygame.transform.scale( self.leftArrow, (int(self.leftArrow.get_width() / 7), int(self.leftArrow.get_height() / 7))) self.plus = pygame.image.load('./images/plus.png') self.plus = pygame.transform.scale( self.plus, (int(self.plus.get_width() / 7), int(self.plus.get_height() / 7))) self.minus = pygame.image.load('./images/minus.png') self.minus = pygame.transform.scale(self.minus, (int( self.minus.get_width() / 7), int(self.minus.get_height() / 7))) self.zoomFont = pygame.font.SysFont('Comic Sans MS', 80) def play(self): while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1: rect = self.back.get_rect().move((15, 20)) if rect.collidepoint(event.pos): return rect = self.upArrow.get_rect().move( (int(self.upArrow.get_width()), int(self.screen.get_height() - 3 * self.upArrow.get_height()))) if rect.collidepoint(event.pos): self.fractal.move(pygame.K_UP) rect = self.rightArrow.get_rect().move( (int(self.rightArrow.get_width() * 2), int(self.screen.get_height() - 2 * self.rightArrow.get_height()))) if rect.collidepoint(event.pos): self.fractal.move(pygame.K_RIGHT) rect = self.downArrow.get_rect().move( (int(self.downArrow.get_width()), int(self.screen.get_height() - self.downArrow.get_height()))) if rect.collidepoint(event.pos): self.fractal.move(pygame.K_DOWN) rect = self.leftArrow.get_rect().move( (0, int(self.screen.get_height() - 2 * self.leftArrow.get_height()))) if rect.collidepoint(event.pos): self.fractal.move(pygame.K_LEFT) rect = self.plus.get_rect().move( (int(self.screen.get_width() - 1.3 * self.plus.get_width()), int(self.screen.get_height() - 2 * self.plus.get_height()))) if rect.collidepoint(event.pos): self.fractal.zoomIn((0.5, 0.5)) rect = self.minus.get_rect().move( (int(self.screen.get_width() - 1.3 * self.minus.get_width()), int(self.screen.get_height() - 2 * self.minus.get_height()))) if rect.collidepoint(event.pos): self.fractal.zoomOut() if event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: return if event.key == pygame.K_EQUALS: x, y = pygame.mouse.get_pos() x /= self.screen.get_rect().size[0] y /= self.screen.get_rect().size[1] self.fractal.zoomIn((x, y)) if event.key == pygame.K_MINUS: self.fractal.zoomOut() if event.key == pygame.K_UP or \ event.key == pygame.K_RIGHT or \ event.key == pygame.K_DOWN or \ event.key == pygame.K_LEFT: self.fractal.move(event.key) self.show() def show(self): self.renderScreen.blit(self.fractal.getFractal(), (0, 0)) self.screen.blit( pygame.transform.scale(self.renderScreen, self.screen.get_rect().size), (0, 0)) self.screen.blit(self.back, (15, 20)) self.screen.blit( self.upArrow, (int(self.upArrow.get_width()), int(self.screen.get_height() - 3 * self.upArrow.get_height()))) self.screen.blit( self.rightArrow, (int(self.rightArrow.get_width() * 2), int(self.screen.get_height() - 2 * self.rightArrow.get_height()))) self.screen.blit( self.downArrow, (int(self.downArrow.get_width()), int(self.screen.get_height() - self.downArrow.get_height()))) self.screen.blit( self.leftArrow, (0, int(self.screen.get_height() - 2 * self.leftArrow.get_height()))) self.screen.blit( self.plus, (int(self.screen.get_width() - 1.3 * self.plus.get_width()), int(self.screen.get_height() - 2 * self.plus.get_height()))) self.screen.blit( self.minus, (int(self.screen.get_width() - 1.3 * self.minus.get_width()), int(self.screen.get_height() - 2 * self.minus.get_height()))) zoom = str(int(self.fractal.getZoom())) self.screen.blit( self.zoomFont.render(zoom, False, (255, 255, 255)), (int(self.screen.get_width() - 145 - len(zoom) * 30), 50)) pygame.display.flip()
def __init__(self): Fractal.__init__(self) self.gladefile = "fractals/MandelbrotFractal.glade" self.wTree = gtk.glade.XML(self.gladefile) return
def __init__(self): Fractal.__init__(self) return
def __init__(self, dictionary, name): Fractal.__init__(self, dictionary, name) self.complex = complex(float(dictionary["creal"]), float(dictionary["cimag"]))