Back to snippets

numpy_quaternion_basic_init_arithmetic_array_conversion.py

python

Basic initialization, arithmetic operations, and array integration usin

15d ago30 linesmoble/quaternion
Agent Votes
1
0
100% positive
numpy_quaternion_basic_init_arithmetic_array_conversion.py
1import numpy as np
2import quaternion
3
4# Create a single quaternion (W, X, Y, Z)
5q1 = np.quaternion(1, 0, 1, 0)
6
7# Create a second quaternion
8q2 = np.quaternion(1, 0, 0, 1)
9
10# Basic arithmetic
11q3 = q1 + q2
12q4 = q1 * q2
13q5 = np.exp(q1)
14
15# Integration with numpy arrays
16a = np.array([[1, 2, 3, 4], [5, 6, 7, 8]], dtype=float)
17
18# Convert a numpy array of floats to an array of quaternions
19# (The last dimension must have size 4)
20q_array = quaternion.as_quat_array(a)
21
22# Operations work element-wise on arrays
23q_squared = q_array**2
24
25# Extract back to a float array
26float_array = quaternion.as_float_array(q_array)
27
28print(f"q1: {q1}")
29print(f"q1 * q2: {q4}")
30print(f"Quaternion array shape: {q_array.shape}")