Search Shortcut cmd + k | ctrl + k
se3

Provides SE(3) rigid transformations (combinations of rotations and translations in 3D) as DuckDB scalar functions.

Maintainer(s): jokasimr

Installing and Loading

INSTALL se3 FROM community;
LOAD se3;

Example

SELECT se3_apply(
    quat_from_axis_angle(
        struct_pack(x:=0.0, y:=0.0, z:=1.0), -- rotation axis (Z)
        pi()/2.0                             -- 90 degrees
    ),
    struct_pack(x:=1.0, y:=0.0, z:=0.0)      -- point
);                                           -- returns (0., 1., 0.)

About se3

This extension provides SE(3) rigid transformations, implemented as DuckDB scalar functions.

Features:

  • Sequences of rotations and translations can be combined to a 7 DOF struct that represents one combined translation then rotation. See se3_compose.
  • Transformations can be efficiently applied to points in 3D without calling trigonometric functions. See se3_apply().

For full documentation see: https://github.com/jokasimr/se3.

Added Functions

function_name function_type description comment examples
qconj scalar NULL NULL  
qmul scalar NULL NULL  
qnorm2 scalar NULL NULL  
quat_from_axis_angle scalar NULL NULL  
se3_apply scalar NULL NULL  
se3_compose scalar NULL NULL  
se3_from_axis_angle scalar NULL NULL  
se3_identity scalar NULL NULL  
se3_inv scalar NULL NULL  
se3_make scalar NULL NULL