fork download
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3.  
  4. # Модуль и аргумент z
  5. r_z = np.sqrt(22/7)
  6. theta_z = np.pi/12
  7.  
  8. # Модуль и аргументы w_k
  9. r_w = (22/7)**(1/6)
  10. thetas_w = [np.pi/36, 25*np.pi/36, 49*np.pi/36]
  11.  
  12. # Создание фигуры
  13. fig, ax = plt.subplots(figsize=(8, 8))
  14.  
  15. # Окружность для z (пунктирная)
  16. circle_z = plt.Circle((0, 0), r_z, fill=False, linestyle='--', color='blue', alpha=0.5, label='Окружность |z|')
  17. ax.add_artist(circle_z)
  18.  
  19. # Окружность для w_k (сплошная)
  20. circle_w = plt.Circle((0, 0), r_w, fill=False, color='red', alpha=0.5, label='Окружность |w_k|')
  21. ax.add_artist(circle_w)
  22.  
  23. # Точка z
  24. x_z = r_z * np.cos(theta_z)
  25. y_z = r_z * np.sin(theta_z)
  26. ax.scatter(x_z, y_z, color='blue', s=100, marker='^', label=f'$z$ (угол $\\pi/12$)', zorder=5)
  27.  
  28. # Точки w_k
  29. colors_w = ['red', 'green', 'purple']
  30. labels_w = ['$w_0$', '$w_1$', '$w_2$']
  31. for i, theta in enumerate(thetas_w):
  32. x_w = r_w * np.cos(theta)
  33. y_w = r_w * np.sin(theta)
  34. ax.scatter(x_w, y_w, color=colors_w[i], s=100, marker='o', label=labels_w[i], zorder=5)
  35.  
  36. # Линии от центра к точкам
  37. ax.plot([0, x_w], [0, y_w], color=colors_w[i], alpha=0.7, linestyle='-', linewidth=1)
  38.  
  39. # Оси
  40. ax.axhline(y=0, color='k', linestyle='-', alpha=0.3)
  41. ax.axvline(x=0, color='k', linestyle='-', alpha=0.3)
  42. ax.set_xlabel('Re')
  43. ax.set_ylabel('Im')
  44. ax.set_title('Комплексное число $z$ и его кубические корни $w_k$')
  45.  
  46. # Настройки отображения
  47. ax.set_aspect('equal', 'box')
  48. ax.set_xlim([-2, 2])
  49. ax.set_ylim([-2, 2])
  50. ax.grid(True, linestyle='--', alpha=0.5)
  51. ax.legend(loc='upper right')
  52.  
  53. plt.show()
Success #stdin #stdout #stderr 3.51s 71260KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Fontconfig error: No writable cache directories