SymPy - 实体
-
简述
SymPy 中的几何模块允许创建二维实体,例如线、圆等。然后我们可以获得有关它们的信息,例如检查共线性或查找交点。 -
点
点类表示欧几里得空间中的一个点。以下示例检查点的共线性 ->>> 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)
OutputTrue>>> a=Point(2,3) >>> Point.is_collinear(x,y,a)
OutputFalsePoint类的distance()方法计算两点之间的距离>>> x.distance(y)
Output$$2\sqrt2$$距离也可以用符号来表示。 -
线
线实体是从两个 Point 对象中获得的。如果两条线彼此相交,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)
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}$$ -
三角形
此函数从三个点对象构建一个三角形实体。Triangle(a,b,c)>>> t=Triangle(Point(0,0),Point(0,5), Point(5,0)) >>> t.area
Output$$-\frac{25}{2}$$ -
椭圆
一个椭圆几何实体是通过传递一个与中心相对应的 Point 对象和水平和垂直半径各两个数字来构造的。ellipse(center, hradius, vradius)>>> from sympy.geometry import Ellipse, Line >>> e=Ellipse(Point(0,0),8,3) >>> e.area
Output$$24\pi$$可以通过使用偏心参数间接提供 vradius。>>> e1=Ellipse(Point(2,2), hradius=5, eccentricity=Rational(3,4)) >>> e1.vradius
Output$$\frac{5\sqrt7}{4}$$这apoapsis椭圆的距离是焦点和轮廓之间的最大距离。>>> e1.apoapsis
Output$$\frac{35}{4}$$以下语句计算椭圆的周长 ->>> e1.circumference
Output$$20E(\frac{9}{16})$$这equation椭圆方法返回椭圆方程。>>> e1.equation(x,y)
Output$$(\frac{x}{5}-\frac{2}{5})^2 + \frac{16(y-2)2}{175} - 1$$