world_to_local_coordinates_numpy

compas.geometry.world_to_local_coordinates_numpy(frame, xyz)[source]

Convert global coordinates to local coordinates.

Parameters:
frame[point, vector, vector] | compas.geometry.Frame

The local coordinate system.

xyzarray-like[[float, float, float] | compas.geometry.Point]

The global coordinates of the points to convert.

Returns:
(N, 3) ndarray

The coordinates of the given points in the local coordinate system.

Examples

>>> from compas.geometry import Point, Frame
>>> frame = Frame([0, 1, 0], [3, 4, 1], [1, 5, 9])
>>> xyz = [Point(2, 3, 5)]
>>> rst = world_to_local_coordinates_numpy(frame, xyz)
>>> np.allclose(rst, [[3.726, 4.088, 1.550]], rtol=1e-3)
True