- 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 中的几何模块允许创建二维实体,例如直线、圆等。然后我们可以获得有关它们的信息,例如检查共线性或查找交集。
观点
点类表示欧几里得空间中的点。以下示例检查点的共线性 -
>>> 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$
距离也可以用符号来表示。
线
Line实体是从两个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 对象以及水平和垂直半径各两个数字来构造椭圆形几何实体。
椭圆(中心、h 半径、v 半径)
>>> from sympy.geometry import Ellipse, Line >>> e=Ellipse(Point(0,0),8,3) >>> e.area
输出
$24\pi$
v半径可以通过使用偏心率参数间接提供。
>>> 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$