У меня есть сфера, определенная таким образом:
sigma, theta = np.mgrid[0:2*np.pi:60j, 0:np.pi:30j]
x = np.cos(sigma) * np.sin(theta)
y = np.sin(sigma) * np.sin(theta)
z = np.cos(theta)
И я строю указанную сферу, как показано ниже:
fig = plt.figure()
ax = plt.axes(projection='3d')
ax.plot_surface(x, y, z, label='Unit sphere')
plt.show()
Это работает, как и ожидалось. Однако мне нужно превратить эту сферу в эллипсоид, умножив ее уравнение параметров c на матрицу 3x3, сгенерированную следующим образом:
A1 = np.random.uniform(-1,1,(3,3))
Теперь, с математической точки зрения, я отлично Помните, что я ищу вертикальный вектор моих уравнений x, y и z, умноженный на матричное умножение (@) с моей матрицей преобразования 3x3. Тем не менее, я не знаю, как кодировать это в numpy. Заранее спасибо.