Point
-
class
compas.geometry.Point(x, y, z=0.0)[source] Bases:
compas.geometry.primitives._primitive.PrimitiveA point is defined by XYZ coordinates.
- Parameters
x (float) – The X coordinate of the point.
y (float) – The Y coordinate of the point.
z (float, optional) – The Z coordinate of the point. Default is
0.0.
- Attributes
data (dict) – The data representation of the point.
x (float) – The X coordinate of the point.
y (float) – The Y coordinate of the point.
z (float) – The Z coordinate of the point.
Notes
A
Pointobject supports direct access to its xyz coordinates through the dot notation, as well list-style access using indices. Indexed access is implemented such that thePointbehaves like a circular list 1.References
- 1
Stack Overflow. Pythonic Circular List. Available at: https://stackoverflow.com/questions/8951020/pythonic-circular-list.
Examples
>>> p1 = Point(1, 2, 3) >>> p2 = Point(4, 5, 6)The XYZ coordinates of point objects can be accessed as object attributes or by trating the points as lists.
>>> p1.x 1.0 >>> p1.y 2.0 >>> p1.z 3.0 >>> p1[0] 1.0 >>> p1[1] 2.0 >>> p1[2] 3.0Point objects support basic arithmetic operations.
>>> p1 + p2 Point(5.000, 7.000, 9.000) >>> p1 * 2 Point(2.000, 4.000, 6.000) >>> p1 ** 2 Point(1.000, 4.000, 9.000) >>> p1 Point(1.000, 2.000, 3.000)Points and lists can be used interchangeably.
>>> p1 + [4, 5, 6] Point(5.000, 7.000, 9.000)Arithmetic operations can also be applied to modify a point object in-place.
>>> p1 += p2 >>> p1 *= 2 >>> p1 **= 2 >>> p1 Point(100.000, 196.000, 324.000)Methods
__init__(x, y[, z])Initialize self.
copy()Makes a copy of this primitive.
distance_to_line(line)Compute the distance to a line.
distance_to_plane(plane)Compute the distance to a plane.
distance_to_point(point)Compute the distance to another point.
from_data(data)Construct a point from a data dict.
from_json(filepath)Construct a primitive from structured data contained in a json file.
in_circle(circle)Determine if the point lies inside the given circle.
in_polygon(polygon[, convex])Determine if the point lies inside the given polygon.
in_polyhedron(polyhedron)Determine if the point lies inside the given polyhedron.
in_triangle(triangle)Determine if the point lies inside the given triangle.
on_circle(circle)Determine if the point lies on the given circle.
on_line(line)Determine if the point lies on the given line.
on_polyline(polyline)Determine if the point lies on the given polyline.
on_segment(segment)Determine if the point lies on the given segment.
to_data()Returns the data dictionary that represents the primitive.
to_json(filepath)Serialise the structured data representing the primitive to json.
transform(T)Transform this point.
transform_collection(collection, X)Transform a collection of points.
transformed(transformation)Returns a transformed copy of this primitive.
transformed_collection(collection, X)Create a collection of transformed points.
Validate the data of this object against its data schema (self.DATASCHEMA).
Validate the data loaded from a JSON representation of the data of this object against its data schema (self.DATASCHEMA).