Introducción
En este tutorial, aprenderemos cómo crear una curva de Bezier utilizando la biblioteca Matplotlib de Python. Una curva de Bezier es una curva matemática que se utiliza comúnmente en gráficos de computadora para crear formas suaves y estéticamente agradables. Crearemos un ejemplo simple de una curva de Bezier utilizando el objeto PathPatch de Matplotlib.
Consejos sobre la VM
Una vez que se haya iniciado la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.
A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.
Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje comentarios después de la sesión y resolveremos el problema para usted de inmediato.
Importando bibliotecas
Para crear una curva de Bezier utilizando Matplotlib, necesitamos importar las bibliotecas necesarias. Importaremos matplotlib.pyplot para crear la gráfica y matplotlib.patches para crear el objeto PathPatch.
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import matplotlib.path as mpath
Creando la ruta
A continuación, crearemos el objeto Path para la curva de Bezier. El objeto Path toma una lista de vértices y códigos que especifican el tipo de ruta entre los vértices. En este caso, usaremos un código MOVETO para moverse al punto de partida, seguido de dos códigos CURVE3 para especificar los puntos de control y el punto final, y finalmente un código CLOSEPOLY para cerrar la ruta.
Path = mpath.Path
bezier_path = Path([(0, 0), (1, 0), (1, 1), (0, 0)],
[Path.MOVETO, Path.CURVE3, Path.CURVE3, Path.CLOSEPOLY])
Creando el objeto PathPatch
Ahora que tenemos el objeto Path, podemos crear el objeto PathPatch que se utilizará para dibujar la curva de Bezier en la gráfica. Estableceremos el facecolor en 'none' para que se dibuje solo la curva y no se rellene.
bezier_patch = mpatches.PathPatch(bezier_path, fc="none")
Creando la gráfica
Ahora podemos crear la gráfica agregando el objeto PathPatch al eje y dibujando un punto rojo que debería estar sobre la curva. También estableceremos el título de la gráfica en 'Bezier Curve'.
fig, ax = plt.subplots()
ax.add_patch(bezier_patch)
ax.plot([0.75], [0.25], "ro")
ax.set_title('Bezier Curve')
plt.show()
El código final debería verse así:
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import matplotlib.path as mpath
Path = mpath.Path
bezier_path = Path([(0, 0), (1, 0), (1, 1), (0, 0)],
[Path.MOVETO, Path.CURVE3, Path.CURVE3, Path.CLOSEPOLY])
bezier_patch = mpatches.PathPatch(bezier_path, fc="none")
fig, ax = plt.subplots()
ax.add_patch(bezier_patch)
ax.plot([0.75], [0.25], "ro")
ax.set_title('Bezier Curve')
plt.show()
Resumen
En este tutorial, aprendimos cómo crear una curva de Bezier utilizando la biblioteca Matplotlib de Python. Utilizamos los objetos Path y PathPatch para crear la curva y la agregamos a una gráfica. También dibujamos un punto rojo en la curva para demostrar que se encuentra sobre ella. La curva de Bezier se utiliza comúnmente en gráficos de computadora para crear formas suaves y estéticamente atractivas.