Plotagem de Superfícies 3D com Coordenadas Polares

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Este laboratório é um guia passo a passo para criar uma superfície 3D com coordenadas polares usando a biblioteca Python Matplotlib. Este laboratório assume conhecimento básico de programação Python e da biblioteca Matplotlib.

Dicas da VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido às limitações do Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Importar as Bibliotecas Necessárias

Começaremos importando as bibliotecas necessárias para este laboratório, que incluem Matplotlib e NumPy. Matplotlib é uma biblioteca de plotagem para Python, enquanto NumPy é uma biblioteca para a linguagem de programação Python, adicionando suporte para grandes arrays e matrizes multidimensionais.

import matplotlib.pyplot as plt
import numpy as np

Criar a Malha (Mesh)

Em seguida, criaremos a malha em coordenadas polares e calcularemos o Z correspondente. Criaremos um array de valores de raio r, um array de valores de ângulo p e, em seguida, usaremos a função meshgrid() do NumPy para criar uma grade de valores R e P. Finalmente, usaremos a equação Z para calcular a altura de cada ponto na superfície.

r = np.linspace(0, 1.25, 50)
p = np.linspace(0, 2*np.pi, 50)
R, P = np.meshgrid(r, p)
Z = ((R**2 - 1)**2)

Expressar a Malha no Sistema Cartesiano

Agora, expressaremos a malha no sistema cartesiano usando as funções cos() e sin() do NumPy.

X, Y = R*np.cos(P), R*np.sin(P)

Plotar a Superfície

Nesta etapa, plotaremos a superfície usando a função plot_surface() do Matplotlib. Usaremos o mapa de cores YlGnBu_r para definir a cor da superfície.

fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.plot_surface(X, Y, Z, cmap=plt.cm.YlGnBu_r)

Ajustar os Limites e Adicionar Rótulos

Finalmente, ajustaremos os limites do gráfico e adicionaremos rótulos aos eixos usando as funções set_zlim(), set_xlabel(), set_ylabel() e set_zlabel() do Matplotlib. Também usaremos o modo matemático LaTeX para escrever os rótulos dos eixos.

ax.set_zlim(0, 1)
ax.set_xlabel(r'$\phi_\mathrm{real}$')
ax.set_ylabel(r'$\phi_\mathrm{im}$')
ax.set_zlabel(r'$V(\phi)$')

Resumo

Neste laboratório, aprendemos como criar uma superfície 3D com coordenadas polares usando a biblioteca Python Matplotlib. Começamos importando as bibliotecas necessárias, criamos uma malha em coordenadas polares, expressamos a malha no sistema cartesiano, plotamos a superfície e, finalmente, ajustamos os limites e adicionamos rótulos aos eixos.