Skip to main content

Herramienta gráfica para visualizar los puntos de Lagrange y potencial de Roche.

Project description

Lagrange_points

Project of software development

Descripción del proyecto:

Herramienta gráfica para visualizar los puntos de Lagrange y potencial de Roche de objetos celestes con parámetros ingresados por el usuario, con una interfáz interactiva donde el usuario podrá observar como gracias a un slider con el cúal irán variando los parametrós, y en consecuencia la visualizacion de los puntos y el potencial.

Dependencias para su funcionamiento:

  • Numpy(Version: >= 1.7)
  • Matpllotlib(Version >= 3.0.0)
  • PyAstronomy(Version = 0.20.0)
  • SciPy(Version = 1.11.1)

Como usar:

  • Parametros:
    • Masa1 (Float) = Masa del objeto más masivo, al tratarse de numeros grandes,en kilogramos. Se puede expresar como potencia de 10 con Numpy(Ej: 1e10)
    • Masa2 (Float) = Masa del objeto menos másivo en comparacion al primero, en kilogramos. Se puede expresar como potencia de 10 con Numpy(Ej: 1e10)
    • Distancia (Float) = Distancia entre los dos objetos, en kilometros. Se puede expresar como potencia de 10 con Numpy(Ej: 1e10)
# Importación del módulo:
from LagRochePlot import LagRoche

# Variables a utilizar:
# Se escogen m1, m2 y distancia(por defecto en 100, 20 y 1 respectivamente):
    
m1 = 5.97219e24      # Masa tierra [kg]
m2 = 7.3477e22       # Masa luna [kg]
dist = 0.00256955529 # Distancia tierra-luna [UA]

# Restricción: m1 >= m2
# Ejecución del módulo:
LagRoche.Plot(m1,m2,dist)

Funciones dentro le la clase principal

init(m1 = 100, m2 = 20, dis = 1): Parámetros de entrada:

  • self: Asignado a elementos propios de la clase.
  • m1 [Kg] (Float): Masa del cuerpo más masivo. Por defecto = 100.
  • m2 [kg] (Float): Masa del segundo cuerpo. Por defecto = 20.
  • dis [UA] (Float): Distancia entre los dos cuerpos. Por defecto =1.

Funcionalidad:

  • Asigna los parámetros iniciales de masas, distancias, posición y un contador k. Crea variables vacías para el potencial de roche y los puntos lagrangianos.
  • Define los parámetros estéticos del gráfico.
  • Crea los Sliders de masa 1, masa 2 y distancia.
  • Crea dos botones:
    • save: Activa la variable de evento que llama a la función save_plot().
    • lag: Activa la variable de evento que llama a función lag_plt().
  • Utiliza la función self.plot() para hacer el primer gráfico.

calculo(self): Parámetros de entrada:

  • self: Asignado a elementos propios de la clase.

Funcionalidad:

  • Calcula las coordenadas de los 5 puntos de Lagrange junto con el potencial de Roche

update_plot(self, val): Parámetros de entrada:

  • self: Asignado a elementos propios de la clase.
  • val: Variable de valor de los datos cambiados por los Sliders.

Funcionalidad:

  • Actualiza los valores de las masas y las distancias según la variable de valor cambiada por los Sliders de las masas y de la distancia.
  • Utiliza la función self.calculo() para calcular los parámetros necesarios
  • Borra el gráfico antiguo para crear uno nuevo con los nuevos parámetros.

save_plot(self, event): Parámetros de entrada:

  • self: Asignado a elementos propios de la clase.
  • event: Variable de evento que se activa desde el botón save

Funcionalidad:

  • Es activada a través de la variabilidad de evento accionada desde el botón save, dentro de la interfaz interactiva.
  • Revisa si es que existe una carpeta llamada ‘gráficos’ dentro del escritorio, si no, crea una
  • Guarda una imagen del gráfico dentro de la carpeta ‘gráficos’.

lag_plt(self, event): Parámetros de entrada:

  • self: Asignado a elementos propios de la clase.
  • event: Variable de evento que se activa desde el botón lag Funcionalidad:
  • Es activada a través de la variabilidad de evento accionada desde el botón save, dentro de la interfaz interactiva.
  • Imprime las coordenadas de los puntos de lagrange en unidades astronómicas con respecto a la masa 1.

plot(self): Parámetros de entrada:

  • self: Asignado a elementos propios de la clase. Funcionalidad:
  • Utiliza las funciones self.calculo() y self.update_plot() para obtener los parámetros iniciales
  • Plotea el gráfico.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

LagRochePlot-1.2.1.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

LagRochePlot-1.2.1-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file LagRochePlot-1.2.1.tar.gz.

File metadata

  • Download URL: LagRochePlot-1.2.1.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for LagRochePlot-1.2.1.tar.gz
Algorithm Hash digest
SHA256 666ac09f5715cdc6f0d39b5af9b7c98e674e995db89af1c75e019c99de23b21a
MD5 8a71b3976397a1f3148c54a8fcaf4d8c
BLAKE2b-256 3a2d9a67a49934979b5acd1de08885cbcb0cc84bb0c27c645b13f5dbeb160142

See more details on using hashes here.

File details

Details for the file LagRochePlot-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: LagRochePlot-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for LagRochePlot-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1f7a716773cea97794e971dfea2d56045051c64f2ca13fc21c6c54d1af6aa91e
MD5 6957d996c13c65cf28318bf2abbeb8a8
BLAKE2b-256 6330c95be1fa83aab0962cc4693f673bc4b0004c5d4abc0323c67839863002a6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page