SymPy - Thực thể

Mô-đun hình học trong SymPy cho phép tạo ra các thực thể hai chiều như đường thẳng, hình tròn, v.v ... Sau đó, chúng ta có thể lấy thông tin về chúng như kiểm tra cột hoặc tìm giao điểm.

Điểm

Lớp điểm biểu diễn một điểm trong không gian Euclide. Ví dụ sau kiểm tra tính thẳng hàng của các điểm:

>>> 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

Phương thức distance () của lớp Point tính toán khoảng cách giữa hai điểm

>>> x.distance(y)

Output

$2\sqrt2$

Khoảng cách cũng có thể được biểu thị dưới dạng ký hiệu.

Hàng

Thực thể dòng được lấy từ hai đối tượng Point. Phương thức giao điểm () trả về điểm giao nhau nếu hai đường thẳng cắt nhau.

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

Tam giác

Hàm này xây dựng một thực thể tam giác từ ba đối tượng điểm.

Triangle(a,b,c)

>>> t=Triangle(Point(0,0),Point(0,5), Point(5,0)) 
>>> t.area

Output

$-\frac{25}{2}$

Hình elip

Một thực thể hình học elip được xây dựng bằng cách truyền một đối tượng Điểm tương ứng với tâm và hai số cho mỗi bán kính ngang và dọc.

ellipse(center, hradius, vradius)

>>> from sympy.geometry import Ellipse, Line 
>>> e=Ellipse(Point(0,0),8,3) 
>>> e.area

Output

$24\pi$

Vradius có thể được cung cấp gián tiếp bằng cách sử dụng tham số độ lệch tâm.

>>> e1=Ellipse(Point(2,2), hradius=5, eccentricity=Rational(3,4)) 
>>> e1.vradius

Output

$\frac{5\sqrt7}{4}$

Các apoapsis của hình elip là khoảng cách lớn nhất giữa tiêu điểm và đường bao.

>>> e1.apoapsis

Output

$\frac{35}{4}$

Câu lệnh sau đây tính chu vi của hình elip:

>>> e1.circumference

Output

$20E(\frac{9}{16})$

Các equation phương thức ellipse trả về phương trình của ellipse.

>>> e1.equation(x,y)

Output

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