#!/usr/bin/python3 # bez funkcji x = (-2, -1) y = (-0.5, 0.5) n = 0.01 xn = x[0] yn=y[0] while yn < y[1]: xn=x[0] while xn < x[1]: # print(xn) a = 0.0 b = 0.0 for i in range(7): # print(i) a = a**2-b**2+xn b = 2*a*b +yn if (a**2+b**2)**0.5<2: print('*', end='') else: print('0', end='') xn += n print() yn = yn+n # funkcjami i numpy import numpy def painting_func(func, args={}, xrange=(-2, -1), yrange=(-0.5, 0.5), n=0.01): for yn in numpy.arange(yrange[0], yrange[1], n): for xn in numpy.arange(xrange[0], xrange[1], n): if func(xn, yn, **args): print('*', end='') else: print('-', end='') print() def mandel(xn, yn, ): # * - rozpakowanie pozycyjnych ** rozpakowanie słownika a = 0.0 b = 0.0 for i in range(7): a = a ** 2 - b ** 2 + xn b = 2 * a * b + yn return (a ** 2 + b ** 2) ** 0.5 < 2 def square_func(xn, yn, x0, y0, b): # sprawdzamy czy jesteśmy na boku if xn==x0 and yn>=y0 and yn<=y0+b: return True elif yn==y0 and xn>=x0 and xn<=x0+b: return True elif xn==x0+b and yn>=y0 and yn<=y0+b: return True elif yn == y0+b and xn >= x0 and xn <= x0 + b: return True elif x0<=xn and x0+b>=xn and y0<=yn and y0+b>=yn: # sprawdzamy czy jesteśmy wewnątrz kwadratu if xn-x0==yn-y0: # czy jesteśmy na prostokątnej return True elif b-xn+x0 == yn-y0: # czy jesteśmy na przeciwprostokątnej return True return False print() painting_func(mandel) print() square = {'x0': 4, 'y0':4, 'b':10} painting_func(square_func, square, xrange=(0, 40), yrange=(0,40), n=1)