Point
- class compas.geometry.Point(x, y, z=0.0, **kwargs)[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)Attributes
DATASCHEMAThe schema of the data of this object.
JSONSCHEMANAMEdataThe data representing the point.
xThe X coordinate of the point.
yThe Y coordinate of the point.
zThe Z coordinate of the point.
Inherited Attributes
JSONSCHEMAThe schema of the JSON representation of the data of this object.
dtypeThe type of the object in the form of a '2-level' import and a class name.
guidThe globally unique identifier of the object.
jsondefinitionsReusable schema definitions.
jsonstringThe representation of the object data in JSON format.
jsonvalidatorJSON schema validator for draft 7.
nameThe name of the object.
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.
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 (self.DATASCHEMA).
Validate the object's data against its json schema (self.JSONSCHEMA).