Module Expr Str ImportFrom alias alias ImportFrom alias alias alias ImportFrom alias alias alias ImportFrom alias alias FunctionDef arguments args NameParam defaults body Expr Str Return Call NameLoad Call NameLoad NameLoad keyword Lambda arguments args NameParam defaults AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults Num body Expr Str If Call NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad Index Num orelse If Call NameLoad NameLoad NameLoad body Assign NameStore Set NameLoad orelse Raise Call NameLoad BinOpMod Str NameLoad Assign NameStore Call NameLoad ListComp TupleLoad NameLoad Call Call NameLoad AttributeLoad NameLoad attr NameLoad comprehension NameStore AttributeLoad NameLoad attr BoolOpAnd CompareNotEq NameLoad NameLoad CompareIn NameLoad NameLoad Assign NameStore Call AttributeLoad Call Call NameLoad AttributeLoad NameLoad attr NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Dict For NameStore Call NameLoad NameLoad body Assign NameStore Call AttributeLoad SubscriptLoad Call NameLoad Call AttributeLoad NameLoad attr NameLoad NameLoad Index Num attr NameLoad If CompareEq NameLoad BinOpSub NameLoad Num body Return Call AttributeLoad NameLoad attr ListComp TupleLoad NameLoad NameLoad comprehension TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Assign SubscriptStore NameLoad Index NameLoad NameLoad Assign NameStore BinOpSub NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If Call NameLoad NameLoad NameLoad body If BoolOpAnd NameLoad CompareEq AttributeLoad NameLoad attr NameLoad body Return NameLoad Return Call NameLoad NameLoad keyword NameLoad orelse If Call NameLoad NameLoad NameLoad body Return NameLoad orelse Raise Call NameLoad Str decorator_list FunctionDef arguments args NameParam defaults vararg body Expr Str Assign NameStore Str Assign NameStore BinOpMod NameLoad NameLoad Assign NameStore Call AttributeLoad Call NameLoad attr ListComp AttributeLoad NameLoad attr comprehension NameStore NameLoad While Call NameLoad GeneratorExp CompareEq NameLoad Call NameLoad NameLoad comprehension NameStore NameLoad body Assign NameStore BinOpAdd Str NameLoad Assign NameStore BinOpMod NameLoad NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args defaults vararg body Expr Str ImportFrom alias ImportFrom alias If CompareLtE Call NameLoad NameLoad Num body Return ListLoad Assign NameStore Call NameLoad NameLoad For TupleStore NameStore NameStore Call NameLoad NameLoad body If UnaryOpNot Call NameLoad NameLoad NameLoad body TryExcept body Assign SubscriptStore NameLoad Index NameLoad Call NameLoad NameLoad handlers ExceptHandler type NameLoad body Raise Call NameLoad BinOpMod Str Call NameLoad NameLoad Assign NameStore Call AttributeLoad SubscriptLoad NameLoad Index Num attr SubscriptLoad NameLoad Index Num For NameStore SubscriptLoad NameLoad Slice Num body Assign NameStore ListLoad For NameStore NameLoad body Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Assign NameStore NameLoad Return NameLoad decorator_list FunctionDef arguments args defaults vararg kwarg body Expr Str ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias Assign NameStore Call AttributeLoad NameLoad attr Str NameLoad Assign NameStore Call NameLoad For NameStore NameLoad body If UnaryOpNot Call NameLoad NameLoad NameLoad body TryExcept body Assign NameStore Call NameLoad NameLoad handlers ExceptHandler type NameLoad body Raise Call NameLoad BinOpMod Str Call NameLoad NameLoad If Call NameLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad orelse If Call NameLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse If Call NameLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse Raise Call NameLoad BinOpMod Str Call NameLoad NameLoad If Call NameLoad GeneratorExp CompareNotEq Call NameLoad NameLoad Num comprehension NameStore NameLoad body Raise Call NameLoad Str Assign NameStore Call NameLoad NameLoad If CompareEq Call NameLoad NameLoad Num body Return IfExp NameLoad SubscriptLoad NameLoad Index Num TupleLoad SubscriptLoad NameLoad Index Num NameLoad orelse If CompareEq Call NameLoad NameLoad Num body Assign NameStore Call NameLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num Return IfExp NameLoad NameLoad TupleLoad NameLoad NameLoad FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Return BinOpSub BinOpMult BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr BinOpMult BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list Assign NameStore ListLoad Assign NameStore ListLoad TryExcept body Expr Call AttributeLoad NameLoad attr keyword Lambda arguments args NameParam defaults AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Raise Call NameLoad Str For NameStore NameLoad body While BoolOpAnd CompareGt Call NameLoad NameLoad Num CompareLtE Call NameLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num NameLoad Num body Expr Call AttributeLoad NameLoad attr While BoolOpAnd CompareGt Call NameLoad NameLoad Num CompareGtE Call NameLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num NameLoad Num body Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Assign NameStore Call NameLoad BinOpAdd NameLoad SubscriptLoad NameLoad Slice Num Num If CompareEq Call NameLoad NameLoad Num body Assign NameStore Call NameLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num Return IfExp NameLoad NameLoad TupleLoad NameLoad NameLoad If NameLoad body Return Call NameLoad NameLoad orelse Expr Call AttributeLoad NameLoad attr Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args defaults vararg body Expr Str ImportFrom alias ImportFrom alias alias identifier ImportFrom alias Assign NameStore ListComp Call NameLoad NameLoad comprehension NameStore Call NameLoad NameLoad If CompareLt Call NameLoad NameLoad Num body Raise Call NameLoad Str TryExcept body Expr Call AttributeLoad NameLoad attr keyword Lambda arguments args NameParam defaults AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Raise Call NameLoad Str If Call NameLoad GeneratorExp UnaryOpNot AttributeLoad NameLoad attr comprehension NameStore NameLoad comprehension NameStore AttributeLoad NameLoad attr body FunctionDef arguments args NameParam NameParam defaults body Assign NameStore BinOpAdd BinOpMult NameLoad NameLoad BinOpMult NameLoad NameLoad If AttributeLoad NameLoad attr body Return Call NameLoad NameLoad Return Call NameLoad NameLoad decorator_list Assign NameStore ListLoad TupleLoad Num Num Assign NameStore Call NameLoad BinOpSub AttributeLoad SubscriptLoad NameLoad Index Num attr AttributeLoad SubscriptLoad NameLoad Index Num attr BinOpSub AttributeLoad SubscriptLoad NameLoad Index Num attr AttributeLoad SubscriptLoad NameLoad Index Num attr Assign NameStore Num Assign NameStore Num Assign NameStore Call NameLoad ListLoad Num Num While CompareLt NameLoad Call NameLoad NameLoad body While BoolOpAnd CompareLt NameLoad NameLoad CompareGt BinOpSub SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num NameLoad body Expr Call AttributeLoad NameLoad attr AugAssignAdd NameStore Num For NameStore NameLoad body Assign NameStore Call NameLoad BinOpSub AttributeLoad SubscriptLoad NameLoad Index NameLoad attr AttributeLoad SubscriptLoad NameLoad Index NameLoad attr BinOpSub AttributeLoad SubscriptLoad NameLoad Index NameLoad attr AttributeLoad SubscriptLoad NameLoad Index NameLoad attr If CompareLt NameLoad NameLoad body Assign NameStore ListLoad TupleLoad NameLoad NameLoad orelse If CompareEq NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad orelse Continue Assign NameStore NameLoad Expr Call AttributeLoad NameLoad attr NameLoad AugAssignAdd NameStore Num Return SetComp Call NameLoad ListComp SubscriptLoad NameLoad Index NameLoad comprehension NameStore NameLoad comprehension NameStore NameLoad decorator_list FunctionDef arguments args defaults vararg body Expr Str ImportFrom alias alias identifier FunctionDef arguments args NameParam defaults body Assign TupleStore NameStore NameStore Call NameLoad NameLoad Call NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body If Call NameLoad NameLoad NameLoad body Raise Call NameLoad Str Expr Yield AttributeLoad NameLoad attr orelse Assign NameStore Num Assign NameStore BinOpSub Call NameLoad NameLoad Num While BoolOpOr CompareLt NameLoad BinOpSub Call NameLoad NameLoad Num CompareGt NameLoad Num body Expr Yield TupleLoad SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad Index NameLoad If CompareEq NameLoad BinOpSub Call NameLoad NameLoad Num body AugAssignSub NameStore Num orelse If CompareEq NameLoad Num body AugAssignAdd NameStore Num orelse If CompareGt BinOpMult BinOpSub AttributeLoad SubscriptLoad NameLoad Index BinOpAdd NameLoad Num attr AttributeLoad SubscriptLoad NameLoad Index NameLoad attr BinOpSub AttributeLoad SubscriptLoad NameLoad Index NameLoad attr AttributeLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num attr BinOpMult BinOpSub AttributeLoad SubscriptLoad NameLoad Index NameLoad attr AttributeLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num attr BinOpSub AttributeLoad SubscriptLoad NameLoad Index BinOpAdd NameLoad Num attr AttributeLoad SubscriptLoad NameLoad Index NameLoad attr body AugAssignAdd NameStore Num orelse AugAssignSub NameStore Num decorator_list Assign NameStore ListComp Call NameLoad NameLoad comprehension NameStore Call NameLoad NameLoad If Call NameLoad GeneratorExp UnaryOpNot AttributeLoad NameLoad attr comprehension NameStore NameLoad comprehension NameStore AttributeLoad NameLoad attr body FunctionDef arguments args NameParam NameParam defaults body Assign NameStore BinOpAdd BinOpMult NameLoad NameLoad BinOpMult NameLoad NameLoad If AttributeLoad NameLoad attr body Return Call NameLoad NameLoad Return Call NameLoad NameLoad decorator_list Assign NameStore ListLoad Assign NameStore Num For NameStore Call NameLoad NameLoad body Assign TupleStore NameStore NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareGt NameLoad NameLoad body Assign NameStore ListLoad TupleLoad NameLoad NameLoad orelse If CompareEq NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad orelse Continue Assign NameStore NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args defaults vararg body Expr Str ImportFrom alias ImportFrom alias ImportFrom alias Assign NameStore Call NameLoad NameLoad For NameStore Call NameLoad NameLoad body If Call NameLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Return Call NameLoad GeneratorExp Call AttributeLoad NameLoad attr NameLoad comprehension NameStore NameLoad If Call NameLoad GeneratorExp Call NameLoad NameLoad NameLoad comprehension NameStore NameLoad body If CompareLt Call NameLoad NameLoad Num body Return NameLoad Assign TupleStore NameStore NameStore TupleLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr For NameStore Call NameLoad NameLoad body If Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad If UnaryOpNot NameLoad body Return NameLoad orelse Assign NameStore Call NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr For NameStore NameLoad body If CompareNotIn NameLoad NameLoad body Return NameLoad Return NameLoad orelse Assign NameStore ListLoad For NameStore NameLoad body If Call NameLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad orelse If Call NameLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse If Call NameLoad NameLoad NameLoad body For NameStore AttributeLoad NameLoad attr body If Call NameLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr Call NameLoad BinOpAdd AttributeLoad NameLoad attr TupleLoad Num Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str ImportFrom alias If CompareEq NameLoad NameLoad body Return NameLoad TryExcept body Return Call AttributeLoad NameLoad attr NameLoad handlers ExceptHandler type NameLoad body TryExcept body Return Call AttributeLoad NameLoad attr NameLoad handlers ExceptHandler type NameLoad body Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Raise Call NameLoad BinOpMod Str TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args defaults vararg body Expr Str ImportFrom alias alias alias If NameLoad body If Call NameLoad GeneratorExp Call NameLoad NameLoad NameLoad comprehension NameStore NameLoad body Assign NameStore Call NameLoad Num Num For NameStore NameLoad body AugAssignAdd NameStore NameLoad Assign NameStore Call NameLoad NameLoad orelse If Call NameLoad GeneratorExp Call NameLoad NameLoad NameLoad comprehension NameStore NameLoad body Assign NameStore Call NameLoad Num Num Assign NameStore Num For NameStore NameLoad body Assign NameStore AttributeLoad NameLoad attr AugAssignAdd NameStore BinOpMult AttributeLoad NameLoad attr NameLoad AugAssignAdd NameStore NameLoad Assign NameStore NameLoad orelse If Call NameLoad GeneratorExp Call NameLoad NameLoad NameLoad comprehension NameStore NameLoad body Assign NameStore Call NameLoad Num Num Assign NameStore Num For NameStore NameLoad body Assign NameStore AttributeLoad NameLoad attr AugAssignAdd NameStore BinOpMult AttributeLoad NameLoad attr NameLoad AugAssignAdd NameStore NameLoad Assign NameStore NameLoad AugAssignDiv NameStore NameLoad Return Call AttributeLoad NameLoad attr ListComp Call AttributeLoad NameLoad attr comprehension NameStore AttributeLoad NameLoad attr decorator_list
N/A N/A Utility functions for geometrical entities.

