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)
    
    Output
    True
    
    >>> a=Point(2,3) 
    >>> Point.is_collinear(x,y,a)
    
    Output
    False
    Point类的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$$