SymPy - 實體



SymPy 中的 geometry 模組允許建立二維實體,例如直線、圓形等。然後,我們可以獲取有關它們的資訊,例如檢查共線或查詢交點。

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$

距離也可以用符號表示。

線實體由兩個 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}$

三角形

此函式從三個點物件構建一個三角形實體。

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})$

橢圓的equation方法返回橢圓的方程。

>>> e1.equation(x,y)

輸出

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

廣告

© . All rights reserved.