Генерация трехмерной синусоиды с использованием Python - PullRequest
0 голосов
/ 11 апреля 2019

Я хочу создать синусоидальную кривую в Python. Поддерживает ли Lumpy это или есть другая библиотека, которую я могу использовать для этого?

Создать 2D-кривую просто, как это -

x = numpy.linspace(0, 20, 0.1)
y = numpy.sin(x)

Теперь у меня есть x и y, которые я могу сохранить на диск.

Теперь я хочу сделать нечто подобное, но для трехмерной синусоиды по осям x, y и z. Я надеюсь, что кто-то мог сделать это раньше и помочь мне.

РЕДАКТИРОВАТЬ: я понял, что для моего случая использования я хочу 2D-кривую в 3D-пространстве. Таким образом, другие оси могут быть постоянными. Поэтому я просто генерирую 2D-кривую и добавляю постоянное значение третьего параметра, чтобы получить значения x, y, z.

1 Ответ

1 голос
/ 11 апреля 2019

Вы можете попробовать что-то вроде:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
x = np.arange(0, 20, 0.1)
y = np.sin(x)
z = y*np.sin(x)

fig = plt.figure()
ax = plt.axes(projection='3d')

c = x + y

ax.scatter(x, y, z, c=c)

или, может быть, вы хотите z = x*np.sin(x) или даже z = np.sin(y)

Редактировать: возможно, это лучшее решение z = np.sin(np.sqrt(x**2+y**2)) из здесь

Сыграйте и найдите то, что вы хотите.Довольно прикольная штука и зависит от того, какой именно выход вы ищете.

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