- SymPy 教程
- SymPy - 首頁
- SymPy - 簡介
- SymPy - 安裝
- SymPy - 符號計算
- SymPy - 數值
- SymPy - 符號
- SymPy - 替換
- SymPy - sympify() 函式
- SymPy - evalf() 函式
- SymPy - Lambdify() 函式
- SymPy - 邏輯表示式
- SymPy - 查詢
- SymPy - 簡化
- SymPy - 導數
- SymPy - 積分
- SymPy - 矩陣
- SymPy - 函式類
- SymPy - 四元數
- SymPy - 求解器
- SymPy - 繪圖
- SymPy - 實體
- SymPy - 集合
- SymPy - 列印
- SymPy 有用資源
- SymPy - 快速指南
- SymPy - 有用資源
- SymPy - 討論
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$
廣告