рдирдорд╕реНрддреЗ!
рдПрдХ рдФрд░ рдирд┐рдмрдВрдзред рдЗрд╕ рдмрд╛рд░ рдЪрд▓реЛ рдЬрдЯрд┐рд▓ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рддреЗ рд╣реИрдВ, рд╕реВрддреНрд░ рдФрд░ рдЙрдирдХреЗ рджреГрд╢реНрдп рдХреЗ рд╕рд╛рдеред

рд╡рд┐рдЪрд╛рд░
рдПрдХ рдЬрдЯрд┐рд▓ рд╕рдВрдЦреНрдпрд╛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╡реЗрдХреНрдЯрд░ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВрд╕рд┐рджреНрдзреЛрдВ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рд╕реЗрдЯ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдЬрдЯрд┐рд▓ (рдФрд░ рдЗрд╕рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ) рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдЬрд╣рд╛рдВ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдмреА рдХрд╛рд▓реНрдкрдирд┐рдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдореИрдВ рд╕рдореАрдХрд░рдг рдХрд╛ рдореВрд▓ рд╣реИ
ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдИ рдСрдкрд░реЗрд╢рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИрдВ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
ред рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдпрджрд┐ рдЖрдк рдЙрдирдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рдСрдкрд░реЗрд╢рди рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рд╢рдХреНрддрд┐ рдХреЛ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ, рдЧреБрдгрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЖрджрд┐, рдФрд░ рдлрд┐рд░ рд▓реЗрддреЗ рд╣реИрдВ
(рд╡рд╛рд╕реНрддрд╡рд┐рдХ рднрд╛рдЧ) рдЕрдХреНрд╖ рдХреЗ рд▓рд┐рдП рдмреИрд▓, рдФрд░
(рдХрд╛рд▓реНрдкрдирд┐рдХ рднрд╛рдЧ) рдУрдП рдЕрдХреНрд╖ рдХреЗ рд▓рд┐рдП, рдЖрдк рдордЬрд╝реЗрджрд╛рд░ рдЪрд┐рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡реИрд╕реЗ, рдореИрдВ рд╕реНрд╡рдпрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рднреА рд╕реВрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рд╣реВрдВред
рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдлрд╝рдВрдХреНрд╢рди
рдирд┐рдпрдорд┐рддред рдлрд╝рдВрдХреНрд╢рди, рдЬреЛ рдЗрд╕ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд╝реАрд▓реНрдб рдкрд░ рд╕рдм рдХреБрдЫ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ:
import random import numpy as np def vis(A, f, step=1.0, c=None): x = [] y = [] for B in np.arange(0, A, step): v = f(A, B) x.append(v.real) y.append(v.imag) plt.figure(figsize=[8, 8]) mxabs = max([i[0] ** 2 + i[1] ** 2 for i in zip(x, y)]) ** 0.5 x = np.array(x) / mxabs y = np.array(y) / mxabs if c is None: plt.scatter(x, y) else: plt.scatter(x, y, color=[c(x[i], y[i]) for i in range(len(x))]) plt.show()
рд╣рдорд╛рд░реЗ рд╕рднреА рдХрд╛рд░реНрдп рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдП рдФрд░ рдмреА рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдмреА рдЗрдирд╕рд░реНрдЯ рдЗрди рд╡рд┐рд╕ (), рдФрд░ рдП рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡реИрд╢реНрд╡рд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВред
рдХрд░реНрд▓ рд╕рдорд╛рд░реЛрд╣
рдЕрдЬрдЧрд░ рдореЗрдВ рдЙрд╕рдХреА рдШреЛрд╖рдгрд╛:
def func_1(A, B): return math.sin(B) * B * math.e ** (1j * (B * math.cos(A)))
рдФрд░ рджреМрдбрд╝реЛ
A = 121.5 vis(A, func_1, step=0.1)
рдФрд░ рдП = 121.5 рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо:

