Visualizing Complex Numbers

Здравейте,

Весела Коледа на всички :)

Сигурно аз нищо не разбирам, но имам страшни проблеми с matplotlib. Всичко ми се струва адски сложно. Цял ден мъча първия lab от Math Concepts домашното и съм до никъде... Изгледах няколко туториала и изчетох безумно много документация и примери, но имам чувството, че само допълнително се обърквам Направо се чудя има ли смисъл да продължавам...

Не мога да докарам осите да изглеждат като стрелки, не мога да измисля как да свържа върховете на векторите с осите чрез пунктирна линия. Ще съм адски благодарен за всякакви коментари по направеното до тук, помощ и предложения.

Нямам никаква идея дали дори съм в правилната посока...

import matplotlib.pyplot as plt
import numpy as np
import math

def get_rect_coords(r, theta):
    x = r * np.cos(theta)
    y = r * np.sin(theta)
    return (x, y)


def plot_complex_number(x, y):
    plt.axhline(0, linestyle = "-", color = "blue")
    plt.axvline(0, linestyle = "-", color = "blue")
    plt.ylabel("$y = Im(z)$", fontsize=20)
    plt.xlabel("$y = Re(z)$", fontsize=20)
    plt.xlim(-(x + y), x + y)
    plt.ylim(-(x + y), x + y)
    ax = plt.axes()
    ax.arrow(0, 0, x, y, head_width=0.05 * x, head_length=0.1 * x, fc='k', ec='k')
    ax.arrow(0, 0, x, -y, head_width=0.05 * x, head_length=0.1 * x, fc='k', ec='k')
    #plt.plot([x, y], [x, -y],color='b',linestyle='--') Can't figure out how to connect the vectors with the axis
    plt.plot(x, y)
    plt.show()


def visualize_complex_number(r, theta):
  (x, y) = get_rect_coords(r, theta)
  plot_complex_number(x, y)


visualize_complex_number(13, 0.394444411)

Резултатът от кода горе за r = 13, theta = 0.394444411 радиана, 22.6 градуса е следната графика:

Visualizing Complex Numbers