import numpy as np
import matplotlib.pyplot as plt

p = np.array([0, 0, 0])  # вектор начала
v = np.array([1, 0, 0])  # сам вектор

fig = plt.figure()  # создаем окошко рисования
ax = fig.add_subplot(projection='3d')  # создаем пространство в окошке


def plot_vec(ax, point, vec, c="k", mag=1):
    point2 = point + vec * mag  # конец вектора
    ax.plot([point[0], point2[0]],
            [point[1], point2[1]],
            [point[2], point2[2]], c=c)  # черта между началом и концом
    ax.scatter(point[0], point[1], point[2], c="r")  # начало
    ax.scatter(point2[0], point2[1], point2[2], c="b")  # конец


# plot_vec(ax, p, v) # отрисовать один вектор
# plt.show() # вывести на экран

vec1 = np.array([1, 0, 0])  # задаем один вектор
vec2 = np.array([0, 2, 0])  # задаем второй вектор
vec3 = np.cross(vec1, vec2)  # вычисляем векторное произведение
scalar = np.dot(vec1, vec2)  # вычисляем скалярное произведение

plot_vec(ax, p, vec1, c="g")  # рисуем первый вектор
plot_vec(ax, p, vec2, c="y")  # рисуем второй вектор
plot_vec(ax, p, vec3, c="brown")  # рисуем их векторное произведение
plt.show()
