SymPy - Varlıklar
SymPy'deki geometri modülü, çizgi, daire vb. Gibi iki boyutlu varlıkların oluşturulmasına izin verir. Daha sonra eşdoğrusallığı kontrol etme veya kesişme bulma gibi onlar hakkında bilgi edinebiliriz.
Nokta
Nokta sınıfı, Öklid uzayındaki bir noktayı temsil eder. Aşağıdaki örnek, noktaların doğrusallığını kontrol eder -
>>> 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
Point sınıfının distance () yöntemi, iki nokta arasındaki mesafeyi hesaplar
>>> x.distance(y)
Output
$2\sqrt2$
Mesafe, semboller olarak da gösterilebilir.
Hat
Çizgi varlığı iki Point nesnesinden elde edilir. İntersection () yöntemi, iki çizgi birbiriyle kesişirse kesişme noktasını döndürür.
>>> 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}$
Üçgen
Bu fonksiyon, üç nokta nesnelerinden bir üçgen obje oluşturur.
Triangle(a,b,c)
>>> t=Triangle(Point(0,0),Point(0,5), Point(5,0))
>>> t.area
Output
$-\frac{25}{2}$
Elips
Eliptik bir geometri öğesi, merkeze karşılık gelen bir Point nesnesi ve her biri yatay ve dikey yarıçap için iki sayı geçirilerek oluşturulur.
ellipse(center, hradius, vradius)
>>> from sympy.geometry import Ellipse, Line
>>> e=Ellipse(Point(0,0),8,3)
>>> e.area
Output
$24\pi$
Vradius, eksantriklik parametresi kullanılarak dolaylı olarak sağlanabilir.
>>> e1=Ellipse(Point(2,2), hradius=5, eccentricity=Rational(3,4))
>>> e1.vradius
Output
$\frac{5\sqrt7}{4}$
apoapsis Elipsin, odak ve kontur arasındaki en büyük mesafedir.
>>> e1.apoapsis
Output
$\frac{35}{4}$
Aşağıdaki ifade elipsin çevresini hesaplar -
>>> e1.circumference
Output
$20E(\frac{9}{16})$
equation elips yöntemi, elipsin denklemini döndürür.
>>> e1.equation(x,y)
Output
$(\frac{x}{5}-\frac{2}{5})^2 + \frac{16(y-2)2}{175} - 1$