什么是SymPy中的实体?

什么是SymPy中的实体?

SymPy中的几何模块是所有几何实体Python的基础类,允许你创建二维对象,如线和圆,多边形等。然后,我们可以通过寻找碰撞性或检测交叉点来了解它。任何具有特殊几何品质的对象都被称为GeometryEntity。

class sympy.geometry.entity.GeometryEntity(*args, kwargs)

所有的几何实体都继承自这个基本类。这个类并不代表任何特定的几何实体;相反,它实现了所有子类所共享的几个方法。

Points

一个位置是几何学中的一个点。它没有尺寸,即没有宽度、长度或深度。一个点代表一个点。勾连性是几何学中一组点位于一条线上的属性。Collinearity指的是具有这种属性的一组点。Point()函数被用来在空间中创建一个点。点类包含了distance()方法,用于查找两点之间的距离。

# import packages
from sympy.geometry import Point
 
# create points
x = Point(1, 1)
y = Point(2, 2)
z = Point(3, 3)
w = Point(5, 2)
 
# checking if points are collinear.
print(Point.is_collinear(x, y, z))
print(Point.is_collinear(y, z, w))
 
# calculating distance between two points
print('Distance between x and y points is ' + str(x.distance(y)))

输出:

True
False
Distance between x and y points is sqrt(2)

一个点离原点的距离公式。

# importing packages
from sympy.geometry import Point
from sympy.abc import a, b
 
# defining a point
p = Point(a, b)
 
# distance of the point from the origin
print(p.distance(Point(0, 0)))

输出:

sqrt(a**2 + b**2)

Line

线被定义为一组在两个方向上无限延伸的点。它只有一个维度,那就是长度。线条()是在两个点的帮助下创建的。intersection()方法用于查找两条线的交点。angle_between()函数用于查找两条线的角度。

# importing packages
from sympy.geometry import Point, Line
 
# creating two points
p1, p2 = Point(1, 2), Point(2, 0)
line1 = Line(p1, p2)
print(line1)
 
# creating two points
line2 = Line(Point(2, 4), Point(6, 2))
print(line2)
 
# intersection point of two lines
print(line1.intersection(line2))
 
# Angle between the two lines
print('Angle between two lines is : \
' + str(line1.angle_between(line2)))

输出:

Line2D(Point2D(1, 2), Point2D(2, 0))
Line2D(Point2D(2, 4), Point2D(6, 2))
[Point2D(-2/3, 16/3)]
Angle between two lines is : acos(4/5)

Triangle

三角形是一个有三个顶点和三条边的三边形。它是最基本的几何形式之一。三角形是在三个点或顶点的帮助下形成的。.面积属性用于寻找三角形的面积。

Triangle(vertex1,vertex2,vertex3)

# importing packages
from sympy.geometry import Point, Triangle
 
# constructing a triangle with three points
triangle = Triangle(Point(0, 0), Point(3, 0), Point(3, 3))
 
# area of the triangle
print('area of the triangle is : '+str(triangle.area))

输出:

area of the triangle is : 9/2

Polygon

geometry类中的RegularPolygon()方法是用来构造一个RegularPolygon。它需要以下的参数。

class sympy.geometry.polygon.RegularPolygon()

# importing packages
from sympy import RegularPolygon, Point
 
fig  = RegularPolygon(Point(0, 0), 1, 3)
 
# area of the regular polygon
print(fig.area)

输出:

3*sqrt(3)/4

Circle

圆是由一个在平面内移动的点勾勒出的曲线,使其与给定点的距离保持不变;或者说,它是由平面内与给定点(中心)保持一定距离的所有点形成的形状。

class sympy.geometry.ellipse.Circle(*args, **kwargs)

Circle()方法以一个点为中心,其他参数如半径,构建一个圆。面积属性被用来计算圆的面积。

# importing packages
from sympy import Circle, Point
 
fig = Circle(Point(0, 0), 3)
 
# area of the regular polygon
print(fig.area)

输出:

9*pi

Ellipse

椭圆是一条封闭的曲线,它是由两个固定的点(焦点)的距离加起来都是相同的数字组成的。中心是两个焦点在中间相遇的位置。椭圆的特性是,从一个焦点反射到其边界的线会通过另一个焦点。

class sympy.geometry.ellipse.Ellipse(center=None, hradius=None, vradius=None, eccentricity=None, **kwargs)

椭圆的方程可以用equation()方法来构造,它以符号作为输入。.面积属性用于显示圆的面积,.周长属性用于查找圆的周长。

# importing packages
from sympy.geometry import Ellipse, Point
from sympy.abc import x, y
 
# ellipse
ellipse = Ellipse(Point(0, 0), 5, 8)
 
# area of ellipse
print('area of the ellipse is : '+str(ellipse.area))
 
# equation of ellipse
print('equation of the ellipse is : ')
print(ellipse.equation(x, y))
 
# circumference of ellipse
print('circumference of the ellipse is : \
'+str(ellipse.circumference))

输出:

area of the ellipse is : 40*pi
equation of the ellipse is : 
x**2/25 + y**2/64 - 1
circumference of the ellipse is : 32*elliptic_e(39/64)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程