Haciendo un elipsoide con VPython

VPython facilita la creación de pantallas y animaciones 3D navegables, incluso para aquellos con experiencia limitada en programación. Debido a que está basado en Python, también tiene mucho que ofrecer a programadores e investigadores experimentados. VPython permite a los usuarios crear objetos como esferas y conos en el espacio 3D y muestra estos objetos en una ventana. Esto facilita la creación de visualizaciones simples, lo que permite a los programadores concentrarse más en el aspecto computacional de sus programas. La simplicidad de VPython lo ha convertido en una herramienta para la ilustración de física simple, especialmente en el entorno educativo. 
Instalación :
 

pip install vpython

Un elipsoide es un objeto geométrico en un espacio tridimensional en el que todas las secciones transversales planas son elipses o círculos que forman una superficie cerrada. Podemos generar un elipsoide en VPython usando el método ellipsoid().
 

elipsoide()

Sintaxis: elipsoide (parámetros)
Parámetros: 
 

  • pos : Es la posición del centro del elipsoide. Asigne un vector que contenga 3 valores, ejemplo pos = vector(0, 0, 0)
  • axis : Es el eje de alineación del elipsoide. Asigne un vector que contenga 3 valores, eje de ejemplo = vector (1, 2, 1)
  • arriba : Es la orientación del elipsoide. Asigne un vector que contenga 3 valores, ejemplo arriba = vector (0, 1, 0)
  • color : Es el color del elipsoide. Asigne un vector que contenga 3 valores, ejemplo color = vector(1, 1, 1) dará el color blanco
  • opacity : Es la opacidad del elipsoide. Asigne un valor flotante en el que 1 sea el más opaco y 0 el menos opaco, ejemplo opacidad = 0.5
  • brillo: Es el brillo del elipsoide. Asigne un valor flotante en el que 1 sea el más brillante y 0 el menos brillante, ejemplo brillo = 0.6
  • emisivo : Es la emisividad del elipsoide. Asigne un valor booleano en el que True sea emisivo y False no sea emisivo, ejemplo emisividad = False
  • textura : Es la textura del elipsoide. Asigne la textura requerida de la clase de texturas, ejemplo textura = texturas.estuco
  • longitud : Es la longitud del elipsoide en la dirección x. Asigne un valor flotante, la longitud predeterminada es 1, longitud de ejemplo = 10
  • altura : Es la altura del elipsoide en la dirección y. Asigne un valor flotante, la altura predeterminada es 1, altura de ejemplo = 8
  • ancho: Es el ancho del elipsoide en la dirección z. Asigne un valor flotante, el ancho predeterminado es 1, ancho de ejemplo = 5
  • size : Es el tamaño del elipsoide. Asigne un vector que contenga 3 valores que representen la longitud, la altura y el ancho respectivamente, tamaño de ejemplo = vector (1, 1, 1)

Todos los parámetros son opcionales. 
 

Ejemplo 1: un elipsoide sin parámetros, todos los parámetros tendrán el valor predeterminado. 
 

Python3

# import the module
from vpython import * ellipsoid()

Producción : 
 

Ejemplo 2: Un elipsoide usando los parámetros color, opacidad, brillo y emisividad. 
 

Python3

# import the module
from vpython import * ellipsoid(color = vector(0.4, 0.2, 0.6),
          opacity = 0.5,
          shininess = 1,
          emissive = False)

Producción : 
 

Ejemplo 3: Mostrar 2 elipsoides para visualizar los atributos pos, largo, alto y ancho. 
 

Python3

# import the module
from vpython import *
 
# the first ellipsoid
ellipsoid(pos = vector(-2, 2, 0),
           length = 3,
           height = 2,
           width = 2,
           color = vector(1, 0.6, 0))
  
# the second ellipsoid
ellipsoid(pos = vector(1, -1, 5),
          width = 3,
           color = vector(0, 1, 0))

Producción : 
 

Ejemplo 4: Un elipsoide usando los parámetros textura, eje y arriba. 
 

Python3

# import the module
from vpython import * ellipsoid(texture = textures.stucco,
          axis = vector(-1, 4, 0),
          up = vector(1, 2, 2),
          length = 3)

Producción : 
 

Publicación traducida automáticamente

Artículo escrito por Yash_R 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 *