visual3d:documentation:pipeline:expressions:array_and_matrix_functions
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
visual3d:documentation:pipeline:expressions:array_and_matrix_functions [2024/07/16 16:58] – removed sgranger | visual3d:documentation:pipeline:expressions:array_and_matrix_functions [2025/05/16 13:01] (current) – Cleaned up page formatting and added links. wikisysop | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Array and Matrix Functions ====== | ||
+ | These array and matrix functions can be used anywhere Visual3D allows [[visual3d: | ||
+ | |||
+ | ===== Arrays ===== | ||
+ | |||
+ | Arrays can be thought of as a 1-dimensional ordered list of numerical values. | ||
+ | |||
+ | ==== Vector ==== | ||
+ | |||
+ | **Vector**(a, | ||
+ | |||
+ | < | ||
+ | ! Create a metric signal with 2 components and one frame | ||
+ | Metric_Explicit | ||
+ | ! / | ||
+ | / | ||
+ | / | ||
+ | ; | ||
+ | |||
+ | ! Create a vector containing a constant, a two dimensional metric and a 3 dimensional model based signal. | ||
+ | Evaluate_Expression | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | / | ||
+ | ! / | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | 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, | ||
+ | |||
+ | ==== Unit_Vector ==== | ||
+ | |||
+ | **unit_vector (a, b, etc)** - creates a unit vector of the number of components specified. | ||
+ | |||
+ | ===== Rotation Matrices ===== | ||
+ | |||
+ | Rotation matrices are used throughout Visual3D because they can entirely contain the information regarding a segment' | ||
+ | |||
+ | ==== Rotation Multiply ==== | ||
+ | |||
+ | **Rotation_Multiply**(a, | ||
+ | |||
+ | Example: Multiply two ROTATION signals | ||
+ | < | ||
+ | Evaluate_Expression | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | / | ||
+ | ! / | ||
+ | / | ||
+ | / | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | ==== Rotation Inverse ==== | ||
+ | |||
+ | **Rotation_Inverse**(a) - Calculates the inverse of a rotation matrix | ||
+ | |||
+ | Example: Inverse of a 4x4 ROTATION signal or a 3x3 LINK_MODEL_BASED ROTATION | ||
+ | |||
+ | < | ||
+ | Evaluate_Expression | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | / | ||
+ | ! / | ||
+ | / | ||
+ | / | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | **Note**: A good description of the inverse of a ROTATION signals can be found [[http:// | ||
+ | |||
+ | ==== Rotation Transpose ==== | ||
+ | |||
+ | **Rotation_Transpose**(a) - Creates the transposition of a rotation matrix. | ||
+ | |||
+ | Example: Transpose of a 3x3 LINK_MODEL_BASED ROTATION signal | ||
+ | < | ||
+ | Evaluate_Expression | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | / | ||
+ | ! / | ||
+ | / | ||
+ | / | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | ==== Pose_4x4 ==== | ||
+ | |||
+ | **Pose_4x4(a, | ||
+ | |||
+ | This function was created in support of the [[id=visual3d: | ||
+ | |||
+ | Example: Create a rotation matrix for a shadow segment of the right heel | ||
+ | < | ||
+ | POSE_4X4(R_HEEL, | ||
+ | </ | ||
+ | |||
+ | ===== See Also ===== | ||
+ | |||
+ | Go back to see other [[visual3d: |
visual3d/documentation/pipeline/expressions/array_and_matrix_functions.1721149088.txt.gz · Last modified: 2024/07/16 16:58 by sgranger