Point
- class compas.geometry.Point(x, y, z=0.0, **kwargs)[source]
Bases:
Primitive
A 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.
- Attributes
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 Point object supports direct access to its xyz coordinates through the dot notation, as well list-style access using indices. Indexed access is implemented such that the Point behaves 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.0
Point 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
Compute the distance to a line.
Compute the distance to a plane.
Compute the distance to another point.
Construct a point from a data dict.
Determine if the point lies inside the given circle.
Determine if the point lies inside the given polygon.
Determine if the point lies inside the given polyhedron.
Determine if the point lies inside the given triangle.
Determine if the point lies on the given circle.
Determine if the point lies on the given line.
Determine if the point lies on the given polyline.
Determine if the point lies on the given segment.
Transform this point.
Transform a collection of points.
Create a collection of transformed points.
Inherited Methods
Make an independent copy of the data object.
Construct an object from serialized data contained in a JSON file.
Construct an object from serialized data contained in a JSON string.
Compute a hash of the data for comparison during version control using the sha256 algorithm.
Convert an object to its native data representation.
Serialize the data representation of an object to a JSON file.
Serialize the data representation of an object to a JSON string.
Returns a transformed copy of this geometry.
Validate the object's data against its data schema.
Validate the object's data against its json schema.