SymPy – 实体

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)

输出

True

>>> a=Point(2,3) 
>>> Point.is_collinear(x,y,a)

输出

False

点类的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

Vradius可以通过使用偏心率参数间接提供。

>>> 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(\frac{9}{16})

椭圆的 方程 方法返回椭圆的方程。

>>> e1.equation(x,y)

输出

(\frac{x}{5}-\frac{2}{5})^2 + \frac{16(y-2)2}{175} – 1

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程