Contains
========
intersection
convex_hull
closest_points
farthest_points
are_coplanar
are_similar

 __future__ division print_function sympy Function Symbol solve sympy.core.compatibility is_sequence range string_types point Point Point2D _ordered_points N/A N/A p N/A N/A N/A Return the tuple of points sorted numerically according to args N/A N/A tuple N/A sorted p key N/A N/A N/A x N/A N/A x args N/A idiff N/A N/A eq y x n N/A 1 N/A N/A Return ``dy/dx`` assuming that ``eq == 0``.

    Parameters
    ==========

    y : the dependent variable or a list of dependent variables (with y first)
    x : the variable that the derivative is being taken with respect to
    n : the order of the derivative (default is 1)

    Examples
    ========

    >>> from sympy.abc import x, y, a
    >>> from sympy.geometry.util import idiff

    >>> circ = x**2 + y**2 - 4
    >>> idiff(circ, y, x)
    -x/y
    >>> idiff(circ, y, x, 2).simplify()
    -(x**2 + y**2)/y**3

    Here, ``a`` is assumed to be independent of ``x``:

    >>> idiff(x + a + y, y, x)
    -1

    Now the x-dependence of ``a`` is made explicit by listing ``a`` after
    ``y`` in a list.

    >>> idiff(x + a + y, [y, a], x)
    -Derivative(a, x) - 1

    See Also
    ========

    sympy.core.function.Derivative: represents unevaluated derivatives
    sympy.core.function.diff: explicitly differentiates wrt symbols

     N/A N/A is_sequence y N/A N/A dep N/A set y N/A y N/A y N/A 0 N/A N/A N/A isinstance y Symbol N/A N/A dep N/A y N/A N/A N/A ValueError N/A expecting x-dependent symbol(s) but got: %s y N/A f N/A dict N/A N/A s N/A N/A Function N/A s name x N/A s N/A eq free_symbols N/A N/A s x N/A s dep N/A dydx N/A N/A N/A N/A Function N/A y name x diff x N/A eq N/A N/A eq subs f N/A derivs N/A N/A i N/A range n N/A N/A yp N/A N/A N/A N/A solve N/A N/A eq diff x dydx N/A 0 subs derivs N/A N/A i N/A n 1 N/A N/A N/A N/A yp subs N/A N/A v k N/A N/A k v N/A N/A f items N/A N/A derivs N/A dydx yp N/A eq N/A dydx yp N/A dydx N/A N/A dydx diff x N/A _symbol N/A N/A s matching_symbol N/A None N/A N/A Return s if s is a Symbol, else return either a new Symbol (real=True)
    with the same name s or the matching_symbol if s is a string and it matches
    the name of the matching_symbol.

    >>> from sympy import Symbol
    >>> from sympy.geometry.util import _symbol
    >>> x = Symbol('x')
    >>> _symbol('y')
    y
    >>> _.is_real
    True
    >>> _symbol(x)
    x
    >>> _.is_real is None
    True
    >>> arb = Symbol('foo')
    >>> _symbol('arb', arb) # arb's name is foo so foo will not be returned
    arb
    >>> _symbol('foo', arb) # now it will
    foo

    NB: the symbol here may not be the same as a symbol with the same
    name defined elsewhere as a result of different assumptions.

    See Also
    ========

    sympy.core.symbol.Symbol

     N/A N/A isinstance s string_types N/A N/A N/A matching_symbol N/A N/A matching_symbol name s N/A N/A matching_symbol N/A N/A Symbol s real True N/A N/A N/A isinstance s Symbol N/A N/A s N/A N/A N/A ValueError symbol must be string for symbol name or Symbol N/A _uniquely_named_symbol N/A N/A xname N/A exprs N/A N/A Return a symbol which, when printed, will have a name unique
    from any other already in the expressions given. The name is made
    unique by prepending underscores.
     N/A prefix %s N/A x N/A prefix xname N/A syms N/A N/A N/A set union N/A N/A e free_symbols N/A e exprs N/A N/A any N/A N/A x N/A str s N/A s syms N/A N/A prefix N/A _ prefix N/A x N/A prefix xname N/A N/A _symbol x N/A intersection N/A N/A N/A entities N/A N/A The intersection of a collection of GeometryEntity instances.

    Parameters
    ==========

    entities : sequence of GeometryEntity

    Returns
    =======

    intersection : list of GeometryEntity

    Raises
    ======

    NotImplementedError
        When unable to calculate intersection.

    Notes
    =====

    The intersection of any geometrical entity with itself should return
    a list with one item: the entity in question.
    An intersection requires two or more entities. If only a single
    entity is given then the function will return an empty list.
    It is possible for `intersection` to miss intersections that one
    knows exists because the required quantities were not fully
    simplified internally.
    Reals should be converted to Rationals, e.g. Rational(str(real_num))
    or else failures due to floating point issues may result.

    See Also
    ========

    sympy.geometry.entity.GeometryEntity.intersection

    Examples
    ========

    >>> from sympy.geometry import Point, Line, Circle, intersection
    >>> p1, p2, p3 = Point(0, 0), Point(1, 1), Point(-1, 5)
    >>> l1, l2 = Line(p1, p2), Line(p3, p2)
    >>> c = Circle(p2, 1)
    >>> intersection(l1, p2)
    [Point2D(1, 1)]
    >>> intersection(l1, l2)
    [Point2D(1, 1)]
    >>> intersection(c, p2)
    []
    >>> intersection(c, Point(1, 0))
    [Point2D(1, 0)]
    >>> intersection(c, l2)
    [Point2D(-sqrt(5)/5 + 1, 2*sqrt(5)/5 + 1),
     Point2D(sqrt(5)/5 + 1, -2*sqrt(5)/5 + 1)]

     entity GeometryEntity point Point N/A N/A N/A len entities 1 N/A N/A N/A N/A entities N/A list entities N/A N/A i e N/A enumerate entities N/A N/A N/A N/A isinstance e GeometryEntity N/A N/A N/A N/A N/A entities N/A i N/A Point e N/A N/A N/A NotImplementedError N/A N/A N/A ValueError N/A %s is not a GeometryEntity and cannot be made into Point N/A str e N/A res N/A N/A N/A entities N/A 0 intersection N/A entities N/A 1 N/A entity N/A entities N/A 2 N/A N/A newres N/A N/A x res N/A N/A N/A N/A newres extend N/A N/A x intersection entity N/A res newres N/A res N/A convex_hull N/A N/A N/A args kwargs N/A N/A The convex hull surrounding the Points contained in the list of entities.

    Parameters
    ==========

    args : a collection of Points, Segments and/or Polygons

    Returns
    =======

    convex_hull : Polygon if ``polygon`` is True else as a tuple `(U, L)` where ``L`` and ``U`` are the lower and upper hulls, respectively.

    Notes
    =====

    This can only be performed on a set of points whose coordinates can
    be ordered on the number line.

    References
    ==========

    [1] http://en.wikipedia.org/wiki/Graham_scan

    [2] Andrew's Monotone Chain Algorithm
    (A.M. Andrew,
    "Another Efficient Algorithm for Convex Hulls in Two Dimensions", 1979)
    http://geomalgorithms.com/a10-_hull-1.html

    See Also
    ========

    sympy.geometry.point.Point, sympy.geometry.polygon.Polygon

    Examples
    ========

    >>> from sympy.geometry import Point, convex_hull
    >>> points = [(1, 1), (1, 2), (3, 1), (-5, 2), (15, 4)]
    >>> convex_hull(*points)
    Polygon(Point2D(-5, 2), Point2D(1, 1), Point2D(3, 1), Point2D(15, 4))
    >>> convex_hull(*points, **dict(polygon=False))
    ([Point2D(-5, 2), Point2D(15, 4)],
     [Point2D(-5, 2), Point2D(1, 1), Point2D(3, 1), Point2D(15, 4)])

     entity GeometryEntity point Point line Segment polygon Polygon N/A polygon N/A N/A kwargs get polygon True N/A p N/A set N/A e args N/A N/A N/A N/A isinstance e GeometryEntity N/A N/A N/A N/A e N/A Point e N/A N/A N/A NotImplementedError N/A N/A N/A ValueError N/A %s is not a GeometryEntity and cannot be made into Point N/A str e N/A N/A isinstance e Point N/A N/A N/A N/A p add e N/A N/A N/A isinstance e Segment N/A N/A N/A N/A p update N/A e points N/A N/A N/A isinstance e Polygon N/A N/A N/A N/A p update N/A e vertices N/A N/A N/A NotImplementedError N/A Convex hull for %s not implemented. N/A type e N/A N/A any N/A N/A N/A len x 2 N/A x p N/A N/A N/A ValueError Can only compute the convex hull in two dimensions N/A p N/A list p N/A N/A N/A len p 1 N/A N/A N/A polygon N/A p N/A 0 N/A N/A p N/A 0 None N/A N/A N/A N/A len p 2 N/A N/A s N/A Segment N/A p N/A 0 N/A p N/A 1 N/A N/A polygon s N/A s None _orientation N/A N/A p q r N/A N/A N/A Return positive if p-q-r are clockwise, neg if ccw, zero if
        collinear. N/A N/A N/A N/A N/A q y N/A p y N/A N/A r x N/A p x N/A N/A N/A q x N/A p x N/A N/A r y N/A p y N/A N/A U N/A N/A L N/A N/A N/A N/A N/A N/A p sort key N/A N/A N/A x N/A N/A x args N/A N/A N/A TypeError N/A N/A N/A ValueError The points could not be sorted. N/A p_i p N/A N/A N/A N/A N/A len U 1 N/A N/A _orientation N/A U N/A -2 N/A U N/A -1 p_i 0 N/A N/A N/A N/A U pop N/A N/A N/A N/A len L 1 N/A N/A _orientation N/A L N/A -2 N/A L N/A -1 p_i 0 N/A N/A N/A N/A L pop N/A N/A N/A U append p_i N/A N/A N/A L append p_i N/A N/A N/A U reverse N/A convexHull N/A tuple N/A L N/A U N/A 1 -1 N/A N/A N/A len convexHull 2 N/A N/A s N/A Segment N/A convexHull N/A 0 N/A convexHull N/A 1 N/A N/A polygon s N/A s None N/A polygon N/A N/A N/A Polygon convexHull N/A N/A N/A N/A U reverse N/A N/A U L N/A closest_points N/A N/A N/A args N/A N/A Return the subset of points from a set of points that were
    the closest to each other in the 2D plane.

    Parameters
    ==========

    args : a collection of Points on 2D plane.

    Notes
    =====

    This can only be performed on a set of points whose coordinates can
    be ordered on the number line. If there are no ties then a single
    pair of Points will be in the set.

    References
    ==========

    [1] http://www.cs.mcgill.ca/~cs251/ClosestPair/ClosestPairPS.html

    [2] Sweep line algorithm
    https://en.wikipedia.org/wiki/Sweep_line_algorithm

    Examples
    ========

    >>> from sympy.geometry import closest_points, Point2D, Triangle
    >>> Triangle(sss=(3, 4, 5)).args
    (Point2D(0, 0), Point2D(3, 0), Point2D(3, 4))
    >>> closest_points(*_)
    set([(Point2D(0, 0), Point2D(3, 0))])

     collections deque math hypot sqrt _sqrt sympy.functions.elementary.miscellaneous sqrt N/A p N/A N/A Point2D i N/A i N/A set args N/A N/A N/A len p 2 N/A N/A N/A ValueError At least 2 distinct points must be given. N/A N/A N/A N/A N/A p sort key N/A N/A N/A x N/A N/A x args N/A N/A N/A TypeError N/A N/A N/A ValueError The points could not be sorted. N/A N/A any N/A N/A N/A i is_Rational N/A j p N/A i N/A j args N/A hypot N/A N/A x y N/A N/A N/A arg N/A N/A x x N/A y y N/A N/A arg is_Rational N/A N/A N/A _sqrt arg N/A N/A sqrt arg N/A N/A rv N/A N/A 0 1 N/A best_dist N/A hypot N/A N/A N/A p N/A 1 x N/A N/A p N/A 0 x N/A N/A N/A p N/A 1 y N/A N/A p N/A 0 y N/A i 2 N/A left 0 N/A box N/A deque N/A 0 1 N/A N/A i N/A len p N/A N/A N/A N/A left i N/A N/A N/A N/A p N/A i N/A 0 N/A N/A p N/A left N/A 0 best_dist N/A N/A N/A N/A box popleft N/A left 1 N/A j box N/A N/A d N/A hypot N/A N/A N/A p N/A i x N/A N/A p N/A j x N/A N/A N/A p N/A i y N/A N/A p N/A j y N/A N/A d best_dist N/A N/A rv N/A N/A j i N/A N/A N/A d best_dist N/A N/A N/A N/A rv append N/A j i N/A N/A N/A best_dist d N/A N/A N/A box append i N/A i 1 N/A N/A N/A tuple N/A N/A p N/A i N/A i pair N/A pair rv N/A farthest_points N/A N/A N/A args N/A N/A Return the subset of points from a set of points that were
    the furthest apart from each other in the 2D plane.

    Parameters
    ==========

    args : a collection of Points on 2D plane.

    Notes
    =====

    This can only be performed on a set of points whose coordinates can
    be ordered on the number line. If there are no ties then a single
    pair of Points will be in the set.

    References
    ==========

    [1] http://code.activestate.com/recipes/117225-convex-hull-and-diameter-of-2d-point-sets/

    [2] Rotating Callipers Technique
    https://en.wikipedia.org/wiki/Rotating_calipers

    Examples
    ========

    >>> from sympy.geometry import farthest_points, Point2D, Triangle
    >>> Triangle(sss=(3, 4, 5)).args
    (Point2D(0, 0), Point2D(3, 0), Point2D(3, 4))
    >>> farthest_points(*_)
    set([(Point2D(0, 0), Point2D(3, 4))])

     math hypot sqrt _sqrt rotatingCalipers N/A N/A Points N/A N/A N/A N/A U L N/A convex_hull Points N/A dict polygon False N/A N/A L None N/A N/A N/A isinstance U Point N/A N/A N/A ValueError At least two distinct points must be given. N/A N/A N/A U args N/A N/A i 0 N/A j N/A N/A len L 1 N/A N/A N/A i N/A N/A len U 1 N/A j 0 N/A N/A N/A N/A N/A U N/A i N/A L N/A j N/A N/A i N/A N/A len U 1 N/A N/A j 1 N/A N/A N/A j 0 N/A N/A i 1 N/A N/A N/A N/A N/A N/A N/A U N/A N/A i 1 y N/A N/A U N/A i y N/A N/A N/A L N/A j x N/A N/A L N/A N/A j 1 x N/A N/A N/A N/A L N/A j y N/A N/A L N/A N/A j 1 y N/A N/A N/A U N/A N/A i 1 x N/A N/A U N/A i x N/A N/A i 1 N/A N/A j 1 N/A N/A p N/A N/A Point2D i N/A i N/A set args N/A N/A any N/A N/A N/A i is_Rational N/A j p N/A i N/A j args N/A hypot N/A N/A x y N/A N/A N/A arg N/A N/A x x N/A y y N/A N/A arg is_Rational N/A N/A N/A _sqrt arg N/A N/A sqrt arg N/A N/A rv N/A N/A diam 0 N/A pair N/A rotatingCalipers args N/A N/A N/A h q N/A _ordered_points pair N/A d N/A hypot N/A N/A h x N/A q x N/A N/A h y N/A q y N/A N/A d diam N/A N/A rv N/A N/A h q N/A N/A N/A d diam N/A N/A N/A N/A rv append N/A h q N/A N/A N/A diam d N/A N/A set rv N/A are_coplanar N/A N/A N/A e N/A N/A  Returns True if the given entities are coplanar otherwise False

    Parameters
    ==========

    e: entities to be checked for being coplanar

    Returns
    =======

    Boolean

    Examples
    ========

    >>> from sympy import Point3D, Line3D
    >>> from sympy.geometry.util import are_coplanar
    >>> a = Line3D(Point3D(5, 0, 0), Point3D(1, -1, 1))
    >>> b = Line3D(Point3D(0, -2, 0), Point3D(3, 1, 1))
    >>> c = Line3D(Point3D(0, -1, 0), Point3D(5, -1, 9))
    >>> are_coplanar(a, b, c)
    False

     sympy.geometry.line3d LinearEntity3D sympy.geometry.point Point3D sympy.geometry.plane Plane N/A e N/A set e N/A i N/A list e N/A N/A N/A isinstance i Plane N/A N/A N/A N/A e remove i N/A N/A all N/A N/A N/A p is_coplanar i N/A p e N/A N/A all N/A N/A isinstance i Point3D N/A i e N/A N/A N/A N/A len e 3 N/A N/A False N/A N/A a b N/A N/A N/A e pop N/A N/A e pop N/A i N/A list e N/A N/A N/A N/A Point3D are_collinear a b i N/A N/A N/A N/A e remove i N/A N/A e N/A N/A False N/A N/A p N/A Plane a b N/A N/A e pop N/A i e N/A N/A N/A i p N/A N/A False N/A True N/A N/A pt3d N/A N/A i e N/A N/A N/A isinstance i Point3D N/A N/A N/A N/A pt3d append i N/A N/A N/A isinstance i LinearEntity3D N/A N/A N/A N/A pt3d extend N/A i args N/A N/A N/A isinstance i GeometryEntity N/A N/A p N/A i args N/A N/A N/A isinstance p Point N/A N/A N/A N/A pt3d append N/A Point3D N/A N/A p args N/A 0 N/A N/A are_coplanar pt3d N/A are_similar N/A N/A e1 e2 N/A N/A N/A Are two geometrical entities similar.

    Can one geometrical entity be uniformly scaled to the other?

    Parameters
    ==========

    e1 : GeometryEntity
    e2 : GeometryEntity

    Returns
    =======

    are_similar : boolean

    Raises
    ======

    GeometryError
        When `e1` and `e2` cannot be compared.

    Notes
    =====

    If the two objects are equal then they are similar.

    See Also
    ========

    sympy.geometry.entity.GeometryEntity.is_similar

    Examples
    ========

    >>> from sympy import Point, Circle, Triangle, are_similar
    >>> c1, c2 = Circle(Point(0, 0), 4), Circle(Point(1, 4), 3)
    >>> t1 = Triangle(Point(0, 0), Point(1, 0), Point(0, 1))
    >>> t2 = Triangle(Point(0, 0), Point(2, 0), Point(0, 2))
    >>> t3 = Triangle(Point(0, 0), Point(3, 0), Point(0, 1))
    >>> are_similar(t1, t2)
    True
    >>> are_similar(t1, t3)
    False

     exceptions GeometryError N/A N/A e1 e2 N/A N/A True N/A N/A N/A N/A N/A e1 is_similar e2 N/A N/A N/A AttributeError N/A N/A N/A N/A N/A N/A e2 is_similar e1 N/A N/A N/A AttributeError N/A N/A n1 N/A N/A e1 __class__ __name__ N/A n2 N/A N/A e2 __class__ __name__ N/A N/A GeometryError N/A Cannot test similarity between %s and %s N/A n1 n2 N/A centroid N/A N/A N/A args N/A N/A Find the centroid (center of mass) of the collection containing only Points,
    Segments or Polygons. The centroid is the weighted average of the individual centroid
    where the weights are the lengths (of segments) or areas (of polygons).
    Overlapping regions will add to the weight of that region.

    If there are no objects (or a mixture of objects) then None is returned.

    See Also
    ========

    sympy.geometry.point.Point, sympy.geometry.line.Segment,
    sympy.geometry.polygon.Polygon

    Examples
    ========

    >>> from sympy import Point, Segment, Polygon
    >>> from sympy.geometry.util import centroid
    >>> p = Polygon((0, 0), (10, 0), (10, 10))
    >>> q = p.translate(0, 20)
    >>> p.centroid, q.centroid
    (Point2D(20/3, 10/3), Point2D(20/3, 70/3))
    >>> centroid(p, q)
    Point2D(20/3, 40/3)
    >>> p, q = Segment((0, 0), (2, 0)), Segment((0, 0), (2, 2))
    >>> centroid(p, q)
    Point2D(1, -sqrt(2) + 2)
    >>> centroid(Point(0, 0), Point(2, 0))
    Point2D(1, 0)

    Stacking 3 polygons on top of each other effectively triples the
    weight of that polygon:

        >>> p = Polygon((0, 0), (1, 0), (1, 1), (0, 1))
        >>> q = Polygon((1, 0), (3, 0), (3, 1), (1, 1))
        >>> centroid(p, q)
        Point2D(3/2, 1/2)
        >>> centroid(p, p, p, q) # centroid x-coord shifts left
        Point2D(11/10, 1/2)

    Stacking the squares vertically above and below p has the same
    effect:

        >>> centroid(p, p.translate(0, 1), p.translate(0, -1), q)
        Point2D(11/10, 1/2)

     sympy.geometry Polygon Segment Point N/A args N/A N/A N/A all N/A N/A isinstance g Point N/A g args N/A N/A c N/A Point 0 0 N/A g args N/A N/A c g N/A den N/A len args N/A N/A N/A all N/A N/A isinstance g Segment N/A g args N/A N/A c N/A Point 0 0 N/A L 0 N/A g args N/A N/A l N/A g length N/A c N/A N/A g midpoint l N/A L l N/A den L N/A N/A N/A all N/A N/A isinstance g Polygon N/A g args N/A N/A c N/A Point 0 0 N/A A 0 N/A g args N/A N/A a N/A g area N/A c N/A N/A g centroid a N/A A a N/A den A N/A c den N/A N/A N/A c func N/A N/A N/A i simplify N/A i N/A c args N/A