Trazar curvas polares en Python

Un punto en coordenadas polares se representa como ( r , theta ). Aquí, r es su distancia desde el origen y theta es el ángulo en el que r debe medirse desde el origen. Cualquier función matemática en el sistema de coordenadas cartesianas también se puede trazar usando las coordenadas polares. 

Módulos requeridos

  • Matplotlib : Matplotlib es una completa biblioteca de Python para crear diagramas y visualizaciones estáticas e interactivas. Para instalar este módulo, escriba el siguiente comando en la terminal.
pip install matplotlib
  • Numpy : Numpy es la biblioteca central para la computación de arreglos en Python. Para instalar este módulo, escriba el siguiente comando en la terminal.
pip install numpy
  • matemáticas: matemáticas es un módulo integrado que se utiliza para realizar varias tareas matemáticas. 

El módulo matplotlib.pyplot contiene una función polar() , que se puede usar para trazar curvas en coordenadas polares.

Sintaxis : matplotlib.pyplot.polar(theta, r, **kwargs)

Parámetros :

  • theta – ángulo
  • r – distancia

Acercarse :

En cada uno de los ejemplos siguientes, 

  • Se crea una lista de valores en radianes. Estos valores cubren el dominio de la función respectiva.
  • Para cada valor en radianes, theta, se calcula un valor correspondiente de r según una fórmula específica para cada curva.

1. Círculo: un círculo es una forma que consta de todos los puntos en un plano que están a una distancia dada (radio) de un punto dado, el centro. Por lo tanto, r es un valor constante igual al radio .

Ejemplo :

Python3

import numpy as np
import matplotlib.pyplot as plt
  
  
# setting the axes projection as polar
plt.axes(projection = 'polar')
  
# setting the radius
r = 2
  
# creating an array containing the
# radian values
rads = np.arange(0, (2 * np.pi), 0.01)
  
# plotting the circle
for rad in rads:
    plt.polar(rad, r, 'g.')
  
# display the Polar plot
plt.show()

Producción :

2. Elipse: una elipse es el lugar geométrico de un punto que se mueve en un plano tal que la suma de sus distancias desde otros dos puntos (los focos) es constante. Aquí, r se define como:

r\ =\ \frac{a\ *\ b}{\sqrt{(asin\theta)^2\ +\ (bcos\theta)^2}}

Dónde,

  • a = longitud del semieje mayor
  • b = longitud del semieje menor

Ejemplo :

Python3

import numpy as np
import matplotlib.pyplot as plt
import math
  
  
# setting the axes
# projection as polar
plt.axes(projection = 'polar')
  
# setting the values of
# semi-major and
# semi-minor axes
a = 4
b = 3
  
# creating an array
# containing the radian values
rads = np.arange(0, (2 * np.pi), 0.01)
  
# plotting the ellipse
for rad in rads:
    r = (a*b)/math.sqrt((a*np.sin(rad))**2 + (b*np.cos(rad))**2)
    plt.polar(rad, r, 'g.')
  
# display the polar plot
plt.show()

Producción :

3. Cardioide: Un cardioide es el lugar geométrico de un punto en la circunferencia de un círculo cuando rueda alrededor de otro círculo idéntico. Aquí, r se define como:

r=a\ +\ acos(\theta)

Donde, a = longitud del eje de cardioide

Ejemplo :

Python3

import numpy as np
import matplotlib.pyplot as plt
import math
  
  
# setting the axes
# projection as polar
plt.axes(projection = 'polar')
  
# setting the length of 
# axis of cardioid
a=4
  
# creating an array
# containing the radian values
rads = np.arange(0, (2 * np.pi), 0.01)
   
# plotting the cardioid
for rad in rads:
    r = a + (a*np.cos(rad)) 
    plt.polar(rad,r,'g.') 
  
# display the polar plot
plt.show()

Producción :

4. Espiral de Arquímedes: Una espiral de Arquímedes es el lugar geométrico de un punto que se mueve uniformemente sobre una línea recta, que a su vez gira uniformemente alrededor de uno de sus puntos finales. Aquí, r se define como:

r=\theta

Ejemplo:

Python3

import numpy as np
import matplotlib.pyplot as plt
  
  
# setting the axes
# projection as polar
plt.axes(projection = 'polar')
  
# creating an array
# containing the radian values
rads = np.arange(0, 2 * np.pi, 0.001) 
  
# plotting the spiral
for rad in rads:
    r = rad
    plt.polar(rad, r, 'g.')
      
# display the polar plot
plt.show()

Producción :

5. Rhodonea: una curva Rhodonea o Rose es una sinusoide en forma de rosa trazada en coordenadas polares. Aquí, r se define como:

r=a\cos(n\theta)

Dónde,

  • a = longitud de los pétalos
  • n = número de pétalos

Ejemplo:

Python3

import numpy as np
import matplotlib.pyplot as plt
  
  
# setting the axes
# projection as polar
plt.axes(projection='polar')
  
# setting the length
# and number of petals
a = 1
n = 6
  
# creating an array
# containing the radian values
rads = np.arange(0, 2 * np.pi, 0.001) 
  
# plotting the rose
for rad in rads:
    r = a * np.cos(n*rad)
    plt.polar(rad, r, 'g.')
   
# display the polar plot
plt.show()

Producción :

Publicación traducida automáticamente

Artículo escrito por cosine1509 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *