This is an old revision of the document!
Table of Contents
arrays
vector
vector(a,b, etc)
creates a vector of the number of components specified
! create a metric signal with 2 components and one frame [metric_explicit] ! /result_metric_folder=processed /result_metric_name=vec2 /metric_value=2+3 ; ! create a vector containing a constant, a two dimensional metric and a 3 dimensional model based signal. evaluate_expression /expression=vector (1, metric::processed::vec2, link_model_based::original::rknee_angle) ! /signal_types= ! /signal_folder=original ! /signal_names= ! /result_types=derived ! /result_folders=processed /result_name=test ! /apply_as_suffix_to_signal_name=false ; the resulting signal will have the first three columns (one for the constant, one for the vector of 2 components) buffered to the number of frames of rknee_angle by replicating the first frame.
list
list(a,b,etc) – creates a list (column vector) of the number of rows specified:
unit_vector
unit_vector (a, b, etc) – creates a unit vector of the number of components specified:
rotation matrices
rotation multiply
rotation_multiply(a,b)
example: multiply two rotation signals evaluate_expression /expression=rotation_multiply(rotation_inverse(rotation::original::pelvis_shifted_4x4),current_signal) /signal_types=rotation ! /signal_folder=original ! /signal_names= /result_types=rotation ! /result_folders=processed /result_name=_mult /apply_as_suffix_to_signal_name=true ;
rotation inverse
rotation_inverse(a)
example: inverse of a 4×4 rotation signal or a 3×3 link_model_based rotation
a good description of the inverse of a rotation signals can be found here]
evaluate_expression
/expression=rotation_inverse(rotation::original::pelvis_shifted_4x4)
/signal_types=rotation
! /signal_folder=original
! /signal_names=
/result_types=rotation
! /result_folders=processed
/result_name=_inv
/apply_as_suffix_to_signal_name=true
;
rotation transpose
rotation_transpose(a)
example: transpose of a 3×3 link_model_based rotation signal evaluate_expression /expression=rotation_transpose(rotation::original::pelvis_shifted_4x4) /signal_types=rotation ! /signal_folder=original ! /signal_names= /result_types=rotation ! /result_folders=processed /result_name=_t /apply_as_suffix_to_signal_name=true ;
pose_euler2rotation4x4
this was created for the shadow segments introduced in 2024. create a 4×4 rotation from the visual3d pose of a segment, with the translation of the origin represented in any coordinate system, and the orientation defined by euler angles and the euler sequence. pose_euler2rotation4x4(r_heel,0,0,0,123)