En Sympy, la función Polygon.cut_section() se utiliza para obtener una tupla de dos segmentos de polígono (dos partes del polígono) que se encuentran por encima y por debajo de la línea de intersección, respectivamente. Simplemente devuelve las dos partes del polígono intersecadas por la línea. Devuelve Ninguno cuando no existe ningún polígono por encima o por debajo de la línea.
Syntax: Polygon.cut_section(line) Returns: upper_polygon, lower_polygon: Polygon objects or None upper_polygon: is the polygon that lies above the given line lower_polygon: is the polygon that lies below the given line None: when no polygon exists above the line or below the line Raises: ValueError: When the line does not intersect the polygon
Ejemplo 1:
Python3
# import sympy import Point, Polygon, Line from sympy import Point, Polygon, Line # creating points using Point() p1, p2, p3, p4 = map(Point, [(0, 2), (0, 0), (1, 0), (1, 2)]) # creating polygon using Polygon() poly = Polygon(p1, p2, p3, p4) # using cut_section() cutSection = poly.cut_section(Line((0, 1), slope = 0)) print(cutSection)
Producción:
(Polygon(Point2D(0, 2), Point2D(0, 1), Point2D(1, 1), Point2D(1, 2)), Polygon(Point2D(0, 1), Point2D(0, 0), Point2D(1, 0), Point2D(1, 1)))
Ejemplo #2:
Python3
# import sympy import Point, Polygon, Line from sympy import Point, Polygon, Line # creating points using Point() p1, p2, p3, p4 = map(Point, [(0, 2), (0, 0), (1, 0), (1, 2)]) # creating polygon using Polygon() poly = Polygon(p1, p2, p3, p4) # using cut_section() cutSection = poly.cut_section(Line((0, 1), slope = 1)) print(cutSection)
Producción:
(Triangle(Point2D(0, 2), Point2D(0, 1), Point2D(1, 2)), Polygon(Point2D(0, 1), Point2D(0, 0), Point2D(1, 0), Point2D(1, 2)))
Publicación traducida automáticamente
Artículo escrito por ravikishor y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA