SymPy学习之Geometry Module

来源:互联网 发布:淘宝大学vip课有效果吗 编辑:程序博客网 时间:2024/05/16 15:46
Example Usage
>>> from sympy import *>>> from sympy.geometry import *>>> x = Point(0, 0)>>> y = Point(1, 1)>>> z = Point(2, 2)>>> zp = Point(1, 0)>>> Point.is_collinear(x, y, z)   #判断共线True>>> Point.is_collinear(x, y, zp)False>>> t = Triangle(zp, y, x)>>> t.area1/2>>> t.medians[x]   #中线-顶点与对边中点连线Segment(Point2D(0, 0), Point2D(1, 1/2))>>> Segment(Point(1, S(1)/2), Point(0, 0))Segment(Point2D(0, 0), Point2D(1, 1/2))>>> m = t.medians>>> intersection(m[x], m[y], m[zp])[Point2D(2/3, 1/3)]>>> c = Circle(x, 5)>>> l = Line(Point(5, -5), Point(5, 5))>>> c.is_tangent(l) # is l tangent to c?   相切True>>> l = Line(x, y)>>> c.is_tangent(l) # is l tangent to c?False>>> intersection(c, l)[Point2D(-5*sqrt(2)/2, -5*sqrt(2)/2), Point2D(5*sqrt(2)/2, 5*sqrt(2)/2)]
Intersection of medians
#相交,求交点>>> from sympy import symbols>>> from sympy.geometry import Point, Triangle, intersection>>> a, b = symbols("a,b", positive=True)>>> x = Point(0, 0)>>> y = Point(a, 0)>>> z = Point(2*a, b)>>> t = Triangle(x, y, z)>>> t.areaa*b/2>>> t.medians[x]Segment(Point2D(0, 0), Point2D(3*a/2, b/2))>>> intersection(t.medians[x], t.medians[y], t.medians[z])[Point2D(a, b/3)]

0 0
原创粉丝点击