📅  最后修改于: 2020-11-05 04:47:29             🧑  作者: Mango
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)
输出
真正
>>> a=Point(2,3)
>>> Point.is_collinear(x,y,a)
输出
假
Point类的distance()方法计算两个点之间的距离
>>> x.distance(y)
输出
$ 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)
输出
[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} $
此函数从三个点对象构建一个三角形实体。
三角形(a,b,c)
>>> t=Triangle(Point(0,0),Point(0,5), Point(5,0))
>>> t.area
输出
$-\ frac {25} {2} $
椭圆几何实体是通过传递与中心相对应的Point对象和两个水平和垂直半径的数字来构造的。
椭圆(中心,半径,半径)
>>> 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(\ frac {9} {16})$
椭圆收益的方程法方程椭圆的。
>>> e1.equation(x,y)
输出
$(\ frac {x} {5}-\ frac {2} {5})^ 2 + \ frac {16(y-2)2} {175}-1 $