Table of Contents

Expression Numbers

There is current a single “numbers”-related expression function.

Random

rand(lo_value,hi_value,signal) - random number in the range (lo_value,hi_value)

Example: Generate a random number in the range 0 to 1

Set_Pipeline_Parameter_From_Expression
/PARAMETER_NAME=TEST1
/EXPRESSION=RAND()
/AS_INTEGER=FALSE
;

 TEST1 = 0.220525

The default range for the random number is from 0 to 1.

Example: Generate a random number within a range

Set_Pipeline_Parameter_From_Expression
/PARAMETER_NAME=TEST2
/EXPRESSION=RAND(2,3)
/AS_INTEGER=FALSE
;

 TEST2 = 2.232995

The output value occurs in the range from lo_value to hi_value.

Example: Generate a random number in a range to match a signal

Set_Pipeline_Parameter_From_Expression
/PARAMETER_NAME=TEST3
/EXPRESSION=RAND(2,3,FRAME_NUMBERS::ORIGINAL::FRAMES)
/AS_INTEGER=FALSE
;

::TEST3 = 2.808424+2.582592+2.346721+2.697052+2.662510+2.861250+2.843808+...(to number of frames)

Using all three arguments will produce a random number in the range from lo_value to hi_value with the same number of components and frames as the argument signal.

Example: Generate a specific number of random values

Set_Pipeline_Parameter_From_Expression
/PARAMETER_NAME=TEST4
/EXPRESSION=RAND(2,3,3)
/AS_INTEGER=FALSE
;

::TEST4 = 2.446495 + 2.718410 + 2.201863

If the signal argument is a number, then that number of random values from the range lo_value to hi_value are returned.

Example: Create a TARGET with random values between 0 and 1

Create_Target
/SIGNAL_NAMES=TEST5
! /SIGNAL_DESCRIPTION=
/EXPRESSION=RAND(0,1,TARGET::ORIGINAL::LFT1)
! /INCLUDE_CALFILE=FALSE
;

View the resulting signal in the 3D viewer by turning on the target trail:

random_target.jpg

Example: create a TARGET with random values between 0 and 1

Create_Target
/SIGNAL_NAMES=TEST6
! /SIGNAL_DESCRIPTION=
/EXPRESSION=VECTOR(RAND(0,1,FRAME_NUMBERS::ORIGINAL::FRAMES),RAND(0,1,FRAME_NUMBERS::ORIGINAL::FRAMES),RAND(0,1,FRAME_NUMBERS::ORIGINAL::FRAMES))
! /INCLUDE_CALFILE=FALSE
;

Note that all components contain different values

random7.jpg random7view.jpg

Example: Create a TARGET where each frame is on a random location on the surface of a sphere of radius 1

Evaluate_Expression
/EXPRESSION=RAND(-PI(),PI(),FRAME_NUMBERS::ORIGINAL::FRAMES)
/RESULT_TYPES=DERIVED
/RESULT_FOLDERS=RADIUS
/RESULT_NAME=VERTICAL
! /APPLY_AS_SUFFIX_TO_SIGNAL_NAME=FALSE
;

Evaluate_Expression
/EXPRESSION=RAND(0,2*PI(),FRAME_NUMBERS::ORIGINAL::FRAMES)
/RESULT_TYPES=DERIVED
/RESULT_FOLDERS=RADIUS
/RESULT_NAME=HORIZONTAL
! /APPLY_AS_SUFFIX_TO_SIGNAL_NAME=FALSE
;

Create_Target
/SIGNAL_NAMES=SPHERE
! /SIGNAL_DESCRIPTION=
/EXPRESSION=VECTOR(
COS(DERIVED::RADIUS::VERTICAL)*COS(DERIVED::RADIUS::HORIZONTAL),
-COS(DERIVED::RADIUS::VERTICAL)*SIN(DERIVED::RADIUS::HORIZONTAL),
SIN(DERIVED::RADIUS::VERTICAL))
! /INCLUDE_CALFILE=FALSE
;

random8view.jpg