ostk.mathematics.geometry.d3.object.Polygon¶
- class Polygon(
- self: ostk.mathematics.geometry.d3.object.Polygon,
- polygon: ostk.mathematics.geometry.d2.object.Polygon,
- origin: ostk.mathematics.geometry.d3.object.Point,
- x_axis: numpy.ndarray[numpy.float64[3, 1]],
- y_axis: numpy.ndarray[numpy.float64[3, 1]],
- polygon: ostk.mathematics.geometry.d2.object.Polygon,
Bases:
ObjectA polygon in 3D space.
A Polygon is a planar figure defined by a 2D polygon and its position and orientation in 3D space.
Construct a 3D polygon from a 2D polygon and coordinate frame.
- Parameters:
polygon (Polygon2d) -- The 2D polygon.
origin (Point) -- The origin of the polygon in 3D space.
x_axis (numpy.ndarray) -- The x-axis direction of the polygon's local frame.
y_axis (numpy.ndarray) -- The y-axis direction of the polygon's local frame.
Example
>>> polygon2d = Polygon2d([Point2d(0.0, 0.0), Point2d(1.0, 0.0), Point2d(1.0, 1.0), Point2d(0.0, 1.0)]) >>> origin = Point(0.0, 0.0, 0.0) >>> x_axis = numpy.array([1.0, 0.0, 0.0]) >>> y_axis = numpy.array([0.0, 1.0, 0.0]) >>> polygon = Polygon(polygon2d, origin, x_axis, y_axis)
Methods
Apply a transformation to the polygon in place.
Convert the object to a cone.
Convert the object to an ellipsoid.
Convert the object to a line.
Convert the object to a line string.
Convert the object to a plane.
Convert the object to a point.
Convert the object to a point set.
Convert the object to a polygon.
Convert the object to a pyramid.
Convert the object to a ray.
Convert the object to a segment.
Convert the object to a sphere.
Check if this object contains another object.
Get the edge at a given index.
Get the number of edges in the polygon.
Get the normal vector of the polygon's plane.
Get the origin point of the polygon.
Get the 2D polygon representation.
Get the vertex at a given index.
Get the number of vertices in the polygon.
Get all vertices of the polygon.
Get the x-axis direction of the polygon's local frame.
Get the y-axis direction of the polygon's local frame.
Check if this object intersects another object.
Check if the object is a cone.
Check if the polygon is defined.
Check if the object is an ellipsoid.
Check if the object is a line.
Check if the object is a line string.
Check if another polygon is near this one within a tolerance.
Check if the object is a plane.
Check if the object is a point.
Check if the object is a point set.
Check if the object is a polygon.
Check if the object is a pyramid.
Check if the object is a ray.
Check if the object is a segment.
Check if the object is a sphere.
Create an undefined polygon.
- apply_transformation(
- self: ostk.mathematics.geometry.d3.object.Polygon,
- transformation: ostk::mathematics::geometry::d3::Transformation,
Apply a transformation to the polygon in place.
- Parameters:
transformation (Transformation) -- The transformation to apply.
Example
>>> polygon = Polygon(polygon2d, origin, x_axis, y_axis) >>> transformation = Transformation.identity() >>> polygon.apply_transformation(transformation)
- as_cone( ) ostk::mathematics::geometry::d3::object::Cone¶
Convert the object to a cone.
- Returns:
The cone.
- Return type:
- as_ellipsoid( ) ostk::mathematics::geometry::d3::object::Ellipsoid¶
Convert the object to an ellipsoid.
- Returns:
The ellipsoid.
- Return type:
- as_line( ) ostk::mathematics::geometry::d3::object::Line¶
Convert the object to a line.
- Returns:
The line.
- Return type:
- as_line_string( ) ostk::mathematics::geometry::d3::object::LineString¶
Convert the object to a line string.
- Returns:
The line string.
- Return type:
- as_plane( ) ostk::mathematics::geometry::d3::object::Plane¶
Convert the object to a plane.
- Returns:
The plane.
- Return type:
- as_point( ) ostk::mathematics::geometry::d3::object::Point¶
Convert the object to a point.
- Returns:
The point.
- Return type:
- as_point_set( ) ostk::mathematics::geometry::d3::object::PointSet¶
Convert the object to a point set.
- Returns:
The point set.
- Return type:
- as_polygon( ) ostk::mathematics::geometry::d3::object::Polygon¶
Convert the object to a polygon.
- Returns:
The polygon.
- Return type:
- as_pyramid( ) ostk::mathematics::geometry::d3::object::Pyramid¶
Convert the object to a pyramid.
- Returns:
The pyramid.
- Return type:
- as_ray( ) ostk::mathematics::geometry::d3::object::Ray¶
Convert the object to a ray.
- Returns:
The ray.
- Return type:
- as_segment( ) ostk::mathematics::geometry::d3::object::Segment¶
Convert the object to a segment.
- Returns:
The segment.
- Return type:
- as_sphere( ) ostk::mathematics::geometry::d3::object::Sphere¶
Convert the object to a sphere.
- Returns:
The sphere.
- Return type:
- contains( ) bool¶
Check if this object contains another object.
- Parameters:
object (Object) -- The object to check containment of.
- Returns:
True if this object contains the other object.
- Return type:
Example
>>> object = Cone(Point(1.0, 2.0, 3.0), [0.0, 0.0, 1.0], Angle.degrees(30.0)) >>> other_object = Point(1.0, 2.0, 3.1) >>> object.contains(other_object) # True
- get_edge_at(
- self: ostk.mathematics.geometry.d3.object.Polygon,
- index: int,
Get the edge at a given index.
Example
>>> polygon = Polygon(polygon2d, origin, x_axis, y_axis) >>> polygon.get_edge_at(0)
- get_edge_count(self: ostk.mathematics.geometry.d3.object.Polygon) int¶
Get the number of edges in the polygon.
- Returns:
The number of edges.
- Return type:
Example
>>> polygon = Polygon(polygon2d, origin, x_axis, y_axis) >>> polygon.get_edge_count()
- get_normal_vector( ) numpy.ndarray[numpy.float64[3, 1]]¶
Get the normal vector of the polygon's plane.
- Returns:
The normal vector.
- Return type:
Example
>>> polygon = Polygon(polygon2d, origin, x_axis, y_axis) >>> polygon.get_normal_vector()
- get_origin( ) ostk.mathematics.geometry.d3.object.Point¶
Get the origin point of the polygon.
- Returns:
The origin point.
- Return type:
Example
>>> polygon = Polygon(polygon2d, origin, x_axis, y_axis) >>> polygon.get_origin()
- get_polygon2d( ) ostk.mathematics.geometry.d2.object.Polygon¶
Get the 2D polygon representation.
- Returns:
The 2D polygon.
- Return type:
Polygon2d
Example
>>> polygon = Polygon(polygon2d, origin, x_axis, y_axis) >>> polygon.get_polygon2d()
- get_vertex_at(
- self: ostk.mathematics.geometry.d3.object.Polygon,
- index: int,
Get the vertex at a given index.
Example
>>> polygon = Polygon(polygon2d, origin, x_axis, y_axis) >>> polygon.get_vertex_at(0)
- get_vertex_count(self: ostk.mathematics.geometry.d3.object.Polygon) int¶
Get the number of vertices in the polygon.
- Returns:
The number of vertices.
- Return type:
Example
>>> polygon = Polygon(polygon2d, origin, x_axis, y_axis) >>> polygon.get_vertex_count()
- get_vertices( ) list[ostk.mathematics.geometry.d3.object.Point]¶
Get all vertices of the polygon.
Example
>>> polygon = Polygon(polygon2d, origin, x_axis, y_axis) >>> polygon.get_vertices()
- get_x_axis( ) numpy.ndarray[numpy.float64[3, 1]]¶
Get the x-axis direction of the polygon's local frame.
- Returns:
The x-axis vector.
- Return type:
Example
>>> polygon = Polygon(polygon2d, origin, x_axis, y_axis) >>> polygon.get_x_axis()
- get_y_axis( ) numpy.ndarray[numpy.float64[3, 1]]¶
Get the y-axis direction of the polygon's local frame.
- Returns:
The y-axis vector.
- Return type:
Example
>>> polygon = Polygon(polygon2d, origin, x_axis, y_axis) >>> polygon.get_y_axis()
- intersects( ) bool¶
Check if this object intersects another object.
- Parameters:
object (Object) -- The object to check intersection with.
- Returns:
True if the objects intersect.
- Return type:
Example
>>> object = Cone(Point(1.0, 2.0, 3.0), [0.0, 0.0, 1.0], Angle.degrees(30.0)) >>> other_object = Point(1.0, 2.0, 3.1) >>> object.intersects(other_object) # True
- is_cone(self: ostk.mathematics.geometry.d3.Object) bool¶
Check if the object is a cone.
- Returns:
True if the object is a cone.
- Return type:
- is_defined(self: ostk.mathematics.geometry.d3.object.Polygon) bool¶
Check if the polygon is defined.
- Returns:
True if the polygon is defined.
- Return type:
Example
>>> polygon = Polygon(polygon2d, origin, x_axis, y_axis) >>> polygon.is_defined()
- is_ellipsoid(self: ostk.mathematics.geometry.d3.Object) bool¶
Check if the object is an ellipsoid.
- Returns:
True if the object is an ellipsoid.
- Return type:
- is_line(self: ostk.mathematics.geometry.d3.Object) bool¶
Check if the object is a line.
- Returns:
True if the object is a line.
- Return type:
- is_line_string(self: ostk.mathematics.geometry.d3.Object) bool¶
Check if the object is a line string.
- Returns:
True if the object is a line string.
- Return type:
- is_near(
- self: ostk.mathematics.geometry.d3.object.Polygon,
- polygon: ostk.mathematics.geometry.d3.object.Polygon,
- tolerance: ostk.core.type.Real,
- polygon: ostk.mathematics.geometry.d3.object.Polygon,
Check if another polygon is near this one within a tolerance.
- Parameters:
- Returns:
True if the polygons are near each other.
- Return type:
Example
>>> polygon = Polygon(polygon2d, origin, x_axis, y_axis) >>> polygon.is_near(polygon, 0.0)
- is_plane(self: ostk.mathematics.geometry.d3.Object) bool¶
Check if the object is a plane.
- Returns:
True if the object is a plane.
- Return type:
- is_point(self: ostk.mathematics.geometry.d3.Object) bool¶
Check if the object is a point.
- Returns:
True if the object is a point.
- Return type:
- is_point_set(self: ostk.mathematics.geometry.d3.Object) bool¶
Check if the object is a point set.
- Returns:
True if the object is a point set.
- Return type:
- is_polygon(self: ostk.mathematics.geometry.d3.Object) bool¶
Check if the object is a polygon.
- Returns:
True if the object is a polygon.
- Return type:
- is_pyramid(self: ostk.mathematics.geometry.d3.Object) bool¶
Check if the object is a pyramid.
- Returns:
True if the object is a pyramid.
- Return type:
- is_ray(self: ostk.mathematics.geometry.d3.Object) bool¶
Check if the object is a ray.
- Returns:
True if the object is a ray.
- Return type:
- is_segment(self: ostk.mathematics.geometry.d3.Object) bool¶
Check if the object is a segment.
- Returns:
True if the object is a segment.
- Return type:
- is_sphere(self: ostk.mathematics.geometry.d3.Object) bool¶
Check if the object is a sphere.
- Returns:
True if the object is a sphere.
- Return type:
- static undefined() ostk.mathematics.geometry.d3.object.Polygon¶
Create an undefined polygon.
- Returns:
An undefined polygon.
- Return type:
Example
>>> undefined_polygon = Polygon.undefined() >>> undefined_polygon.is_defined() # False