SymPy 实体
SymPy的几何模块允许创建二维实体,如线段、圆等。然后我们可以获取关于它们的信息,如检查共线性或找到交点。
点
Point类表示欧几里德空间中的一个点。以下示例检查点的共线性 −
>>> 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)
输出
true
>>> a=Point(2,3)
>>> Point.is_collinear(x,y,a)
输出
False
Point类的distance()方法计算两点之间的距离
>>> x.distance(y)
输出
2\sqrt2
距离也可以用符号表示。
线
线实体是由两个点对象获取的。如果两条线相交,intersection()方法将返回相交点。
>>> 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)
输出
[Point2D(5/2, 5/2)]
>>> l1.intersection(Line(Point(0,0), Point(2,2)))
输出:
[Point2D(5/2, 5/2)]
>>> x,y=symbols('x y')
>>> p=Point(x,y)
>>> p.distance(Point(0,0))
输出
\sqrt{x^2 + y^2}
三角形
这个函数从三个点对象构建一个三角形实体。
Triangle(a,b,c)
>>> t=Triangle(Point(0,0),Point(0,5), Point(5,0))
>>> t.area
输出
-\frac{25}{2}
椭圆
通过传递一个对应于中心的Point对象以及水平和垂直半径的两个数字来构建一个椭圆几何实体。
Ellipse(center, hradius, vradius)
>>> from sympy.geometry import Ellipse, Line
>>> e=Ellipse(Point(0,0),8,3)
>>> e.area
输出
24\pi
半径可以通过使用离心率参数间接提供。
>>> e1=Ellipse(Point(2,2), hradius=5, eccentricity=Rational(3,4))
>>> e1.vradius
输出
\frac{5\sqrt7}{4}
椭圆的 近日点 是焦点和轮廓之间的最大距离。
>>> e1.apoapsis
输出
\frac{35}{4}
以下语句计算椭圆的周长-
>>> e1.circumference
输出
20E\left(\frac{9}{16}\right)
椭圆的方程方法返回椭圆的方程。
>>> e1.equation(x,y)
输出
(\frac{x}{5}-\frac{2}{5})^2 + \frac{16(y-2)^2}{175} – 1