SymPy - Entidades
El módulo de geometría en SymPy permite la creación de entidades bidimensionales como línea, círculo, etc. Luego podemos obtener información sobre ellas, como comprobar la colinealidad o encontrar una intersección.
Punto
La clase de puntos representa un punto en el espacio euclidiano. El siguiente ejemplo comprueba la colinealidad de los puntos:
>>> from sympy.geometry import Point
>>> from sympy import *
>>> x=Point(0,0)
>>> y=Point(2,2)
>>> z=Point(4,4)
>>> Point.is_collinear(x,y,z)
Output
True
>>> a=Point(2,3)
>>> Point.is_collinear(x,y,a)
Output
False
El método de distancia () de la clase Punto calcula la distancia entre dos puntos
>>> x.distance(y)
Output
$2\sqrt2$
La distancia también se puede representar en términos de símbolos.
Línea
La entidad de línea se obtiene de dos objetos Point. El método intersection () devuelve el punto de intersección si dos líneas se cruzan.
>>> from sympy.geometry import Point, Line
>>> p1, p2=Point(0,5), Point(5,0)
>>> l1=Line(p1,p2)
>>> l2=Line(Point(0,0), Point(5,5))
>>> l1.intersection(l2)
Output
[Point2D(5/2, 5/2)]
>>> l1.intersection(Line(Point(0,0), Point(2,2)))
Output
[Point2D(5/2, 5/2)]
>>> x,y=symbols('x y')
>>> p=Point(x,y)
>>> p.distance(Point(0,0))
Output
$\sqrt{x^2 + y^2}$
Triángulo
Esta función construye una entidad triangular a partir de tres objetos puntuales.
Triangle(a,b,c)
>>> t=Triangle(Point(0,0),Point(0,5), Point(5,0))
>>> t.area
Output
$-\frac{25}{2}$
Elipse
Una entidad de geometría elíptica se construye pasando un objeto Point correspondiente al centro y dos números cada uno para el radio horizontal y vertical.
ellipse(center, hradius, vradius)
>>> from sympy.geometry import Ellipse, Line
>>> e=Ellipse(Point(0,0),8,3)
>>> e.area
Output
$24\pi$
El vradius se puede proporcionar indirectamente mediante el uso del parámetro de excentricidad.
>>> e1=Ellipse(Point(2,2), hradius=5, eccentricity=Rational(3,4))
>>> e1.vradius
Output
$\frac{5\sqrt7}{4}$
los apoapsis de la elipse es la mayor distancia entre el foco y el contorno.
>>> e1.apoapsis
Output
$\frac{35}{4}$
La siguiente declaración calcula la circunferencia de la elipse:
>>> e1.circumference
Output
$20E(\frac{9}{16})$
los equation método de elipse devuelve la ecuación de la elipse.
>>> e1.equation(x,y)
Output
$(\frac{x}{5}-\frac{2}{5})^2 + \frac{16(y-2)2}{175} - 1$