SymPy - Entitäten

Das Geometriemodul in SymPy ermöglicht die Erstellung zweidimensionaler Objekte wie Linie, Kreis usw. Anschließend können wir Informationen darüber abrufen, z. B. die Kolinearität überprüfen oder Schnittpunkte finden.

Punkt

Die Punktklasse repräsentiert einen Punkt im euklidischen Raum. Das folgende Beispiel überprüft die Kollinearität von Punkten -

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

Die distance () -Methode der Punktklasse berechnet die Entfernung zwischen zwei Punkten

>>> x.distance(y)

Output

$2\sqrt2$

Die Entfernung kann auch in Form von Symbolen dargestellt werden.

Linie

Die Linienentität wird aus zwei Punktobjekten erhalten. Die Methode intersection () gibt den Schnittpunkt zurück, wenn sich zwei Linien schneiden.

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

Dreieck

Diese Funktion erstellt ein Dreieck aus drei Punktobjekten.

Triangle(a,b,c)

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

Output

$-\frac{25}{2}$

Ellipse

Eine elliptische Geometrieeinheit wird konstruiert, indem ein Punktobjekt übergeben wird, das der Mitte und jeweils zwei Zahlen für den horizontalen und vertikalen Radius entspricht.

ellipse(center, hradius, vradius)

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

Output

$24\pi$

Der Vradius kann indirekt unter Verwendung eines Exzentrizitätsparameters bereitgestellt werden.

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

Output

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

Das apoapsis der Ellipse ist der größte Abstand zwischen Fokus und Kontur.

>>> e1.apoapsis

Output

$\frac{35}{4}$

Die folgende Anweisung berechnet den Umfang der Ellipse -

>>> e1.circumference

Output

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

Das equation Die Ellipsenmethode gibt die Ellipsengleichung zurück.

>>> e1.equation(x,y)

Output

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