geometry
– Geometry and algebra¶

class
Matrix
(rows)¶ Mathematical representation of a matrix. It supports common operations such as matrix addition (
+
), subtraction (
), and multiplication (*
). AMatrix
object is immutable. Parameters
rows (list) – List of rows. Each row is itself a list of numbers.

shape
¶ Returns a tuple (
m
,n
), wherem
is the number of rows andn
is the number of columns.

vector
(x, y, z=None)¶ Convenience function to create a
Matrix
with the shape (3
,1
) or (2
,1
). Parameters
x (float) – xcoordinate of the vector.
y (float) – ycoordinate of the vector.
z (float) – zcoordinate of the vector (optional).
 Returns
A matrix with the shape of a column vector.
 Return type

class
Axis
¶ Unit axes of a coordinate system.

X = vector(1, 0, 0)

Y = vector(0, 1, 0)

Z = vector(0, 0, 1)

Reference frames¶
The Pybricks module and this documentation use the following conventions:
X: Positive means forward. Negative means backward.
Y: Positive means to the left. Negative means to the right.
Z: Positive means upward. Negative means downward.
To make sure that all hub measurements (such as acceleration) have the correct value and sign, you can specify how the hub is mounted in your creation. This adjust the measurements so that it is easy to see how your robot is moving, rather than how the hub is moving.
For example, the hub may be mounted upside down in your design. If you configure the settings as shown in Figure 27, the hub measurements will be adjusted accordingly. This way, a positive acceleration value in the X direction means that your robot accelerates forward, even though the hub accelerates backward.