Как сделать 3D круг в Matplotlib - PullRequest
0 голосов
/ 03 июля 2019

Я новичок в Python. Я пытаюсь построить круг, используя matplotlib, который имеет касательную к оси Z. Я знаю, как нарисовать сферу в 3D, но не знаю, как нарисовать круг / кольцо на 3D графике. Может кто-нибудь помочь мне с кодом? Заранее спасибо!

1 Ответ

0 голосов
/ 03 июля 2019

Вам нужен обычный импорт, плюс 3D-инструментарий

import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt

Вам нужен включенный 3D axes объект

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

Вам нужен круг, содержащийся в плоскости yz

theta = np.linspace(0, 2 * np.pi, 201)
y = 10*np.cos(theta)
z = 10*np.sin(theta)

теперь мы можем построить исходный круг и, например, несколько кругов, повернутых вокруг оси z и центры которых также расположенына фиксированном расстоянии (равном радиусу окружности) от оси z , так что они касаются его

for i in range(18):
    phi = i*np.pi/9
    ax.plot(y*np.sin(phi)+10*np.sin(phi),
            y*np.cos(phi)+10*np.cos(phi), z)

в конечном итоге мы размещаем вертикальную ось и легенду

ax.plot((0,0),(0,0), (-10,10), '-k', label='z-axis')
ax.legend()

Пора посмотреть, что мы получили

plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...