Построение сплошной революции в Python 3 (возможно, matplotlib)

Приветствую проблему:

R – область в плоскости xy, ограниченная параболой y = x ^ 2 + 1 и линией y = x + 3. Твердое тело вращения образуется путем вращения R вокруг оси x. Мне нужно построить параболу и линию в 2D и сплошной революции 3D, как это сделать? Я установил anaconda.

One Solution collect form web for “Построение сплошной революции в Python 3 (возможно, matplotlib)”

Вы можете использовать plot_surface :

 import numpy as np import matplotlib.pyplot as plt import mpl_toolkits.mplot3d.axes3d as axes3d fig = plt.figure() ax = fig.add_subplot(1, 1, 1, projection='3d') u = np.linspace(-1, 2, 60) v = np.linspace(0, 2*np.pi, 60) U, V = np.meshgrid(u, v) X = U Y1 = (U**2 + 1)*np.cos(V) Z1 = (U**2 + 1)*np.sin(V) Y2 = (U + 3)*np.cos(V) Z2 = (U + 3)*np.sin(V) ax.plot_surface(X, Y1, Z1, alpha=0.3, color='red', rstride=6, cstride=12) ax.plot_surface(X, Y2, Z2, alpha=0.3, color='blue', rstride=6, cstride=12) plt.show() 

введите описание изображения здесь

Для построения поверхности с использованием plot_surface вы начинаете с определения двух одномерных параметров u и v :

 u = np.linspace(-1, 2, 60) v = np.linspace(0, 2*np.pi, 60) 

такие, что x , y , z являются функциями параметров u и v :

 x = x(u, v) y = y(u, v) z = z(u, v) 

То, что следует заметить в ax.plot_surface состоит в том, что его первые три аргумента должны быть двумерными массивами. Поэтому мы используем np.meshgrid для создания координатных матриц ( U и V ) из векторов координат ( u и v ) и определяем двумерные массивы X , Y , Z как функции U и V :

 X = U Y1 = (U**2 + 1)*np.cos(V) Z1 = (U**2 + 1)*np.sin(V) 

Для каждого места на координатных матрицах U и V имеется соответствующее значение для X и Y и Z Это создает карту из двумерного uv пространства в трехмерное xyz пространство. Для каждого прямоугольника в uv пространстве на нашей поверхности есть грань в xyz пространстве. Изогнутая поверхность, нарисованная поверхностью plot_surface , состоит из этих плоских граней.

  • Можно ли использовать websockets в Flask и Python 3?
  • Запрос POST, дающий пустые результаты
  • Вопрос о приоритете правил с grako
  • Получение списка из файла конфигурации с помощью ConfigParser в Python
  • Где я могу найти QWebPage и pymongo в python3.4?
  • Как перевести этот код с Python 2.7 на Python 3.5, чтобы исправить -> AttributeError: объект '_io.TextIOWrapper' не имеет атрибута 'next'
  • Как узнать, существует ли слово на английском языке, используя nltk
  • Выполнить скрипт Python в ноутбуке Jupyter с помощью специального виртуального
  • Как прочитать результат Radiobutton с Python
  • Типовой код Matplotlib - превышает ошибку Locator.MAXTICKS без видимых причин
  • Средний средний калькулятор
  •  
    Interesting Posts for Van-Lav

    Формат дампа PyYAML

    Версия Anaconda с Python 3.5

    Почему `continue` не разрешено в` finally` в Python?

    Ломать длинную строку без пробелов в Python

    Как настроить pylint в источнике python

    python2.6.6 Преобразование временной отметки времени Apache в секундах с эпохи (стиль unix)

    скопировать папку, вложенные папки и файлы с пути на другой путь в python через рекурсивную функцию

    python, matplotlib, svg и гиперссылки в текстовых меток

    Как построить собственные значения при решении матричных связанных дифференциальных уравнений в PYTHON?

    Что такое pythonic, чтобы избежать параметров по умолчанию, которые являются пустыми списками?

    IOError: недопустимый режим ('r') или имя файла: 'c: \\ Python27 \ test.txt'

    Как извлечь цепочки из файла PDB?

    Как узнать, является ли объект Python строкой?

    Любой элегантный способ добавить метод к существующему объекту в python?

    Любая библиотека Python создает таблицы регрессии стиля публикации

    Python - лучший язык программирования в мире.