Построение 3D бесконечной формы в Python - PullRequest
0 голосов
/ 04 апреля 2020

Я хотел бы нарисовать поворот на 360 градусов для этой 2D фигуры: (это абс (cos (x)) для x в [0,2pi])

https://i.stack.imgur.com/Cl2VS.png

Для получения такого вида трехмерного графика:

https://i.stack.imgur.com/f4iC6.png

Я пытался использовать сферические координаты следующим образом:

theta = np.linspace(0,2*np.pi,180)


rz = abs(np.cos(theta))
rx = abs(np.cos(theta))
ry = abs(np.cos(theta))

u = np.linspace(0, 2 * np.pi, 180)
v = np.linspace(0, np.pi, 180)

x = rx * np.outer(np.cos(u), np.sin(v))
y = ry * np.outer(np.sin(u), np.sin(v))
z = rz * np.outer(np.ones_like(u), np.cos(v))

Но лучшее, что я получаю, это:

https://i.stack.imgur.com/zt47K.png

Как мне получить желаемый участок? Должен ли я tr ie вычислить функцию радиуса в зависимости от тэты и фи?

Спасибо за ваши ответы и извините за мой английский sh

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