рдФрд░ рдП = 221.5 рдХреЗ рд▓рд┐рдП:

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпреЗ рд╕рдВрдЦреНрдпрд╛ рдПрдХ рдЪрд┐рдХрдиреА рдХрдИ рдЧреБрдирд╛ рдФрд░ рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЕрд░реНрдерд╣реАрди рдЕрдиреНрдп рдЪрддреБрд░ рд╢рдмреНрджреЛрдВ рдкрд░ рдХрд┐рд╕реА рдирд┐рд╢реНрдЪрд┐рдд рдЕрднрд┐рдиреНрди рдХреА рдЧрдгрдирд╛ рд╕реЗ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рдпреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╣реИрдВ, рдФрд░ рдЕрднреА рднреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдП рдХреА рдЕрдирдВрддрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕реМрдВрджрд░реНрдп рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред
рдкреЗрдВрдЯ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ
рд╣рдо рдПрдХ рд░рдВрдЧ рд╕рдорд╛рд░реЛрд╣ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдРрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрдВ рддреАрди рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд▓реМрдЯрд╛рддрд╛ рд╣реИ):
def sigm(x):
рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ A рдЪреБрдиреЗрдВ, рдЗрд╕реЗ 149 рд╣реЛрдиреЗ рджреЗрдВ:
vis(149, func_1, step=0.1, c=color_1)

рдЧреАрдд рд╕рдорд╛рд░реЛрд╣
рдЧреАрдЬрд╝ рдХрд╛ рд╡рд░реНрдгрди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
f (A, B) = cos (B) рдкрд╛рдк (B) * B * e ^ {iBcos (A) 2
рдкрд╛рдпрдерди рдШреЛрд╖рдгрд╛:
def func_2(A, B): return math.cos(B) * math.sin(B) * B * math.e ** (1j * (B * math.cos(A)))
рдП = 106 рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо:

рдлреЛрдХреЗрд╢рд┐рдпрд╛ рдлрд╝рдВрдХреНрд╢рди
def func_3(A, B): return math.cos((A + 1) * B) * math.e ** (1j * (B * math.cos(A)))
vis(246, func_3, step=0.1, c=color_2)

vis(246, func_3, step=0.1, c=color_2)

рд╢реАрд░реНрд╖рдХрд╣реАрди рдХрд╛рд░реНрдп
color_3 = lambda x, y: (0.5, 0.5, sigm(x ** 2 + y ** 2)) vis(162, func_4, step=0.1, c=color_3)

vis(179, func_4, step=0.1, c=color_3)

рд╕реМрдВрджрд░реНрдп рдХрд╛ рд╕реВрддреНрд░
def func_5(A, B): return math.cos((A + 1) * B) ** 1.5 * math.e ** (1j * (B * math.cos(A)))
color_4 = lambda x, y: (sigm(x ** 2 + y ** 2) / 2, 0.5, 1 - sigm(x ** 2 + y ** 2)) vis(345, func_5, step=0.1, c=color_4)

vis(350, func_5, step=0.1, c=color_4)

рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрддрдирд╛ рд╣реАред
рдкреВрд░рд╛ рдХреЛрдб import numpy as np import random import matplotlib.pyplot as plt import math def vis(A, f, step=1.0, c=None): x = [] y = [] for B in np.arange(0, A, step): v = f(A, B) x.append(v.real) y.append(v.imag) plt.figure(figsize=[7, 7]) mxabs = max([i[0] ** 2 + i[1] ** 2 for i in zip(x, y)]) ** 0.5 x = np.array(x) / mxabs y = np.array(y) / mxabs if c is None: plt.scatter(x, y) else: plt.scatter(x, y, color=[c(x[i], y[i]) for i in range(len(x))]) plt.show() def func_1(A, B): return math.sin(B) * B * math.e ** (1j * (B * math.cos(A))) def func_2(A, B): return math.cos(B) * math.sin(B) * B * math.e ** (1j * (B * math.cos(A))) def func_3(A, B): return math.cos((A + 1) * B) * math.e ** (1j * (B * math.cos(A))) def func_4(A, B): return math.sin(A + B) * B * math.e ** (1j * B * math.sin(A)) def func_5(A, B): return math.cos((A + 1) * B) ** 1.5 * math.e ** (1j * (B * math.cos(A))) def sigm(x): return (1 / (1 + 1.2 ** (-x*50)) - 0.5) * 2 color_1 = lambda x, y: (0.2, sigm(x ** 2 + y ** 2) / 1.4, 1 - sigm(x ** 2 + y ** 2)) color_2 = lambda x, y: (sigm(x ** 2 + y ** 2), 0.5, 0.5) color_3 = lambda x, y: (0.5, 0.5, sigm(x ** 2 + y ** 2)) color_4 = lambda x, y: (sigm(x ** 2 + y ** 2) / 2, 0.5, 1 - sigm(x ** 2 + y ** 2)) colors = [color_1, color_2, color_3, color_4] funcs = [func_1, func_2, func_3, func_4, func_5] while True: col = random.choice(colors) func = random.choice(funcs) vis(random.random() * 200 + 100, func, step=0.1, c=col) if input() == "exit": break
рдЕрдзрд┐рдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