Point
- class compas.geometry.Point[source]
Bases:
Geometry
A point is defined by XYZ coordinates.
- Parameters:
- xfloat
The X coordinate of the point.
- yfloat
The Y coordinate of the point.
- zfloat, optional
The Z coordinate of the point.
- namestr, optional
The name of the point.
- Attributes:
- xfloat
The X coordinate of the point.
- yfloat
The Y coordinate of the point.
- zfloat
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.
>>> result = p1 + p2 >>> print(result) Point(x=5.000, y=7.000, z=9.000)
>>> result = p1 * 2 >>> print(result) Point(x=2.000, y=4.000, z=6.000)
>>> result = p1**2 >>> print(result) Point(x=1.000, y=4.000, z=9.000)
>>> print(p1) Point(x=1.000, y=2.000, z=3.000)
Points and lists can be used interchangeably.
>>> result = p1 + [4, 5, 6] >>> print(result) Point(x=5.000, y=7.000, z=9.000)
Arithmetic operations can also be applied to modify a point object in-place.
>>> p1 += p2 >>> p1 *= 2 >>> p1 **= 2 >>> print(p1) Point(x=100.000, y=196.000, z=324.000)
Methods
Compute the distance to a line.
Compute the distance to a plane.
Compute the distance to another point.
Determine if the point lies inside the given circle.
Determine if the point lies inside the given convex polygon.
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 curve.
Determine if the point lies on the given line.
Determine if the point lies on the given plane.
Determine if the point lies on the given polyline.
Determine if the point lies on the given segment.
Transform this point.
Inherited Methods
Converts the instance to a string.
Compute the axis-aligned bounding box of the geometry.
Compute the oriented bounding box of the geometry.
Make an independent copy of the data object.
Construct an object of this type from a JSON file.
Construct an object of this type from a JSON string.
Rotate the geometry.
Returns a rotated copy of this geometry.
Scale the geometry.
Returns a scaled copy of this geometry.
Compute a hash of the data for comparison during version control using the sha256 algorithm.
Convert an object to its native data representation and save it to a JSON file.
Convert an object to its native data representation and save it to a JSON string.
Returns a transformed copy of this geometry.
Translate the geometry.
Returns a translated copy of this geometry.
Validate the data against the object's data schema.