Introdução
Neste laboratório, você aprenderá como comparar a elipse gerada com arcos versus uma aproximação poligonal usando Python 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 a limitações no 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 Bibliotecas
Para começar, importaremos as bibliotecas necessárias.
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import patches
Definir Parâmetros da Elipse
Nesta etapa, definiremos os parâmetros para a elipse.
xcenter, ycenter = 0.38, 0.52
width, height = 0.1, 0.3
angle = -30
Gerar Elipse usando Arcos
Nesta etapa, geraremos a elipse usando arcos.
theta = np.deg2rad(np.arange(0.0, 360.0, 1.0))
x = 0.5 * width * np.cos(theta)
y = 0.5 * height * np.sin(theta)
rtheta = np.radians(angle)
R = np.array([
[np.cos(rtheta), -np.sin(rtheta)],
[np.sin(rtheta), np.cos(rtheta)],
])
x, y = np.dot(R, [x, y])
x += xcenter
y += ycenter
Gerar Elipse usando Aproximação Poligonal
Nesta etapa, geraremos a elipse usando uma aproximação poligonal.
theta = np.deg2rad(np.arange(0.0, 360.0, 1.0))
x = 0.5 * width * np.cos(theta)
y = 0.5 * height * np.sin(theta)
rtheta = np.radians(angle)
R = np.array([
[np.cos(rtheta), -np.sin(rtheta)],
[np.sin(rtheta), np.cos(rtheta)],
])
x, y = np.dot(R, [x, y])
x += xcenter
y += ycenter
Plotar Elipse usando Arcos
Nesta etapa, plotaremos a elipse usando arcos.
fig = plt.figure()
ax = fig.add_subplot(211, aspect='auto')
ax.fill(x, y, alpha=0.2, facecolor='yellow',
edgecolor='yellow', linewidth=1, zorder=1)
e1 = patches.Arc((xcenter, ycenter), width, height,
angle=angle, linewidth=2, fill=False, zorder=2)
ax.add_patch(e1)
Plotar Elipse usando Aproximação Poligonal
Nesta etapa, plotaremos a elipse usando uma aproximação poligonal.
ax = fig.add_subplot(212, aspect='equal')
ax.fill(x, y, alpha=0.2, facecolor='green', edgecolor='green', zorder=1)
e2 = patches.Arc((xcenter, ycenter), width, height,
angle=angle, linewidth=2, fill=False, zorder=2)
ax.add_patch(e2)
fig.savefig('arc_compare')
plt.show()
Resumo
Neste laboratório, você aprendeu como comparar a elipse gerada com arcos versus uma aproximação poligonal usando Python Matplotlib. Você aprendeu como definir os parâmetros da elipse, gerar elipses usando arcos e uma aproximação poligonal, e plotá-las usando Matplotlib.