diff --git a/Workspace_msvc/lib_util.vcxproj b/Workspace_msvc/lib_util.vcxproj
index 32bebc753654bfa97481586598e171fdb5e9451b..5b5e5f30ccdc3697e60b72e2b74750fe06e90598 100644
--- a/Workspace_msvc/lib_util.vcxproj
+++ b/Workspace_msvc/lib_util.vcxproj
@@ -146,6 +146,7 @@
+
@@ -167,6 +168,7 @@
+
diff --git a/apps/decoder.c b/apps/decoder.c
index 5e1aafe2072f8cc3f4210245ea1ed888816d1221..9c4329f32fe112435f8f83f83808f41eecb26ec1 100644
--- a/apps/decoder.c
+++ b/apps/decoder.c
@@ -42,6 +42,9 @@
#include "ls_custom_file_reader.h"
#include "hrtf_file_reader.h"
#include "head_rotation_file_reader.h"
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+#include "vector3_pair_file_reader.h"
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
#include "jbm_file_writer.h"
#include "evs_rtp_payload.h"
#ifdef DEBUGGING
@@ -69,9 +72,18 @@ static
#define MAX_NUM_OUTPUT_CHANNELS 16
#define MAX_OUTPUT_PCM_BUFFER_SIZE ( MAX_NUM_OUTPUT_CHANNELS * MAX_FRAME_SIZE )
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#define IVAS_PUBLIC_ORIENT_TRK_NONE ( 0 )
+#define IVAS_PUBLIC_ORIENT_TRK_REF ( 1 )
+#define IVAS_PUBLIC_ORIENT_TRK_AVG ( 2 )
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+#define IVAS_PUBLIC_ORIENT_TRK_REF_VEC ( 3 )
+#define IVAS_PUBLIC_ORIENT_TRK_REF_VEC_LEV ( 4 )
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+#else
#define IVAS_PUBLIC_ORIENT_TRK_REF 0
#define IVAS_PUBLIC_ORIENT_TRK_AVG 1
-
+#endif
typedef struct
{
@@ -85,6 +97,14 @@ typedef struct
bool voipMode;
bool enableHeadRotation;
char *headrotTrajFileName;
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ bool enableReferenceRotation;
+ char *refrotTrajFileName;
+#endif
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ bool enableReferenceVectorTracking;
+ char *referenceVectorTrajFileName;
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
#ifdef SUPPORT_JBM_TRACEFILE
char *jbmTraceFilename;
#endif
@@ -120,7 +140,15 @@ typedef struct
static bool parseCmdlIVAS_dec( int16_t argc, char **argv, DecArguments *arg );
static void usage_dec( void );
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, HeadRotFileReader *headRotReader, HeadRotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf );
+#else /* OTR_REFERENCE_VECTOR_TRACKING */
+static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, HeadRotFileReader *headRotReader, HeadRotFileReader *refRotReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf );
+#endif
+#else
static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, HeadRotFileReader *headRotReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf );
+#endif
static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec );
#ifdef DEBUGGING
static ivas_error printBitstreamInfoVoip( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec );
@@ -146,6 +174,12 @@ int main(
LsCustomFileReader *hLsCustomReader = NULL;
hrtfFileReader *hrtfReader = NULL;
HeadRotFileReader *headRotReader = NULL;
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ HeadRotFileReader *refRotReader = NULL;
+#endif
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ Vector3PairFileReader *referenceVectorReader = NULL;
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
ivas_error error = IVAS_ERR_UNKNOWN;
int16_t pcmBuf[MAX_OUTPUT_PCM_BUFFER_SIZE];
RenderConfigReader *renderConfigReader = NULL;
@@ -255,6 +289,33 @@ int main(
}
}
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ /*------------------------------------------------------------------------------------------*
+ * Open reference rotation file
+ *------------------------------------------------------------------------------------------*/
+ if ( arg.enableReferenceRotation )
+ {
+ if ( ( error = HeadRotationFileReader_open( arg.refrotTrajFileName, &refRotReader ) ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "\nError: Can't open reference rotation file %s \n\n", arg.refrotTrajFileName );
+ goto cleanup;
+ }
+ }
+#endif
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ /*------------------------------------------------------------------------------------------*
+ * Open reference vector trajectory file
+ *------------------------------------------------------------------------------------------*/
+ if ( arg.enableReferenceVectorTracking )
+ {
+ if ( ( error = Vector3PairFileReader_open( arg.referenceVectorTrajFileName, &referenceVectorReader ) ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "\nError: Can't open reference vector trajectory file %s \n\n", arg.referenceVectorTrajFileName );
+ goto cleanup;
+ }
+ }
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+
/*------------------------------------------------------------------------------------------*
* Open custom loudspeaker layout file
*------------------------------------------------------------------------------------------*/
@@ -511,7 +572,15 @@ int main(
}
else
{
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ error = decodeG192( arg, hBsReader, headRotReader, refRotReader, referenceVectorReader, hIvasDec, pcmBuf );
+#else
+ error = decodeG192( arg, hBsReader, headRotReader, refRotReader, hIvasDec, pcmBuf );
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+#else
error = decodeG192( arg, hBsReader, headRotReader, hIvasDec, pcmBuf );
+#endif
}
if ( error == IVAS_ERR_OK || error == IVAS_ERR_END_OF_FILE )
@@ -567,7 +636,12 @@ cleanup:
CustomLsReader_close( &hLsCustomReader );
hrtfFileReader_close( &hrtfReader );
HeadRotationFileReader_close( &headRotReader );
-
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ HeadRotationFileReader_close( &refRotReader );
+#endif
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ Vector3PairFileReader_close( &referenceVectorReader );
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
RenderConfigReader_close( &renderConfigReader );
if ( BS_Reader_Close( &hBsReader ) != IVAS_ERR_OK )
@@ -704,7 +778,17 @@ static bool parseCmdlIVAS_dec(
arg->enableHeadRotation = false;
arg->headrotTrajFileName = NULL;
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_NONE;
+ arg->enableReferenceRotation = false;
+ arg->headrotTrajFileName = NULL;
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ arg->enableReferenceVectorTracking = false;
+ arg->referenceVectorTrajFileName = NULL;
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+#else
arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_REF;
+#endif
#ifdef SUPPORT_JBM_TRACEFILE
arg->jbmTraceFilename = NULL;
@@ -879,18 +963,27 @@ static bool parseCmdlIVAS_dec(
}
else if ( strcmp( argv_to_upper, "-OTR" ) == 0 )
{
+#ifndef FIX_I109_ORIENTATION_TRACKING
if ( strlen( argv[i + 1] ) > 3 )
{
fprintf( stderr, "Error: Invalid orientation tracking type %s \n\n", argv[i + 1] );
usage_dec();
return false;
}
+#endif
strncpy( argv_to_upper, argv[i + 1], sizeof( argv_to_upper ) - 1 );
argv_to_upper[sizeof( argv_to_upper ) - 1] = '\0';
to_upper( argv_to_upper );
- if ( strcmp( argv_to_upper, "REF" ) == 0 )
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ if ( strcmp( argv_to_upper, "NONE" ) == 0 )
+ {
+ arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_NONE;
+ }
+ else
+#endif
+ if ( strcmp( argv_to_upper, "REF" ) == 0 )
{
arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_REF;
}
@@ -898,6 +991,16 @@ static bool parseCmdlIVAS_dec(
{
arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_AVG;
}
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ else if ( strcmp( argv_to_upper, "REF_VEC" ) == 0 )
+ {
+ arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_REF_VEC;
+ }
+ else if ( strcmp( argv_to_upper, "REF_VEC_LEV" ) == 0 )
+ {
+ arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_REF_VEC_LEV;
+ }
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
else
{
fprintf( stderr, "Error: Invalid orientation tracking type %s \n\n", argv[i + 1] );
@@ -906,6 +1009,40 @@ static bool parseCmdlIVAS_dec(
}
i += 2;
}
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ else if ( strcmp( argv_to_upper, "-RF" ) == 0 )
+ {
+ arg->enableReferenceRotation = true;
+ i++;
+
+ if ( argc - i <= 4 || argv[i][0] == '-' )
+ {
+ fprintf( stderr, "Error: Reference rotation file name not specified!\n\n" );
+ usage_dec();
+ return false;
+ }
+
+ arg->refrotTrajFileName = argv[i];
+ i++;
+ }
+#endif
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ else if ( strcmp( argv_to_upper, "-RVF" ) == 0 )
+ {
+ arg->enableReferenceVectorTracking = true;
+ i++;
+
+ if ( argc - i <= 4 || argv[i][0] == '-' )
+ {
+ fprintf( stderr, "Error: reference vector trajectory file name not specified!\n\n" );
+ usage_dec();
+ return false;
+ }
+
+ arg->referenceVectorTrajFileName = argv[i];
+ i++;
+ }
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
else if ( strcmp( argv_to_upper, "-RENDER_CONFIG" ) == 0 )
{
arg->renderConfigEnabled = true;
@@ -1098,7 +1235,17 @@ static void usage_dec( void )
fprintf( stdout, " default is OFF, if this option is not used\n" );
fprintf( stdout, "-force R : Force specific binaural rendering mode, R = (TDREND, CLDFBREND),\n" );
#endif
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ fprintf( stdout, "-otr tracking_type : head orientation tracking type: 'none', 'ref' or 'avg' (only for binaural rendering)\n" );
+ fprintf( stdout, "-rf File : Reference rotation specified by external trajectory file\n" );
+ fprintf( stdout, " works only in combination with -otr ref mode\n" );
+#else
fprintf( stdout, "-otr tracking_type : head orientation tracking type: 'ref' or 'avg' (only for binaural rendering)\n" );
+#endif
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ fprintf( stdout, "-rvf File : Reference vector specified by external trajectory file\n" );
+ fprintf( stdout, " works only in combination with -otr ref_vec and ref_vec_lev modes\n" );
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
fprintf( stdout, "-render_config file : Renderer configuration file\n" );
fprintf( stdout, "-no_diegetic_pan : panning mono no dietic sound to stereo -1<= pan <=1,\n" );
fprintf( stdout, " left or l or 1->left, right or r or -1->right, center or c or 0->middle\n" );
@@ -1315,6 +1462,12 @@ static ivas_error decodeG192(
DecArguments arg,
BS_READER_HANDLE hBsReader,
HeadRotFileReader *headRotReader,
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ HeadRotFileReader *refRotReader,
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ Vector3PairFileReader *referenceVectorReader,
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+#endif
IVAS_DEC_HANDLE hIvasDec,
int16_t *pcmBuf )
@@ -1414,11 +1567,65 @@ static ivas_error decodeG192(
goto cleanup;
}
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ /* reference vector */
+ if ( arg.enableReferenceVectorTracking )
+ {
+ IVAS_VECTOR3 listenerPosition, referencePosition;
+ if ( ( error = Vector3PairFileReader_read( referenceVectorReader, &listenerPosition, &referencePosition ) ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "\nError %s while reading listener and reference positions from %s\n", IVAS_DEC_GetErrorMessage( error ), Vector3PairFileReader_getFilePath( referenceVectorReader ) );
+ goto cleanup;
+ }
+
+ if ( ( error = IVAS_DEC_FeedRefVectorData( hIvasDec, listenerPosition, referencePosition ) ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "\nIVAS_DEC_FeedRefVectorData failed: %s\n", IVAS_DEC_GetErrorMessage( error ) );
+ goto cleanup;
+ }
+ }
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+ /* Reference rotation */
+ if ( arg.enableReferenceRotation )
+ {
+ IVAS_QUATERNION quaternion;
+#ifdef TD5
+ if ( ( error = HeadRotationFileReading( refRotReader, &quaternion, NULL ) ) != IVAS_ERR_OK )
+#else
+ if ( ( error = HeadRotationFileReading( refRotReader, &quaternion ) ) != IVAS_ERR_OK )
+#endif
+ {
+ fprintf( stderr, "\nError %s while reading reference rotation from %s\n", IVAS_DEC_GetErrorMessage( error ), HeadRotationFileReader_getFilePath( refRotReader ) );
+ goto cleanup;
+ }
+
+ if ( ( error = IVAS_DEC_FeedRefRotData( hIvasDec, quaternion ) ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "\nIVAS_DEC_FeedRefRotData failed: %s\n", IVAS_DEC_GetErrorMessage( error ) );
+ goto cleanup;
+ }
+ }
+#endif
/* Head-tracking input simulation */
if ( arg.enableHeadRotation )
{
IVAS_QUATERNION Quaternions[IVAS_MAX_PARAM_SPATIAL_SUBFRAMES];
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ for ( i = 0; i < IVAS_MAX_PARAM_SPATIAL_SUBFRAMES; i++ )
+ {
+#ifdef TD5
+ if ( ( error = HeadRotationFileReading( headRotReader, &Quaternions[i], &Pos[i] ) ) != IVAS_ERR_OK )
+#else
+ if ( ( error = HeadRotationFileReading( headRotReader, &Quaternions[i] ) ) != IVAS_ERR_OK )
+#endif
+ {
+ fprintf( stderr, "\nError %s while reading head orientation from %s\n", IVAS_DEC_GetErrorMessage( error ), HeadRotationFileReader_getFilePath( headRotReader ) );
+ goto cleanup;
+ }
+ }
+#else
#ifdef TD5
if ( ( error = HeadRotationFileReading( headRotReader, Quaternions, Pos ) ) != IVAS_ERR_OK )
#else
@@ -1428,6 +1635,7 @@ static ivas_error decodeG192(
fprintf( stderr, "\nError %s while reading head orientation from %s\n", IVAS_DEC_GetErrorMessage( error ), HeadRotationFileReader_getFilePath( headRotReader ) );
goto cleanup;
}
+#endif
#ifdef TD5
if ( ( error = IVAS_DEC_FeedHeadTrackData( hIvasDec, Quaternions, Pos ) ) != IVAS_ERR_OK )
@@ -1439,7 +1647,6 @@ static ivas_error decodeG192(
goto cleanup;
}
}
-
/* Run decoder for one frame (get rendered output) */
if ( ( error = IVAS_DEC_GetSamples( hIvasDec, pcmBuf, &nOutSamples ) ) != IVAS_ERR_OK )
{
diff --git a/apps/renderer.c b/apps/renderer.c
index 7c662074af887ef7dd2f17e903579e3cfbc0c8f5..46102c54b6f96b33de165a11f69026ea91aa8de4 100644
--- a/apps/renderer.c
+++ b/apps/renderer.c
@@ -42,6 +42,9 @@
#include "cmdl_tools.h"
#include "cmdln_parser.h"
#include "head_rotation_file_reader.h"
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+#include "vector3_pair_file_reader.h"
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
#include "hrtf_file_reader.h"
#include "ism_file_reader.h"
#include "ls_custom_file_reader.h"
@@ -130,6 +133,12 @@ typedef struct
char inMetadataFilePaths[RENDERER_MAX_ISM_INPUTS][RENDERER_MAX_CLI_ARG_LENGTH];
int16_t numInMetadataFiles;
char headRotationFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ char referenceVectorFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+ char referenceRotationFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
+#endif
char customHrtfFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
char renderConfigFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
int8_t orientationTracking;
@@ -154,6 +163,7 @@ typedef enum
CmdLnOptionId_outputFormat,
CmdLnOptionId_sampleRate,
CmdLnOptionId_trajFile,
+ CmdLnOptionId_refRotFile,
CmdLnOptionId_customHrtfFile,
CmdLnOptionId_renderConfigFile,
CmdLnOptionId_noDiegeticPan,
@@ -165,6 +175,9 @@ typedef enum
CmdLnOptionId_inputMetadata,
CmdLnOptionId_listFormats,
CmdLnOptionId_inputGain,
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ CmdLnOptionId_referenceVectorFile,
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
} CmdLnOptionId;
static const CmdLnParser_Option cliOptions[] = {
@@ -210,6 +223,12 @@ static const CmdLnParser_Option cliOptions[] = {
.matchShort = "tf",
.description = "Head rotation trajectory file for simulation of head tracking (only for BINAURAL and BINAURAL_ROOM outputs)",
},
+ {
+ .id = CmdLnOptionId_refRotFile,
+ .match = "reference_rotation_file",
+ .matchShort = "rf",
+ .description = "Reference rotation trajectory file for simulation of head tracking (only for BINAURAL and BINAURAL_ROOM outputs)",
+ },
{
.id = CmdLnOptionId_customHrtfFile,
.match = "custom_hrtf",
@@ -232,7 +251,15 @@ static const CmdLnParser_Option cliOptions[] = {
.id = CmdLnOptionId_orientationTracking,
.match = "tracking_type",
.matchShort = "otr",
- .description = "Head orientation tracking type: 'ref' or 'avg' (only for BINAURAL and BINAURAL_ROOM) (todo: check implementation)",
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ .description = "Head orientation tracking type: 'none', 'ref', 'avg' or `ref_vec` or `ref_vec_lev` (only for BINAURAL and BINAURAL_ROOM)",
+#else
+ .description = "Head orientation tracking type: 'none', 'ref' or 'avg' (only for BINAURAL and BINAURAL_ROOM)",
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+#else
+ .description = "Head orientation tracking type: 'ref' or 'avg' (only for BINAURAL and BINAURAL_ROOM)",
+#endif
},
{
.id = CmdlnOptionId_lfePosition,
@@ -268,6 +295,14 @@ static const CmdLnParser_Option cliOptions[] = {
.matchShort = "l",
.description = "List supported audio formats",
},
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ {
+ .id = CmdLnOptionId_referenceVectorFile,
+ .match = "reference_vector_file",
+ .matchShort = "rvf",
+ .description = "Reference vector trajectory file for simulation of head tracking (only for BINAURAL and BINAURAL_ROOM outputs)",
+ },
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
};
@@ -494,6 +529,12 @@ int main(
{
IVAS_REND_HANDLE hIvasRend;
HeadRotFileReader *headRotReader = NULL;
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ Vector3PairFileReader *referenceVectorReader = NULL;
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+ HeadRotFileReader *referenceRotReader = NULL;
+#endif
hrtfFileReader *hrtfFileReader = NULL;
IsmPositionProvider *positionProvider;
RenderConfigReader *renderConfigReader = NULL;
@@ -538,22 +579,68 @@ int main(
convert_backslash( args.inputFilePath );
convert_backslash( args.outputFilePath );
+#ifndef FIX_I109_ORIENTATION_TRACKING
+ /* disable 'refrotequal' test cases */
+ if ( strstr( args.headRotationFilePath, "azi_plus_2-ele_plus_2-every-100-frames.csv" ) != NULL )
+ {
+ memset( args.headRotationFilePath, '\0', sizeof( args.headRotationFilePath ) );
+ }
+#endif
convert_backslash( args.headRotationFilePath );
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ convert_backslash( args.referenceVectorFilePath );
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+ convert_backslash( args.referenceRotationFilePath );
+#endif
convert_backslash( args.inLfePanningMatrixFile );
if ( !isEmptyString( args.headRotationFilePath ) )
{
- HeadRotationFileReader_open( args.headRotationFilePath, &headRotReader );
+ if ( HeadRotationFileReader_open( args.headRotationFilePath, &headRotReader ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "Error opening file: %s\n", args.headRotationFilePath );
+ exit( -1 );
+ }
}
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ if ( !isEmptyString( args.referenceRotationFilePath ) )
+ {
+ if ( HeadRotationFileReader_open( args.referenceRotationFilePath, &referenceRotReader ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "Error opening file: %s\n", args.referenceRotationFilePath );
+ exit( -1 );
+ }
+ }
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ if ( !isEmptyString( args.referenceVectorFilePath ) )
+ {
+ if ( Vector3PairFileReader_open( args.referenceVectorFilePath, &referenceVectorReader ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "Error opening file: %s\n", args.referenceVectorFilePath );
+ exit( -1 );
+ }
+ }
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+#endif
+
if ( !isEmptyString( args.customHrtfFilePath ) )
{
- hrtfFileReader_open( args.customHrtfFilePath, &hrtfFileReader );
+ if ( hrtfFileReader_open( args.customHrtfFilePath, &hrtfFileReader ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "Error opening file: %s\n", args.customHrtfFilePath );
+ exit( -1 );
+ }
}
if ( !isEmptyString( args.renderConfigFilePath ) )
{
- RenderConfigReader_open( args.renderConfigFilePath, &renderConfigReader );
+ if ( RenderConfigReader_open( args.renderConfigFilePath, &renderConfigReader ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "Error opening file: %s\n", args.renderConfigFilePath );
+ exit( -1 );
+ }
}
/* Initialize main input files, i.e. audio and metadata */
@@ -629,48 +716,56 @@ int main(
if ( ( error = IVAS_REND_InitConfig( hIvasRend, ( args.outConfig.audioConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM ) || ( args.outConfig.audioConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL ) ) ) != IVAS_ERR_OK )
#else
if ( ( error = IVAS_REND_InitConfig( hIvasRend, strlen( args.renderConfigFilePath ) != 0 ) ) != IVAS_ERR_OK )
+#endif
{
+ fprintf( stderr, "Error in Renderer Config Init\n" );
exit( -1 );
}
-#endif
- if ( args.renderConfigFilePath[0] != '\0' )
- {
- IVAS_RENDER_CONFIG_DATA renderConfig;
+ if ( args.renderConfigFilePath[0] != '\0' )
+ {
+ IVAS_RENDER_CONFIG_DATA renderConfig;
- /* sanity check */
+ /* sanity check */
#ifdef TD5
- if ( ( args.outConfig.audioConfig != IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM ) && ( args.outConfig.audioConfig != IVAS_REND_AUDIO_CONFIG_BINAURAL ) )
+ if ( ( args.outConfig.audioConfig != IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM ) && ( args.outConfig.audioConfig != IVAS_REND_AUDIO_CONFIG_BINAURAL ) )
#else
if ( args.outConfig.audioConfig != IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM )
#endif
- {
+ {
#ifdef TD5
- fprintf( stderr, "\nExternal Renderer Config is supported only when BINAURAL or BINAURAL_ROOM is used as output. Exiting. \n" );
+ fprintf( stderr, "\nExternal Renderer Config is supported only when BINAURAL or BINAURAL_ROOM is used as output. Exiting. \n" );
#else
fprintf( stderr, "\nExternal Renderer Config is supported only when BINAURAL_ROOM is used as output. Exiting. \n" );
#endif
- exit( -1 );
- }
+ exit( -1 );
+ }
- if ( ( error = IVAS_REND_GetRenderConfig( hIvasRend, &renderConfig ) ) != IVAS_ERR_OK )
- {
- fprintf( stderr, "\nIVAS_DEC_GetRenderConfig failed\n" );
- exit( -1 );
- }
+ if ( ( error = IVAS_REND_GetRenderConfig( hIvasRend, &renderConfig ) ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "\nIVAS_DEC_GetRenderConfig failed\n" );
+ exit( -1 );
+ }
- if ( RenderConfigReader_read( renderConfigReader, &renderConfig ) != IVAS_ERR_OK )
- {
- fprintf( stderr, "Failed to read renderer configuration from file %s\n", args.renderConfigFilePath );
- exit( -1 );
- }
+ if ( RenderConfigReader_read( renderConfigReader, &renderConfig ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "Failed to read renderer configuration from file %s\n", args.renderConfigFilePath );
+ exit( -1 );
+ }
- if ( ( error = IVAS_REND_FeedRenderConfig( hIvasRend, renderConfig ) ) != IVAS_ERR_OK )
- {
- fprintf( stderr, "\nIVAS_DEC_FeedRenderConfig failed\n" );
- exit( -1 );
- }
+ if ( ( error = IVAS_REND_FeedRenderConfig( hIvasRend, renderConfig ) ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "\nIVAS_DEC_FeedRenderConfig failed\n" );
+ exit( -1 );
}
+ }
+
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ if ( IVAS_REND_SetOrientationTrackingMode( hIvasRend, args.orientationTracking ) )
+ {
+ return error;
+ }
+#endif
/* Set up output custom layout configuration */
if ( args.outConfig.audioConfig == IVAS_REND_AUDIO_CONFIG_LS_CUSTOM )
@@ -871,25 +966,89 @@ int main(
ObjectPositionBuffer mtdBuffer;
IsmPositionProvider_getNextFrame( positionProvider, &mtdBuffer );
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ if ( referenceVectorReader != NULL )
+ {
+ IVAS_VECTOR3 listenerPos, refPos;
+ if ( ( error = Vector3PairFileReader_read( referenceVectorReader, &listenerPos, &refPos ) ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) );
+ exit( -1 );
+ }
+ if ( ( error = IVAS_REND_SetReferenceVector( hIvasRend, listenerPos, refPos ) ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) );
+ exit( -1 );
+ }
+ }
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+ /* Read from reference rotation trajectory file if specified */
+ if ( referenceRotReader != NULL )
+ {
+ IVAS_QUATERNION quaternion;
+#ifdef TD5
+ if ( HeadRotationFileReading( referenceRotReader, &quaternion, NULL ) != IVAS_ERR_OK )
+#else
+ if ( HeadRotationFileReading( referenceRotReader, &quaternion ) != IVAS_ERR_OK )
+#endif
+ {
+ fprintf( stderr, "Error in Head Rotation File Reading.\r\n" );
+ exit( -1 );
+ }
+ if ( IVAS_REND_SetReferenceRotation( hIvasRend, quaternion ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "Error setting Reference Rotation.\r\n" );
+ exit( -1 );
+ }
+ }
+#endif
+
/* Read from head rotation trajectory file if specified */
if ( headRotReader != NULL )
{
IVAS_QUATERNION quatBuffer[RENDERER_HEAD_POSITIONS_PER_FRAME];
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ for ( i = 0; i < RENDERER_HEAD_POSITIONS_PER_FRAME; i++ )
+ {
+#ifdef TD5
+ if ( HeadRotationFileReading( headRotReader, &quatBuffer[i], &Pos[i] ) != IVAS_ERR_OK )
+#else
+ if ( HeadRotationFileReading( headRotReader, &quatBuffer[i] ) != IVAS_ERR_OK )
+#endif
+ {
+ fprintf( stderr, "Error in Head Rotation File Reading.\r\n" );
+ exit( -1 );
+ }
+ }
+#else
#ifdef TD5
HeadRotationFileReading( headRotReader, quatBuffer, Pos );
- IVAS_REND_SetHeadRotation( hIvasRend, quatBuffer, Pos );
#else
HeadRotationFileReading( headRotReader, quatBuffer, frame );
- IVAS_REND_SetHeadRotation( hIvasRend, quatBuffer );
#endif
+#endif
+#ifdef TD5
+ if ( IVAS_REND_SetHeadRotation( hIvasRend, quatBuffer, Pos ) != IVAS_ERR_OK )
+#else
+ if ( IVAS_REND_SetHeadRotation( hIvasRend, quatBuffer ) != IVAS_ERR_OK )
+#endif
+ {
+ fprintf( stderr, "Error setting Head Rotation\n" );
+ exit( -1 );
+ }
}
else
{
#ifdef TD5
- IVAS_REND_SetHeadRotation( hIvasRend, NULL, NULL );
+ if ( ( IVAS_REND_SetHeadRotation( hIvasRend, NULL, NULL ) != IVAS_ERR_OK ) && ( IVAS_REND_SetHeadRotation( hIvasRend, NULL, NULL ) != IVAS_ERR_INVALID_OUTPUT_FORMAT ) )
#else
- IVAS_REND_SetHeadRotation( hIvasRend, NULL );
+ if ( ( IVAS_REND_SetHeadRotation( hIvasRend, NULL ) != IVAS_ERR_OK ) && ( IVAS_REND_SetHeadRotation( hIvasRend, NULL ) != IVAS_ERR_INVALID_OUTPUT_FORMAT ) )
#endif
+ {
+ fprintf( stderr, "Error setting Head Rotation\n" );
+ exit( -1 );
+ }
}
for ( i = 0; i < args.inConfig.numMultiChannelBuses; ++i )
@@ -969,7 +1128,11 @@ int main(
}
}
- IVAS_REND_GetSamples( hIvasRend, outBuffer );
+ if ( IVAS_REND_GetSamples( hIvasRend, outBuffer ) != IVAS_ERR_OK )
+ {
+ fprintf( stderr, "Error in getting samples\n" );
+ exit( -1 );
+ }
int16_t num_out_channels;
num_out_channels = outBuffer.config.numChannels;
@@ -1061,6 +1224,12 @@ int main(
AudioFileReader_close( &audioReader );
AudioFileWriter_close( &audioWriter );
HeadRotationFileReader_close( &headRotReader );
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ Vector3PairFileReader_close( &referenceVectorReader );
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+ HeadRotationFileReader_close( &referenceRotReader );
+#endif
hrtfFileReader_close( &hrtfFileReader );
IVAS_REND_Close( &hIvasRend );
IsmPositionProvider_close( positionProvider );
@@ -1286,7 +1455,15 @@ static bool parseOrientationTracking(
to_upper( value );
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ if ( strcmp( value, "NONE" ) == 0 )
+ {
+ *tracking_type = IVAS_ORIENT_TRK_NONE;
+ }
+ else if ( strcmp( value, "REF" ) == 0 )
+#else
if ( strcmp( value, "REF" ) == 0 )
+#endif
{
*tracking_type = IVAS_ORIENT_TRK_REF;
}
@@ -1294,6 +1471,18 @@ static bool parseOrientationTracking(
{
*tracking_type = IVAS_ORIENT_TRK_AVG;
}
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ else if ( strcmp( value, "REF_VEC" ) == 0 )
+ {
+ *tracking_type = IVAS_ORIENT_TRK_REF_VEC;
+ }
+ else if ( strcmp( value, "REF_VEC_LEV" ) == 0 )
+ {
+ *tracking_type = IVAS_ORIENT_TRK_REF_VEC_LEV;
+ }
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+#endif
else
{
fprintf( stderr, "Error: Invalid orientation tracking type %s \n\n", value );
@@ -1511,10 +1700,20 @@ static CmdlnArgs defaultArgs(
args.numInMetadataFiles = 0;
clearString( args.headRotationFilePath );
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ clearString( args.referenceVectorFilePath );
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+ clearString( args.referenceRotationFilePath );
+#endif
clearString( args.customHrtfFilePath );
clearString( args.renderConfigFilePath );
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ args.orientationTracking = IVAS_ORIENT_TRK_NONE;
+#else
args.orientationTracking = IVAS_ORIENT_TRK_REF;
+#endif
args.noDiegeticPan = 0.0f;
args.delayCompensationEnabled = true;
@@ -1589,6 +1788,18 @@ static void parseOption(
assert( numOptionValues == 1 );
strncpy( args->headRotationFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 );
break;
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ case CmdLnOptionId_referenceVectorFile:
+ assert( numOptionValues == 1 );
+ strncpy( args->referenceVectorFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 );
+ break;
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+ case CmdLnOptionId_refRotFile:
+ assert( numOptionValues == 1 );
+ strncpy( args->referenceRotationFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 );
+ break;
+#endif
case CmdLnOptionId_customHrtfFile:
assert( numOptionValues == 1 );
strncpy( args->customHrtfFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 );
diff --git a/lib_com/common_api_types.h b/lib_com/common_api_types.h
index dc1df1b5f0c5edf146307c211d4d7c1fa9e913ef..0ca4d6b461ac97f9a0f0c7cf2009d9628270b934 100644
--- a/lib_com/common_api_types.h
+++ b/lib_com/common_api_types.h
@@ -90,6 +90,13 @@ typedef struct
} IVAS_QUATERNION;
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+typedef struct
+{
+ float x, y, z;
+} IVAS_VECTOR3;
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+
#ifdef TD5
typedef struct
{
diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h
index b79adb5532b3ffbb8d55e830d6761f04835a33f8..a1716d0741016248b0733042a630799631912714 100644
--- a/lib_com/ivas_cnst.h
+++ b/lib_com/ivas_cnst.h
@@ -1483,15 +1483,35 @@ typedef enum
*----------------------------------------------------------------------------------*/
/* Orientation tracking types */
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#define IVAS_ORIENT_TRK_NONE 0
+#define IVAS_ORIENT_TRK_REF 1
+#define IVAS_ORIENT_TRK_AVG 2
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+#define IVAS_ORIENT_TRK_REF_VEC 3
+#define IVAS_ORIENT_TRK_REF_VEC_LEV 4
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+#else
#define IVAS_ORIENT_TRK_REF 0
#define IVAS_ORIENT_TRK_AVG 1
+#endif
typedef enum
{
- OTR_TRACKING_NONE = IVAS_ORIENT_TRK_REF-1, /* track orientation relative to external reference orientation (default: yaw=pitch=roll=0) */ // VE: not really used in IVAS (only in unit-test)
- OTR_TRACKING_REF_ORIENT = IVAS_ORIENT_TRK_REF, /* track orientation relative to external reference orientation (default: yaw=pitch=roll=0) */
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ OTR_TRACKING_NONE = IVAS_ORIENT_TRK_NONE,
+#else
+ OTR_TRACKING_NONE = IVAS_ORIENT_TRK_REF-1,
+#endif
+ OTR_TRACKING_REF_ORIENT = IVAS_ORIENT_TRK_REF, /* track orientation relative to external reference orientation (default: no rotation) */
OTR_TRACKING_AVG_ORIENT = IVAS_ORIENT_TRK_AVG /* track orientation relative to average orientation */
-
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ ,
+ OTR_TRACKING_REF_VEC = IVAS_ORIENT_TRK_REF_VEC, /* track orientation relative to external reference vector */
+ OTR_TRACKING_REF_VEC_LEV = IVAS_ORIENT_TRK_REF_VEC_LEV /* track orientation relative to level component of external reference vector */
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+#endif
} OTR_TRACKING_T;
diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h
old mode 100755
new mode 100644
index 8ec50b98a099b07fcf7380733de35b1cad2d284c..a0506e7473af7485cc2b837f1de4bb2e6954e632
--- a/lib_com/ivas_prot.h
+++ b/lib_com/ivas_prot.h
@@ -933,8 +933,8 @@ void ivas_ism_get_sce_id_dtx(
const int16_t input_frame /* i : input frame length per channel */
);
-void ivas_param_ism_compute_noisy_speech_flag(
- Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */
+void ivas_param_ism_compute_noisy_speech_flag(
+ Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */
);
/*! r: indication of DTX frame */
@@ -4178,12 +4178,12 @@ void ivas_cov_smooth_process(
);
/* Transient detector module */
-ivas_error ivas_transient_det_open(
+ivas_error ivas_transient_det_open(
ivas_trans_det_state_t **hTranDet, /* i/o: Transient detector handle */
const int32_t sampling_rate /* i : sampling rate */
);
-void ivas_transient_det_close(
+void ivas_transient_det_close(
ivas_trans_det_state_t **hTranDet /* i/o: Transient detector handle */
);
@@ -4203,14 +4203,14 @@ void ivas_td_decorr_get_ducking_gains(
const int16_t tdet_flag
);
-ivas_error ivas_td_decorr_dec_open(
+ivas_error ivas_td_decorr_dec_open(
ivas_td_decorr_state_t **hTdDecorr, /* i/o: TD decorrelator handle */
const int32_t output_Fs, /* i : output sampling rate */
const int16_t nchan_internal, /* i : number of internal channels */
const int16_t ducking_flag /* i : ducking flag */
);
-void ivas_td_decorr_dec_close(
+void ivas_td_decorr_dec_close(
ivas_td_decorr_state_t **hTdDecorr /* i/o: TD decorrelator handle */
);
diff --git a/lib_com/options.h b/lib_com/options.h
old mode 100644
new mode 100755
index 1dd2d2e218aab7a95d5542e34749b75ec61b9119..73615a02571614435767560d72a4dd46f59cb478
--- a/lib_com/options.h
+++ b/lib_com/options.h
@@ -141,9 +141,7 @@
#define DISABLE_ADAP_RES_COD_TMP /* temporary fix for IVAS-403, disables adaptive residual coding */
/*#define ITD_WINNER_GAIN_MODIFY */ /* ITD optimization - WORK IN PROGRESS */
/*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */
-
-
-
+#define FIX_I109_ORIENTATION_TRACKING /* Issue 109: Harmonize head and orientation tracking */
/*#define SBA_HPF_TUNING_DEC*/
#define BINAURALIZATION_DELAY_REPORT /* VA: Issue 255 - Changes the way the decoder delay is reported */
@@ -152,6 +150,11 @@
#define FIX_372_LIB_REND_VALIDATE_IO /* FhG: Issue 372: IVAS_rend segfaults with unsupported I/O configs - add validation checks of I/O config */
#define FIX_376_SBA_ROTATE /*DLB: Fix for issue 376*/
#define TD5 /* Eri: Contribution 17: Extended metadata for 6 DoF rendering in TD renderer */
+#define TD5_FIX_INVALID_MEMORY_ACCESS /* FhG: Resolves segfault in case IVAS_REND_InitConfig gets initialized with rendererConfigEnabled:=false && ISM are being rendered */
+
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#define OTR_REFERENCE_VECTOR_TRACKING /* FhG: enables the reference position orientation tracking mode */
+#endif
/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */
diff --git a/lib_dec/ivas_binRenderer_internal.c b/lib_dec/ivas_binRenderer_internal.c
index e27fc42db5a0d97ed265f4149f03f65870d575a0..2db5602519dd28b45f9741760b409d062bfc4d8c 100644
--- a/lib_dec/ivas_binRenderer_internal.c
+++ b/lib_dec/ivas_binRenderer_internal.c
@@ -1004,7 +1004,6 @@ void ivas_binRenderer(
if ( hHeadTrackData->shd_rot_max_order == -1 )
{
QuatToRotMat( hHeadTrackData->Quaternions[hHeadTrackData->num_quaternions++], hHeadTrackData->Rmat );
-
rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, hHeadTrackData->Rmat, hBinRenderer->hInputSetup->nchan_out_woLFE, 3 );
}
else if ( hHeadTrackData->shd_rot_max_order > 0 )
diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c
index 649cd43b5c5a7973edad50947aa3c002fdecca1a..1f8de9cb38e7809b0d1b260087e6ee00eca2f963 100644
--- a/lib_dec/ivas_dirac_dec.c
+++ b/lib_dec/ivas_dirac_dec.c
@@ -2096,6 +2096,7 @@ void ivas_dirac_dec(
float *reference_power, *reference_power_smooth;
float *onset_filter, *onset_filter_subframe, *p_onset_filter = NULL;
uint16_t coherence_flag;
+
push_wmops( "ivas_dirac_dec" );
/* Initialize aux buffers */
diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c
index 70768d6e0fa101ecbf7835cf91d6e806e9e7e427..a3a48030a9cce496b5d85b14b5575cb323c92866 100644
--- a/lib_dec/ivas_init_dec.c
+++ b/lib_dec/ivas_init_dec.c
@@ -752,6 +752,38 @@ ivas_error ivas_init_decoder(
}
}
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ if ( st_ivas->hDecoderConfig->Opt_Headrotation )
+ {
+ if ( st_ivas->hDecoderConfig->orientation_tracking == IVAS_ORIENT_TRK_NONE )
+ {
+ ivas_orient_trk_SetTrackingType( st_ivas->hHeadTrackData->OrientationTracker, OTR_TRACKING_NONE );
+ }
+ else if ( st_ivas->hDecoderConfig->orientation_tracking == IVAS_ORIENT_TRK_AVG )
+ {
+ ivas_orient_trk_SetTrackingType( st_ivas->hHeadTrackData->OrientationTracker, OTR_TRACKING_AVG_ORIENT );
+ }
+ else if ( st_ivas->hDecoderConfig->orientation_tracking == IVAS_ORIENT_TRK_REF )
+ {
+ ivas_orient_trk_SetTrackingType( st_ivas->hHeadTrackData->OrientationTracker, OTR_TRACKING_REF_ORIENT );
+ }
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ else if ( st_ivas->hDecoderConfig->orientation_tracking == IVAS_ORIENT_TRK_REF_VEC )
+ {
+ ivas_orient_trk_SetTrackingType( st_ivas->hHeadTrackData->OrientationTracker, OTR_TRACKING_REF_VEC );
+ }
+ else if ( st_ivas->hDecoderConfig->orientation_tracking == IVAS_ORIENT_TRK_REF_VEC_LEV )
+ {
+ ivas_orient_trk_SetTrackingType( st_ivas->hHeadTrackData->OrientationTracker, OTR_TRACKING_REF_VEC_LEV );
+ }
+ else
+ {
+ return IVAS_ERR_WRONG_MODE;
+ }
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+ }
+#endif
+
/*-----------------------------------------------------------------*
* Allocate and initialize SCE/CPE and other handles
*-----------------------------------------------------------------*/
@@ -1246,8 +1278,13 @@ ivas_error ivas_init_decoder(
}
}
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ if ( ( error = ivas_rend_openCrend( &( st_ivas->hCrendWrapper ), st_ivas->intern_config, st_ivas->hDecoderConfig->output_config,
+ st_ivas->hRenderConfig, st_ivas->hSetOfHRTF, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
+#else
if ( ( error = ivas_rend_openCrend( &( st_ivas->hCrendWrapper ), st_ivas->intern_config, st_ivas->hDecoderConfig->output_config,
st_ivas->hRenderConfig, st_ivas->hDecoderConfig->Opt_Headrotation, st_ivas->hSetOfHRTF, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
+#endif
{
return error;
}
@@ -1748,8 +1785,12 @@ void ivas_destroy_dec(
/* Head track data handle */
if ( st_ivas->hHeadTrackData != NULL )
{
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ ivas_headTrack_close( &st_ivas->hHeadTrackData );
+#else
free( st_ivas->hHeadTrackData );
st_ivas->hHeadTrackData = NULL;
+#endif
}
/* Time Domain binaural renderer handle */
diff --git a/lib_dec/ivas_ism_dec.c b/lib_dec/ivas_ism_dec.c
index 28a36d36d491bae828a23519b3c6b3fbba16c97a..5fd1c879f14b49046dc3a1c7f46d8a2fc7fec264 100644
--- a/lib_dec/ivas_ism_dec.c
+++ b/lib_dec/ivas_ism_dec.c
@@ -155,7 +155,9 @@ static ivas_error ivas_ism_bitrate_switching(
st_ivas->intern_config,
st_ivas->hOutSetup.output_config,
st_ivas->hRenderConfig,
+#ifndef FIX_I109_ORIENTATION_TRACKING
st_ivas->hDecoderConfig->Opt_Headrotation,
+#endif
st_ivas->hSetOfHRTF,
st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
{
diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c
index 1e34ef397a23e54e5e037dbc8a7d6f8096810fdd..96a535f4278704fbb5c580ec379acf0813df5623 100644
--- a/lib_dec/ivas_mct_dec.c
+++ b/lib_dec/ivas_mct_dec.c
@@ -1145,7 +1145,10 @@ static ivas_error ivas_mc_dec_reconfig(
if ( ( error = ivas_rend_openCrend( &( st_ivas->hCrendWrapper ),
st_ivas->intern_config,
st_ivas->hDecoderConfig->output_config,
- st_ivas->hRenderConfig, st_ivas->hDecoderConfig->Opt_Headrotation,
+ st_ivas->hRenderConfig,
+#ifndef FIX_I109_ORIENTATION_TRACKING
+ st_ivas->hDecoderConfig->Opt_Headrotation,
+#endif
st_ivas->hSetOfHRTF,
st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
{
diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c
index f6f233a1be2b96399ce8a3689bce838d920cbfba..da9c6efae4d79165cbeeee6784bf1622abd1bd1b 100644
--- a/lib_dec/lib_dec.c
+++ b/lib_dec/lib_dec.c
@@ -902,7 +902,11 @@ ivas_error IVAS_DEC_FeedHeadTrackData(
HEAD_TRACK_DATA_HANDLE hHeadTrackData;
int16_t i;
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ if ( hIvasDec == NULL || hIvasDec->st_ivas == NULL || orientation == NULL )
+#else
if ( hIvasDec == NULL || hIvasDec->st_ivas == NULL )
+#endif
{
return IVAS_ERR_UNEXPECTED_NULL_POINTER;
}
@@ -917,10 +921,20 @@ ivas_error IVAS_DEC_FeedHeadTrackData(
/* Move head-tracking data to the decoder handle */
for ( i = 0; i < MAX_PARAM_SPATIAL_SUBFRAMES; i++ )
{
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ /* check for Euler angle signaling */
+ if ( orientation[i].w == -3.0f )
+ {
+ Euler2Quat( deg2rad( orientation[i].x ), deg2rad( orientation[i].y ), deg2rad( orientation[i].z ), &orientation[i] );
+ }
+
+ ivas_orient_trk_Process( hHeadTrackData->OrientationTracker, orientation[i], FRAMES_PER_SEC * MAX_PARAM_SPATIAL_SUBFRAMES, &hHeadTrackData->Quaternions[i] );
+#else
hHeadTrackData->Quaternions[i].w = orientation[i].w;
hHeadTrackData->Quaternions[i].x = orientation[i].x;
hHeadTrackData->Quaternions[i].y = orientation[i].y;
hHeadTrackData->Quaternions[i].z = orientation[i].z;
+#endif
#ifdef TD5
hHeadTrackData->Pos[i].x = Pos[i].x;
hHeadTrackData->Pos[i].y = Pos[i].y;
@@ -933,6 +947,62 @@ ivas_error IVAS_DEC_FeedHeadTrackData(
return IVAS_ERR_OK;
}
+#ifdef FIX_I109_ORIENTATION_TRACKING
+/*---------------------------------------------------------------------*
+ * IVAS_DEC_FeedRefRotData( )
+ *
+ * Feed the decoder with the reference rotation
+ *---------------------------------------------------------------------*/
+
+ivas_error IVAS_DEC_FeedRefRotData(
+ IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
+ IVAS_QUATERNION rotation /* i : reference rotation data */
+)
+{
+ ivas_orient_trk_state_t *pOtr;
+
+ if ( hIvasDec == NULL || hIvasDec->st_ivas == NULL || hIvasDec->st_ivas->hHeadTrackData == NULL || hIvasDec->st_ivas->hHeadTrackData->OrientationTracker == NULL )
+ {
+ return IVAS_ERR_UNEXPECTED_NULL_POINTER;
+ }
+
+ pOtr = hIvasDec->st_ivas->hHeadTrackData->OrientationTracker;
+
+ pOtr->refRot.w = rotation.w;
+ pOtr->refRot.x = rotation.x;
+ pOtr->refRot.z = rotation.z;
+ pOtr->refRot.y = rotation.y;
+
+ return IVAS_ERR_OK;
+}
+
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+/*---------------------------------------------------------------------*
+ * IVAS_DEC_FeedRefVectorData( )
+ *
+ * Feed the decoder with a reference vector spanning from listenerPos
+ * to refPos. Only available in OTR_TRACKING_REF_POS and
+ * OTR_TRACKING_REF_POS_LEV modes.
+ *---------------------------------------------------------------------*/
+
+ivas_error IVAS_DEC_FeedRefVectorData(
+ IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
+ const IVAS_VECTOR3 listenerPos, /* i : Listener position */
+ const IVAS_VECTOR3 refPos /* i : Reference position */
+)
+{
+ ivas_orient_trk_state_t *pOtr;
+
+ if ( hIvasDec == NULL || hIvasDec->st_ivas == NULL || hIvasDec->st_ivas->hHeadTrackData == NULL || hIvasDec->st_ivas->hHeadTrackData->OrientationTracker == NULL )
+ {
+ return IVAS_ERR_UNEXPECTED_NULL_POINTER;
+ }
+
+ pOtr = hIvasDec->st_ivas->hHeadTrackData->OrientationTracker;
+ return ivas_orient_trk_SetReferenceVector( pOtr, listenerPos, refPos );
+}
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+#endif
/*---------------------------------------------------------------------*
* IVAS_DEC_FeedCustomLsData( )
diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h
index 1571c669b724c801ff945b8e5e7850775d50a1a2..e115ecd1989773491b23185f65f91e02a77db492 100644
--- a/lib_dec/lib_dec.h
+++ b/lib_dec/lib_dec.h
@@ -185,6 +185,22 @@ ivas_error IVAS_DEC_FeedHeadTrackData(
#endif
);
+#ifdef FIX_I109_ORIENTATION_TRACKING
+/*! r: error code */
+ivas_error IVAS_DEC_FeedRefRotData(
+ IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
+ IVAS_QUATERNION rotation /* i : reference rotation data */
+);
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+/*! r: error code */
+ivas_error IVAS_DEC_FeedRefVectorData(
+ IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
+ const IVAS_VECTOR3 listenerPos, /* i : Listener position */
+ const IVAS_VECTOR3 refPos /* i : Reference position */
+);
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+#endif
+
/*! r: error code */
ivas_error IVAS_DEC_VoIP_FeedFrame(
IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
diff --git a/lib_rend/ivas_crend.c b/lib_rend/ivas_crend.c
index 74f26ad907619f3123fd85e424bb527394ba01f9..f9673656f12d118749a8fbc44e36ecf641a72002 100644
--- a/lib_rend/ivas_crend.c
+++ b/lib_rend/ivas_crend.c
@@ -147,7 +147,6 @@ static ivas_error ivas_hrtf_close(
return IVAS_ERR_OK;
}
-
/*-------------------------------------------------------------------------
* initCrend_from_rom()
*
@@ -734,7 +733,9 @@ ivas_error ivas_rend_openCrend(
const AUDIO_CONFIG inConfig,
const AUDIO_CONFIG outConfig,
RENDER_CONFIG_DATA *hRendCfg,
+#ifndef FIX_I109_ORIENTATION_TRACKING
int16_t Opt_Headrotation,
+#endif
HRTFS_CREND_HANDLE hSetOfHRTF,
const int32_t output_Fs )
{
@@ -762,7 +763,6 @@ ivas_error ivas_rend_openCrend(
}
}
-
hHrtf = ( *pCrend )->hHrtfCrend;
if ( hHrtf != NULL )
@@ -828,19 +828,6 @@ ivas_error ivas_rend_openCrend(
{
hCrend->lfe_delay_line = NULL;
}
- if ( Opt_Headrotation )
- {
- if ( ( hCrend->hTrack = (ivas_orient_trk_state_t *) malloc( sizeof( ivas_orient_trk_state_t ) ) ) == NULL )
- {
- return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Orientation tracking" );
- }
-
- ivas_orient_trk_Init( hCrend->hTrack );
- }
- else
- {
- hCrend->hTrack = NULL;
- }
if ( ( hRendCfg != NULL ) && ( hRendCfg->roomAcoustics.late_reverb_on ) )
{
@@ -1160,6 +1147,7 @@ ivas_error ivas_rend_crendProcess(
if ( hDecoderConfig && hDecoderConfig->Opt_Headrotation && hHeadTrackData && hHeadTrackData->num_quaternions >= 0 )
{
/* Orientation tracking */
+#ifndef FIX_I109_ORIENTATION_TRACKING
if ( pCrend->hCrend->hTrack != NULL )
{
if ( hDecoderConfig->orientation_tracking == IVAS_ORIENT_TRK_AVG )
@@ -1182,6 +1170,7 @@ ivas_error ivas_rend_crendProcess(
ivas_orient_trk_GetTrackedOrientation( pCrend->hCrend->hTrack, &( pCrend->hCrend->m_fYaw ), &( pCrend->hCrend->m_fPitch ), &( pCrend->hCrend->m_fRoll ) );
}
+#endif
/* Rotation in SHD for:
MC with elevation (5_1_2 / 5_1_4 / 7_1_4) -> BINAURAL
diff --git a/lib_rend/ivas_hrtf.c b/lib_rend/ivas_hrtf.c
index b53c636932f3dd77bb56142ba4387adce85caba2..e411d3bbbfa1c220d5aa90db9aa72b2416ea8d7f 100644
--- a/lib_rend/ivas_hrtf.c
+++ b/lib_rend/ivas_hrtf.c
@@ -202,38 +202,3 @@ void ivas_HRTF_parambin_binary_close(
return;
}
-
-
-/*-----------------------------------------------------------------------*
- * ivas_headTrack_open()
- *
- * Allocate and initialize Head-Tracking handle
- *-----------------------------------------------------------------------*/
-
-ivas_error ivas_headTrack_open(
- HEAD_TRACK_DATA_HANDLE *hHeadTrackData /* o : head track handle */
-)
-{
- int16_t i;
-
- /* Allocate Head-Tracking handle */
- if ( ( *hHeadTrackData = (HEAD_TRACK_DATA_HANDLE) malloc( sizeof( HEAD_TRACK_DATA ) ) ) == NULL )
- {
- return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for head-tracking memory\n" ) );
- }
-
- /* Initialization */
- ( *hHeadTrackData )->num_quaternions = 0;
- ( *hHeadTrackData )->lrSwitchInterpVal = 0.0f;
- ( *hHeadTrackData )->lrSwitchedCurrent = 0;
- ( *hHeadTrackData )->lrSwitchedNext = 0;
-
- /* Initialise Rmat_prev to I, Rmat will be computed later */
- for ( i = 0; i < 3; i++ )
- {
- set_zero( ( *hHeadTrackData )->Rmat_prev[i], 3 );
- ( *hHeadTrackData )->Rmat_prev[i][i] = 1.0f;
- }
-
- return IVAS_ERR_OK;
-}
diff --git a/lib_rend/ivas_objectRenderer.c b/lib_rend/ivas_objectRenderer.c
index 9e8f1f070e41a761d4ac2c0406105afbffa3a4f7..270da74b5c747566853933bf67bb9fad85d3379d 100644
--- a/lib_rend/ivas_objectRenderer.c
+++ b/lib_rend/ivas_objectRenderer.c
@@ -30,6 +30,7 @@
*******************************************************************************************************/
+#include "ivas_stat_rend.h"
#include
#include "options.h"
#include "prot.h"
@@ -200,9 +201,24 @@ ivas_error ivas_td_binaural_open_unwrap(
if ( ivas_format == ISM_FORMAT )
{
DirAtten_p = pBinRendTd->DirAtten_p;
+#ifdef TD5_FIX_INVALID_MEMORY_ACCESS
+ if ( NULL == directivity )
+ {
+ DirAtten_p->ConeInnerAngle = 360.0f; /* Front cone */
+ DirAtten_p->ConeOuterAngle = 360.0f; /* Back cone */
+ DirAtten_p->ConeOuterGain = 1.0f; /* Back attenuation */
+ }
+ else
+ {
+ DirAtten_p->ConeInnerAngle = directivity[0];
+ DirAtten_p->ConeOuterAngle = directivity[1];
+ DirAtten_p->ConeOuterGain = directivity[2];
+ }
+#else
DirAtten_p->ConeInnerAngle = directivity[0];
DirAtten_p->ConeOuterAngle = directivity[1];
DirAtten_p->ConeOuterGain = directivity[2];
+#endif
for ( nS = 0; nS < nchan_rend; nS++ )
{
@@ -454,11 +470,12 @@ void TDREND_Update_object_positions(
Dir[1] = 0.0f;
Dir[2] = 0.0f;
+#endif
/* Source directivity info */
DirAtten_p->ConeInnerAngle = 360.0f;
DirAtten_p->ConeOuterAngle = 360.0f;
DirAtten_p->ConeOuterGain = 1.0f;
-#endif
+
TDREND_MIX_SRC_SetPos( hBinRendererTd, nS, Pos );
TDREND_MIX_SRC_SetDirAtten( hBinRendererTd, nS, DirAtten_p );
TDREND_MIX_SRC_SetPlayState( hBinRendererTd, nS, TDREND_PLAYSTATUS_PLAYING );
@@ -573,6 +590,9 @@ ivas_error ivas_td_binaural_open_ext(
IVAS_FORMAT ivas_format;
IVAS_OUTPUT_SETUP hTransSetup;
ivas_error error;
+#ifdef TD5_FIX_INVALID_MEMORY_ACCESS
+ float *directivity = NULL;
+#endif
if ( inConfig != IVAS_REND_AUDIO_CONFIG_LS_CUSTOM )
{
@@ -592,7 +612,13 @@ ivas_error ivas_td_binaural_open_ext(
hTransSetup.ls_elevation = customLsInput->ls_elevation;
#ifdef TD5
+#ifdef TD5_FIX_INVALID_MEMORY_ACCESS
+ if ( NULL != hRendCfg )
+ directivity = hRendCfg->directivity;
+ return ivas_td_binaural_open_unwrap( &pTDRend->hHrtfTD, outFs, nchan_transport, ivas_format, transport_config, directivity, hTransSetup, &pTDRend->hBinRendererTd, &pTDRend->binaural_latency_ns );
+#else
return ivas_td_binaural_open_unwrap( &pTDRend->hHrtfTD, outFs, nchan_transport, ivas_format, transport_config, hRendCfg->directivity, hTransSetup, &pTDRend->hBinRendererTd, &pTDRend->binaural_latency_ns );
+#endif
#else
return ivas_td_binaural_open_unwrap( &pTDRend->hHrtfTD, outFs, nchan_transport, ivas_format, transport_config, hTransSetup, &pTDRend->hBinRendererTd, &pTDRend->binaural_latency_ns );
#endif
diff --git a/lib_rend/ivas_objectRenderer_sfx.c b/lib_rend/ivas_objectRenderer_sfx.c
index 42a3b8cbcaab19394f90d2b9e90c403a3529fe6c..72493b050117d115f653f1afe9c5b4c6d3770cb4 100644
--- a/lib_rend/ivas_objectRenderer_sfx.c
+++ b/lib_rend/ivas_objectRenderer_sfx.c
@@ -182,6 +182,7 @@ static void sincResample(
const float *p_sinc_forward;
const float *p_sinc_backward;
+
/* Compute fractional time step */
t_step = (float) ( length_in ) / (float) ( length_out );
t_frac = 0;
diff --git a/lib_rend/ivas_orient_trk.c b/lib_rend/ivas_orient_trk.c
index 4eec8ecd562c8f4f8006972d629dc652d5d9bd41..58ae7fd457d00322fe3f0ceb8d6aed2e8d3902cf 100644
--- a/lib_rend/ivas_orient_trk.c
+++ b/lib_rend/ivas_orient_trk.c
@@ -30,6 +30,7 @@
*******************************************************************************************************/
+#include "common_api_types.h"
#include
#include "options.h"
#include "ivas_prot.h"
@@ -58,6 +59,320 @@
* Local functions
*------------------------------------------------------------------------------------------*/
+#ifdef FIX_I109_ORIENTATION_TRACKING
+
+/*------------------------------------------------------------------------------------------*
+ * Declarations
+ *------------------------------------------------------------------------------------------*/
+
+static IVAS_QUATERNION IdentityQuaternion(
+ void );
+
+void QuaternionProduct(
+ const IVAS_QUATERNION q1,
+ const IVAS_QUATERNION q2,
+ IVAS_QUATERNION *const result );
+
+float QuaternionDotProduct(
+ const IVAS_QUATERNION q1,
+ const IVAS_QUATERNION q2 );
+
+void QuaternionDivision(
+ const IVAS_QUATERNION q,
+ const float d,
+ IVAS_QUATERNION *const result );
+
+void QuaternionNormalize(
+ const IVAS_QUATERNION q,
+ IVAS_QUATERNION *const result );
+
+void QuaternionSlerp(
+ const IVAS_QUATERNION q1,
+ const IVAS_QUATERNION q2,
+ const float t,
+ IVAS_QUATERNION *const result );
+
+void QuaternionConjugate(
+ const IVAS_QUATERNION q,
+ IVAS_QUATERNION *const result );
+
+float QuaternionAngle(
+ const IVAS_QUATERNION q1,
+ const IVAS_QUATERNION q2 );
+
+void QuaternionInverse(
+ const IVAS_QUATERNION q,
+ IVAS_QUATERNION *const result );
+
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+float QuaternionLength(
+ const IVAS_QUATERNION q );
+
+IVAS_VECTOR3 VectorSubtract(
+ const IVAS_VECTOR3 p1,
+ const IVAS_VECTOR3 p2 );
+
+IVAS_VECTOR3 VectorCrossProduct(
+ const IVAS_VECTOR3 p1,
+ const IVAS_VECTOR3 p2 );
+
+float VectorDotProduct(
+ const IVAS_VECTOR3 p1,
+ const IVAS_VECTOR3 p2 );
+
+float VectorLength(
+ const IVAS_VECTOR3 p );
+
+IVAS_VECTOR3 VectorNormalize(
+ const IVAS_VECTOR3 p );
+
+void VectorRotationToQuaternion(
+ const IVAS_VECTOR3 p1,
+ const IVAS_VECTOR3 p2,
+ IVAS_QUATERNION *const result );
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+
+/*------------------------------------------------------------------------------------------*
+ * Quaternion product
+ *------------------------------------------------------------------------------------------*/
+static IVAS_QUATERNION IdentityQuaternion(
+ void )
+{
+ IVAS_QUATERNION q;
+ q.w = 1.0f;
+ q.x = q.y = q.z = 0.0f;
+ return q;
+}
+
+/*------------------------------------------------------------------------------------------*
+ * Quaternion product
+ *------------------------------------------------------------------------------------------*/
+void QuaternionProduct(
+ const IVAS_QUATERNION q1,
+ const IVAS_QUATERNION q2,
+ IVAS_QUATERNION *const r )
+{
+ IVAS_QUATERNION tmp;
+ tmp.w = q1.w * q2.w - q1.x * q2.x - q1.y * q2.y - q1.z * q2.z;
+ tmp.x = q1.w * q2.x + q1.x * q2.w + q1.y * q2.z - q1.z * q2.y;
+ tmp.y = q1.w * q2.y - q1.x * q2.z + q1.y * q2.w + q1.z * q2.x;
+ tmp.z = q1.w * q2.z + q1.x * q2.y - q1.y * q2.x + q1.z * q2.w;
+
+ *r = tmp;
+}
+
+/*------------------------------------------------------------------------------------------*
+ * Quaternion dot product
+ *------------------------------------------------------------------------------------------*/
+float QuaternionDotProduct(
+ const IVAS_QUATERNION q1,
+ const IVAS_QUATERNION q2 )
+{
+ return q1.x * q2.x + q1.y * q2.y + q1.z * q2.z + q1.w * q2.w;
+}
+
+/*------------------------------------------------------------------------------------------*
+ * Divides a quaternion by a scalar
+ *------------------------------------------------------------------------------------------*/
+void QuaternionDivision(
+ const IVAS_QUATERNION q,
+ const float d,
+ IVAS_QUATERNION *const r )
+{
+ r->w = q.w / d;
+ r->x = q.x / d;
+ r->y = q.y / d;
+ r->z = q.z / d;
+}
+
+/*------------------------------------------------------------------------------------------*
+ * Normalizes a quaternion
+ *------------------------------------------------------------------------------------------*/
+void QuaternionNormalize(
+ const IVAS_QUATERNION q,
+ IVAS_QUATERNION *const r )
+{
+ QuaternionDivision( q, sqrtf( QuaternionDotProduct( q, q ) ), r );
+}
+
+/*------------------------------------------------------------------------------------------*
+ * Computes a spherical linear interpolation between two quaternions
+ *------------------------------------------------------------------------------------------*/
+void QuaternionSlerp(
+ const IVAS_QUATERNION q1,
+ const IVAS_QUATERNION q2,
+ const float t,
+ IVAS_QUATERNION *const r )
+{
+ float angle, denom, s, s2;
+ s = QuaternionDotProduct( q1, q2 );
+ if ( fabsf( s ) >= 1.0f )
+ {
+ *r = q2;
+ return;
+ }
+ angle = acosf( s );
+ denom = sinf( angle );
+
+ s = sinf( ( 1 - t ) * angle );
+ s2 = sinf( t * angle );
+ r->x = ( q1.x * s + q2.x * s2 ) / denom;
+ r->y = ( q1.y * s + q2.y * s2 ) / denom;
+ r->z = ( q1.z * s + q2.z * s2 ) / denom;
+ r->w = ( q1.w * s + q2.w * s2 ) / denom;
+
+ QuaternionNormalize( *r, r );
+}
+
+/*------------------------------------------------------------------------------------------*
+ * Computes a quaternion conjugate
+ *------------------------------------------------------------------------------------------*/
+void QuaternionConjugate(
+ const IVAS_QUATERNION q,
+ IVAS_QUATERNION *const r )
+{
+ r->w = q.w;
+ r->x = -q.x;
+ r->y = -q.y;
+ r->z = -q.z;
+}
+
+/*------------------------------------------------------------------------------------------*
+ * Computes an angle between two quaternions
+ *------------------------------------------------------------------------------------------*/
+float QuaternionAngle(
+ const IVAS_QUATERNION q1,
+ const IVAS_QUATERNION q2 )
+{
+ IVAS_QUATERNION q12;
+ float angle;
+ QuaternionConjugate( q1, &q12 );
+ QuaternionProduct( q12, q2, &q12 );
+ angle = 2.0f * atan2f( sqrtf( q12.x * q12.x + q12.y * q12.y + q12.z * q12.z ), q12.w );
+ return angle;
+}
+
+/*------------------------------------------------------------------------------------------*
+ * Computes an inverse quaternion
+ *------------------------------------------------------------------------------------------*/
+void QuaternionInverse(
+ const IVAS_QUATERNION q,
+ IVAS_QUATERNION *const r )
+{
+ float dot_product;
+
+ dot_product = QuaternionDotProduct( q, q );
+ QuaternionConjugate( q, r );
+ QuaternionDivision( *r, dot_product, r );
+}
+
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+/*------------------------------------------------------------------------------------------*
+ * Computes the length of a quaternion
+ *------------------------------------------------------------------------------------------*/
+float QuaternionLength(
+ const IVAS_QUATERNION q )
+{
+ return sqrtf( q.w * q.w + q.x * q.x + q.y * q.y + q.z * q.z );
+}
+
+/*------------------------------------------------------------------------------------------*
+ * Computes the difference of two vectors
+ *------------------------------------------------------------------------------------------*/
+IVAS_VECTOR3 VectorSubtract(
+ const IVAS_VECTOR3 p1,
+ const IVAS_VECTOR3 p2 )
+{
+ IVAS_VECTOR3 result;
+ result.x = p1.x - p2.x;
+ result.y = p1.y - p2.y;
+ result.z = p1.z - p2.z;
+ return result;
+}
+
+/*------------------------------------------------------------------------------------------*
+ * Computes the cross product of two vectors
+ *------------------------------------------------------------------------------------------*/
+IVAS_VECTOR3 VectorCrossProduct(
+ const IVAS_VECTOR3 p1,
+ const IVAS_VECTOR3 p2 )
+{
+ IVAS_VECTOR3 result;
+ result.x = p1.y * p2.z - p1.z * p2.y;
+ result.y = p1.z * p2.x - p1.x * p2.z;
+ result.z = p1.x * p2.y - p1.y * p2.x;
+ return result;
+}
+
+/*------------------------------------------------------------------------------------------*
+ * Computes the dot product of two vectors
+ *------------------------------------------------------------------------------------------*/
+float VectorDotProduct(
+ const IVAS_VECTOR3 p1,
+ const IVAS_VECTOR3 p2 )
+{
+ return p1.x * p2.x + p1.y * p2.y + p1.z * p2.z;
+}
+
+/*------------------------------------------------------------------------------------------*
+ * Computes the length of a vector
+ *------------------------------------------------------------------------------------------*/
+float VectorLength(
+ const IVAS_VECTOR3 p )
+{
+ return sqrtf( p.x * p.x + p.y * p.y + p.z * p.z );
+}
+
+/*------------------------------------------------------------------------------------------*
+ * Normalizes a vector
+ *------------------------------------------------------------------------------------------*/
+IVAS_VECTOR3 VectorNormalize(
+ const IVAS_VECTOR3 p )
+{
+ IVAS_VECTOR3 result;
+ const float length = VectorLength( p );
+ result.x = p.x / length;
+ result.y = p.y / length;
+ result.z = p.z / length;
+ return result;
+}
+
+/*------------------------------------------------------------------------------------------*
+ * Computes a quaternion representing the rotation from vector p1 to vector p2
+ *------------------------------------------------------------------------------------------*/
+void VectorRotationToQuaternion(
+ const IVAS_VECTOR3 p1,
+ const IVAS_VECTOR3 p2,
+ IVAS_QUATERNION *const r )
+{
+ float dot_product;
+ IVAS_VECTOR3 cross_product, p1_normalized, p2_normalized;
+
+ p1_normalized = VectorNormalize( p1 );
+ p2_normalized = VectorNormalize( p2 );
+ cross_product = VectorCrossProduct( p1_normalized, p2_normalized );
+ dot_product = VectorDotProduct( p1_normalized, p2_normalized );
+
+ if ( dot_product < -0.999999 )
+ {
+ /* happens when the p1 vector is parallel to p2, but direction is flipped */
+ r->w = 0.0f;
+ r->x = 0.0f;
+ r->y = 0.0f;
+ r->z = 1.0f;
+ }
+ else
+ {
+ /* all regular cases */
+ r->x = cross_product.x;
+ r->y = cross_product.y;
+ r->z = cross_product.z;
+ r->w = 1.0f + dot_product;
+ }
+ QuaternionNormalize( *r, r );
+}
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+#else
static float ClipAngle(
const float angle,
const float min_angle,
@@ -95,6 +410,7 @@ static float ClipAngle(
return result;
}
+#endif
/*-------------------------------------------------------------------*
* ivas_orient_trk_Init()
@@ -102,11 +418,27 @@ static float ClipAngle(
*
*-------------------------------------------------------------------*/
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ivas_error ivas_orient_trk_Init(
+#else
void ivas_orient_trk_Init(
- ivas_orient_trk_state_t *pOTR )
+#endif
+ ivas_orient_trk_state_t *pOTR ) /* i/o : orientation tracker handle */
{
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ IVAS_QUATERNION identity;
+
+ if ( pOTR == NULL )
+ {
+ return IVAS_ERR_UNEXPECTED_NULL_POINTER;
+ }
+
+ identity.w = 1.0f;
+ identity.x = identity.y = identity.z = 0.0f;
+#else
/* Track relative to a reference orientation */
pOTR->trackingType = OTR_TRACKING_REF_ORIENT;
+#endif
/* configuration parameters */
pOTR->centerAdaptationRate = 1.0f / 30.0f;
@@ -116,6 +448,19 @@ void ivas_orient_trk_Init(
/* initial adaptivity filter coefficient, will be auto-adapted */
pOTR->alpha = sinf( PI2 * pOTR->offCenterAdaptationRate / OTR_UPDATE_RATE ); /* start adaptation at off-center rate = fastest rate */
+#ifdef FIX_I109_ORIENTATION_TRACKING
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ pOTR->trkRot = identity;
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+ pOTR->absAvgRot = identity;
+ /* Use frontal and horiontal orientation as reference orientation, unless/until overridden */
+ pOTR->refRot = identity;
+
+ /* set safe default tracking mode */
+ pOTR->trackingType = OTR_TRACKING_NONE;
+
+ return IVAS_ERR_OK;
+#else
pOTR->absYaw = 0.0f;
pOTR->absPitch = 0.0f;
pOTR->absRoll = 0.0f;
@@ -135,6 +480,7 @@ void ivas_orient_trk_Init(
pOTR->trkRoll = 0.0f;
return;
+#endif
}
@@ -144,16 +490,145 @@ void ivas_orient_trk_Init(
*
*-------------------------------------------------------------------*/
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ivas_error ivas_orient_trk_SetTrackingType(
+ ivas_orient_trk_state_t *pOTR, /* i/o : orientation tracker handle */
+ const OTR_TRACKING_T trackingType ) /* i/o : orientation tracking type */
+{
+ if ( pOTR == NULL )
+ {
+ return IVAS_ERR_UNEXPECTED_NULL_POINTER;
+ }
+ pOTR->trackingType = trackingType;
+
+ return IVAS_ERR_OK;
+}
+#else
void ivas_orient_trk_SetTrackingType(
- ivas_orient_trk_state_t *pOTR,
- const OTR_TRACKING_T trackingType )
+ ivas_orient_trk_state_t *pOTR, /* i/o : orientation tracker handle */
+ const OTR_TRACKING_T trackingType ) /* i/o : orientation tracking type */
{
pOTR->trackingType = trackingType;
+}
+#endif
- return;
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ivas_error ivas_orient_trk_SetReferenceRotation(
+ ivas_orient_trk_state_t *pOTR, /* i/o : orientation tracker handle */
+ IVAS_QUATERNION refRot ) /* i : reference rotation */
+{
+ if ( pOTR == NULL )
+ {
+ return IVAS_ERR_UNEXPECTED_NULL_POINTER;
+ }
+
+ /* check for Euler angle signaling */
+ if ( refRot.w == -3.0f )
+ {
+ Euler2Quat( deg2rad( refRot.x ), deg2rad( refRot.y ), deg2rad( refRot.z ), &pOTR->refRot );
+ }
+ else
+ {
+ pOTR->refRot = refRot;
+ }
+
+ return IVAS_ERR_OK;
}
+ivas_error ivas_orient_trk_GetMainOrientation(
+ ivas_orient_trk_state_t *pOTR, /* i/o : orientation tracker handle */
+ IVAS_QUATERNION *pOrientation /* i/o : average/reference orientation */
+)
+{
+ if ( pOTR == NULL || pOrientation == NULL )
+ {
+ return IVAS_ERR_UNEXPECTED_NULL_POINTER;
+ }
+ switch ( pOTR->trackingType )
+ {
+ case OTR_TRACKING_NONE:
+ *pOrientation = IdentityQuaternion();
+ break;
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ case OTR_TRACKING_REF_VEC:
+ case OTR_TRACKING_REF_VEC_LEV:
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+ case OTR_TRACKING_REF_ORIENT:
+ *pOrientation = pOTR->refRot;
+ break;
+ case OTR_TRACKING_AVG_ORIENT:
+ *pOrientation = pOTR->absAvgRot;
+ break;
+ }
+ return IVAS_ERR_OK;
+}
+ivas_error ivas_orient_trk_GetTrackedRotation(
+ ivas_orient_trk_state_t *pOTR, /* i/o : orientation tracker handle */
+ IVAS_QUATERNION *pRotation /* i/o : processed rotation */
+)
+{
+ if ( pOTR == NULL || pRotation == NULL )
+ {
+ return IVAS_ERR_UNEXPECTED_NULL_POINTER;
+ }
+
+ *pRotation = pOTR->trkRot;
+
+ return IVAS_ERR_OK;
+}
+
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ivas_error ivas_orient_trk_SetReferenceVector(
+ ivas_orient_trk_state_t *pOTR, /* i/o : orientation tracker handle */
+ const IVAS_VECTOR3 listenerPos, /* i : Listener position */
+ const IVAS_VECTOR3 refPos /* i : Reference position */
+)
+{
+ IVAS_VECTOR3 acousticFrontVector, ivasForwardVector;
+ float acousticFrontVectorLength;
+
+ if ( pOTR == NULL )
+ {
+ return IVAS_ERR_UNEXPECTED_NULL_POINTER;
+ }
+
+ switch ( pOTR->trackingType )
+ {
+ case OTR_TRACKING_NONE:
+ case OTR_TRACKING_REF_ORIENT:
+ case OTR_TRACKING_AVG_ORIENT:
+ case OTR_TRACKING_REF_VEC:
+ acousticFrontVector = VectorSubtract( listenerPos, refPos );
+ break;
+ case OTR_TRACKING_REF_VEC_LEV:
+ {
+ IVAS_VECTOR3 listenerPosLevel, refPosLevel;
+ /* ignore the height difference between listener position and reference position */
+ listenerPosLevel.z = refPosLevel.z = listenerPos.z;
+ listenerPosLevel.x = listenerPos.x;
+ listenerPosLevel.y = listenerPos.y;
+ refPosLevel.x = refPos.x;
+ refPosLevel.y = refPos.y;
+ acousticFrontVector = VectorSubtract( listenerPosLevel, refPosLevel );
+ }
+ }
+
+ acousticFrontVectorLength = VectorLength( acousticFrontVector );
+ /* if the length is zero, the user has entered insensible listener and reference positions */
+ if ( acousticFrontVectorLength < 0.0001f )
+ {
+ return IVAS_ERR_WRONG_PARAMS;
+ }
+
+ ivasForwardVector.x = -1.0f;
+ ivasForwardVector.y = 0.0f;
+ ivasForwardVector.z = 0.0f;
+ VectorRotationToQuaternion( ivasForwardVector, acousticFrontVector, &pOTR->refRot );
+ return IVAS_ERR_OK;
+}
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+#else
/*-------------------------------------------------------------------*
* ivas_orient_trk_SetAbsoluteOrientation()
*
@@ -173,6 +648,7 @@ void ivas_orient_trk_SetAbsoluteOrientation(
return;
}
+#endif
/*-------------------------------------------------------------------*
@@ -181,6 +657,97 @@ void ivas_orient_trk_SetAbsoluteOrientation(
*
*-------------------------------------------------------------------*/
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ivas_error ivas_orient_trk_Process(
+ ivas_orient_trk_state_t *pOTR, /* i/o : orientation tracker handle */
+ IVAS_QUATERNION absRot, /* i : absolute head rotation */
+ float updateRate, /* i : rotation update rate [Hz] */
+ IVAS_QUATERNION *pTrkRot ) /* o : tracked rotation */
+{
+ float normalizedOrientation;
+ float relativeOrientationRate;
+ float rateRange;
+ float cutoffFrequency;
+ float alpha = pOTR->alpha;
+ float ang;
+ ivas_error result;
+
+ if ( pOTR == NULL || pTrkRot == NULL )
+ {
+ return IVAS_ERR_UNEXPECTED_NULL_POINTER;
+ }
+
+ result = IVAS_ERR_OK;
+
+ switch ( pOTR->trackingType )
+ {
+ case OTR_TRACKING_NONE:
+ pOTR->trkRot = absRot;
+ break;
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ case OTR_TRACKING_REF_VEC:
+ case OTR_TRACKING_REF_VEC_LEV:
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+ case OTR_TRACKING_REF_ORIENT:
+ /* Reset average orientation */
+ pOTR->absAvgRot = absRot;
+
+ /* Reset adaptation filter - start adaptation at center rate */
+ pOTR->alpha = sinf( 2.0f * EVS_PI * pOTR->centerAdaptationRate / updateRate );
+
+ /* Compute relative orientation = (absolute orientation) - (reference orientation) */
+ QuaternionInverse( pOTR->refRot, &pOTR->trkRot );
+ QuaternionProduct( pOTR->trkRot, absRot, &pOTR->trkRot );
+ break;
+
+ case OTR_TRACKING_AVG_ORIENT:
+ /* Compute average (low-pass filtered) absolute orientation */
+ QuaternionSlerp( pOTR->absAvgRot, absRot, alpha, &pOTR->absAvgRot );
+
+ /* Compute relative orientation = (absolute orientation) - (average absolute orientation) */
+ QuaternionInverse( pOTR->absAvgRot, &pOTR->trkRot );
+ QuaternionProduct( pOTR->trkRot, absRot, &pOTR->trkRot );
+
+ /* Adapt LPF constant based on orientation excursion relative to current mean:
+ - low cutoff (slow adaptation) for small excursions (around center)
+ - high cutoff (fast adaptation) for large excursions (off-center)
+ */
+ ang = QuaternionAngle( absRot, pOTR->trkRot );
+ normalizedOrientation = ang * ang;
+
+ relativeOrientationRate = sqrtf( normalizedOrientation ) / pOTR->adaptationAngle;
+ /* 'if' assumed to perform comparison to 0 */
+ if ( relativeOrientationRate > 1.0f )
+ {
+ relativeOrientationRate = 1.0f;
+ }
+
+ /* Compute range of the adaptation rate between center = lower rate and off-center = higher rate */
+ rateRange = pOTR->offCenterAdaptationRate - pOTR->centerAdaptationRate;
+ /* 'if' assumed to perform comparison to 0 */
+ if ( rateRange < 0.0f )
+ {
+ rateRange = 0.0f;
+ }
+
+ /* Compute adaptivity cutoff frequency: interpolate between minimum (center) and maximum (off-center) values */
+ cutoffFrequency = pOTR->centerAdaptationRate + ( relativeOrientationRate * rateRange );
+
+ /* Compute filter coefficient corresponding to desired cutoff frequency */
+ pOTR->alpha = sinf( 2.0f * EVS_PI * cutoffFrequency / updateRate );
+ break;
+ default:
+ result = IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Non-supported orientation tracking adaptation type" );
+ break;
+ }
+
+ if ( result == IVAS_ERR_OK )
+ {
+ *pTrkRot = pOTR->trkRot;
+ }
+ return result;
+}
+#else
ivas_error ivas_orient_trk_Process(
ivas_orient_trk_state_t *pOTR )
{
@@ -314,3 +881,4 @@ void ivas_orient_trk_GetTrackedOrientation(
return;
}
+#endif
diff --git a/lib_rend/ivas_prot_rend.h b/lib_rend/ivas_prot_rend.h
index 5911112015a5bcb466e5ae8b1c38667200c647c7..2b0e67e5f4597e0ade85a9eeff3a85154f2c50de 100644
--- a/lib_rend/ivas_prot_rend.h
+++ b/lib_rend/ivas_prot_rend.h
@@ -493,7 +493,9 @@ ivas_error ivas_rend_openCrend(
const AUDIO_CONFIG inConfig,
const AUDIO_CONFIG outConfig,
RENDER_CONFIG_DATA *hRendCfg,
+#ifndef FIX_I109_ORIENTATION_TRACKING
int16_t Opt_Headrotation,
+#endif
HRTFS_CREND_HANDLE hSetOfHRTF,
const int32_t output_Fs
);
@@ -769,12 +771,29 @@ ivas_error ivas_headTrack_open(
HEAD_TRACK_DATA_HANDLE *hHeadTrackData /* o : head track handle */
);
+#ifdef FIX_I109_ORIENTATION_TRACKING
+void ivas_headTrack_close(
+ HEAD_TRACK_DATA_HANDLE *hHeadTrackData /* i/o: head track handle */
+);
+
+void Euler2Quat(
+ const float yaw, /* i : yaw (x) */
+ const float pitch, /* i : pitch (y) */
+ const float roll, /* i : roll (z) */
+ IVAS_QUATERNION *quat /* o : quaternion describing the rotation */
+);
+
+float deg2rad( float degrees );
+
+#else
void Quat2Euler(
- const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */
- float *yaw, /* o : yaw */
- float *pitch, /* o : pitch */
- float *roll /* o : roll */
+ const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */
+ float *yaw, /* o : yaw (z) */
+ float *pitch, /* o : pitch (y) */
+ float *roll /* o : roll (x) */
);
+#endif
+
void QuatToRotMat(
const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */
@@ -853,15 +872,57 @@ ivas_error ivas_render_config_init_from_rom(
* Orientation tracking
*----------------------------------------------------------------------------------*/
-void ivas_orient_trk_Init(
- ivas_orient_trk_state_t *pOTR
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ivas_error ivas_orient_trk_Init(
+#else
+void ivas_orient_trk_Init(
+#endif
+ ivas_orient_trk_state_t *pOTR /* i/o : orientation tracker handle */
);
-void ivas_orient_trk_SetTrackingType(
- ivas_orient_trk_state_t *pOTR,
- const OTR_TRACKING_T trackingType
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ivas_error ivas_orient_trk_SetTrackingType(
+#else
+void ivas_orient_trk_SetTrackingType(
+#endif
+ ivas_orient_trk_state_t *pOTR, /* i/o : orientation tracker handle */
+ const OTR_TRACKING_T trackingType /* i : orientation tracking type */
+);
+
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ivas_error ivas_orient_trk_SetReferenceRotation(
+ ivas_orient_trk_state_t *pOTR, /* i/o : orientatoin trakcer handle */
+ IVAS_QUATERNION refRot /* i : reference rotation */
+);
+
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ivas_error ivas_orient_trk_SetReferenceVector(
+ ivas_orient_trk_state_t *pOTR, /* i/o : orientation tracker handle */
+ const IVAS_VECTOR3 listenerPos, /* i : Listener position */
+ const IVAS_VECTOR3 refPos /* i : Reference position */
+);
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+
+ivas_error ivas_orient_trk_GetMainOrientation(
+ ivas_orient_trk_state_t *pOTR, /* i/o : orientation tracker handle */
+ IVAS_QUATERNION *pOrientation /* i/o : average/reference orientation */
);
+ivas_error ivas_orient_trk_GetTrackedRotation(
+ ivas_orient_trk_state_t *pOTR, /* i/o : orientation tracker handle */
+ IVAS_QUATERNION *pRotation /* i/o : processed rotation */
+);
+#endif
+
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ivas_error ivas_orient_trk_Process(
+ ivas_orient_trk_state_t *pOTR, /* i/o : orientation tracker handle */
+ IVAS_QUATERNION absRot, /* i : absolute head rotation */
+ float updateRate, /* i : rotation update rate [Hz] */
+ IVAS_QUATERNION *pTrkRot /* o : tracked rotation */
+);
+
+#else
void ivas_orient_trk_SetAbsoluteOrientation(
ivas_orient_trk_state_t *pOTR,
const float yaw,
@@ -870,7 +931,7 @@ void ivas_orient_trk_SetAbsoluteOrientation(
);
ivas_error ivas_orient_trk_Process(
- ivas_orient_trk_state_t *pOTR
+ ivas_orient_trk_state_t *pOTR
);
void ivas_orient_trk_GetTrackedOrientation(
@@ -879,6 +940,7 @@ void ivas_orient_trk_GetTrackedOrientation(
float *pitch,
float *roll
);
+#endif
/* clang-format on */
#endif /* IVAS_PROT_REND_H */
diff --git a/lib_rend/ivas_rotation.c b/lib_rend/ivas_rotation.c
index 2622d02308b0c9dd25bd7cd67b301f2b2b214626..0c991c79e75351365daa90afd91f3ef69f38315f 100644
--- a/lib_rend/ivas_rotation.c
+++ b/lib_rend/ivas_rotation.c
@@ -30,6 +30,7 @@
*******************************************************************************************************/
+#include "ivas_cnst.h"
#include
#include
#include "options.h"
@@ -43,6 +44,70 @@
#include "wmc_auto.h"
+/*-----------------------------------------------------------------------*
+ * ivas_headTrack_open()
+ *
+ * Allocate and initialize Head-Tracking handle
+ *-----------------------------------------------------------------------*/
+
+ivas_error ivas_headTrack_open(
+ HEAD_TRACK_DATA_HANDLE *hHeadTrackData /* o : head track handle */
+)
+{
+ int16_t i;
+
+ /* Allocate Head-Tracking handle */
+ if ( ( *hHeadTrackData = (HEAD_TRACK_DATA_HANDLE) malloc( sizeof( HEAD_TRACK_DATA ) ) ) == NULL )
+ {
+ return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for head-tracking memory\n" ) );
+ }
+
+ /* Initialization */
+ ( *hHeadTrackData )->num_quaternions = 0;
+ ( *hHeadTrackData )->lrSwitchInterpVal = 0.0f;
+ ( *hHeadTrackData )->lrSwitchedCurrent = 0;
+ ( *hHeadTrackData )->lrSwitchedNext = 0;
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ if ( ( ( *hHeadTrackData )->OrientationTracker = (ivas_orient_trk_state_t *) malloc( sizeof( ivas_orient_trk_state_t ) ) ) == NULL )
+ {
+ return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Orientation tracking" );
+ }
+ ivas_orient_trk_Init( ( *hHeadTrackData )->OrientationTracker );
+#endif
+
+ /* Initialise Rmat_prev to I, Rmat will be computed later */
+ for ( i = 0; i < 3; i++ )
+ {
+ set_zero( ( *hHeadTrackData )->Rmat_prev[i], 3 );
+ ( *hHeadTrackData )->Rmat_prev[i][i] = 1.0f;
+ }
+
+ return IVAS_ERR_OK;
+}
+
+#ifdef FIX_I109_ORIENTATION_TRACKING
+/*-----------------------------------------------------------------------*
+ * ivas_headTrack_close()
+ *
+ * Deallocate Head-Tracking handle
+ *-----------------------------------------------------------------------*/
+
+void ivas_headTrack_close(
+ HEAD_TRACK_DATA_HANDLE *hHeadTrackData /* i/o: head track handle */
+)
+{
+ if ( hHeadTrackData != NULL )
+ {
+ if ( ( *hHeadTrackData )->OrientationTracker != NULL )
+ {
+ free( ( *hHeadTrackData )->OrientationTracker );
+ }
+ free( ( *hHeadTrackData ) );
+ *hHeadTrackData = NULL;
+ }
+}
+#endif
+
/*----------------------------------------------------------------------------------
* QuatToRotMat()
*
@@ -54,7 +119,21 @@ void QuatToRotMat(
float Rmat[3][3] /* o : real-space rotation matrix for this rotation */
)
{
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ Rmat[0][0] = quat.w * quat.w + quat.x * quat.x - quat.y * quat.y - quat.z * quat.z;
+ Rmat[0][1] = 2.0f * ( quat.x * quat.y - quat.w * quat.z );
+ Rmat[0][2] = 2.0f * ( quat.x * quat.z + quat.w * quat.y );
+
+ Rmat[1][0] = 2.0f * ( quat.x * quat.y + quat.w * quat.z );
+ Rmat[1][1] = quat.w * quat.w - quat.x * quat.x + quat.y * quat.y - quat.z * quat.z;
+ Rmat[1][2] = 2.0f * ( quat.y * quat.z - quat.w * quat.x );
+
+ Rmat[2][0] = 2.0f * ( quat.x * quat.z - quat.w * quat.y );
+ Rmat[2][1] = 2.0f * ( quat.y * quat.z + quat.w * quat.x );
+ Rmat[2][2] = quat.w * quat.w - quat.x * quat.x - quat.y * quat.y + quat.z * quat.z;
+#else
float s1, s2, s3, c1, c2, c3;
+
#ifdef DEBUGGING
/* PrintQuat( quat ); */
#endif
@@ -63,7 +142,11 @@ void QuatToRotMat(
* Euler angles instead of quaternions. In this case, all the w values must
* be set to -3.0 in the trajectory file to signal switching to Euler angles.
* The x,y, and z components of the quaternion are then interpreted as
+#ifdef FIX_I109_ORIENTATION_TRACKING
* yaw-pitch-roll.
+#else // see below: "Euler angles in R_X(roll)*R_Y(pitch)*R_Z(yaw) convention"
+ * roll-pitch-yaw.
+#endif
*/
if ( quat.w != -3.0 )
{
@@ -108,21 +191,23 @@ void QuatToRotMat(
Rmat[2][1] = c3 * s1 + c1 * s2 * s3;
Rmat[2][2] = c1 * c2;
}
+#endif
return;
}
+#ifndef FIX_I109_ORIENTATION_TRACKING
/*-------------------------------------------------------------------------
* Quat2Euler()
*
- * Quaternion handling: calculate corresponding Euler angles
+ * Quaternion handling: calculate corresponding Euler angles in radians
*------------------------------------------------------------------------*/
void Quat2Euler(
const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */
- float *yaw, /* o : yaw */
- float *pitch, /* o : pitch */
- float *roll /* o : roll */
+ float *yaw, /* o : yaw (z) */
+ float *pitch, /* o : pitch (y) */
+ float *roll /* o : roll (x) */
)
{
if ( quat.w != -3.0 )
@@ -146,7 +231,57 @@ void Quat2Euler(
return;
}
+#endif
+
+#ifdef FIX_I109_ORIENTATION_TRACKING
+/*-------------------------------------------------------------------------
+ * Euler2Quat()
+ *
+ * Calculate corresponding Quaternion from Euler angles in radians
+ *------------------------------------------------------------------------*/
+
+void Euler2Quat(
+ const float yaw, /* i : yaw (x) */
+ const float pitch, /* i : pitch (y) */
+ const float roll, /* i : roll (z) */
+ IVAS_QUATERNION *quat /* o : quaternion describing the rotation */
+)
+{
+ float cr = cosf( roll * 0.5f );
+ float sr = sinf( roll * 0.5f );
+ float cp = cosf( pitch * 0.5f );
+ float sp = sinf( -pitch * 0.5f );
+ float cy = cosf( yaw * 0.5f );
+ float sy = sinf( yaw * 0.5f );
+
+ quat->w = cr * cp * cy - sr * sp * sy;
+ quat->x = sr * cp * cy + cr * sp * sy;
+ quat->y = cr * sp * cy - sr * cp * sy;
+ quat->z = cr * cp * sy + sr * sp * cy;
+ return;
+}
+
+/*-------------------------------------------------------------------------
+ * deg2rad()
+ *
+ * Converts degrees to normalized radians
+ *------------------------------------------------------------------------*/
+float deg2rad(
+ float degrees )
+{
+ while ( degrees >= 180.0f )
+ {
+ degrees = degrees - 360.0f;
+ }
+ while ( degrees <= -180.0f )
+ {
+ degrees = degrees + 360.0f;
+ }
+
+ return PI_OVER_180 * degrees;
+}
+#endif
/*-------------------------------------------------------------------------
* rotateAziEle()
diff --git a/lib_rend/ivas_stat_rend.h b/lib_rend/ivas_stat_rend.h
index 05959ce73dbe726836ebbeef4741a8c59721e2cb..9dafb5fb65b3ea577bcb076e1e9eebc2a3cb8176 100644
--- a/lib_rend/ivas_stat_rend.h
+++ b/lib_rend/ivas_stat_rend.h
@@ -221,45 +221,25 @@ typedef struct EFAP
} EFAP, *EFAP_HANDLE;
-
/*----------------------------------------------------------------------------------*
- * Head rotation data structure
+ * Orientation tracking structure
*----------------------------------------------------------------------------------*/
-typedef struct
-{
- int8_t headRotEnabled;
- IVAS_QUATERNION headPositions[RENDERER_HEAD_POSITIONS_PER_FRAME];
-#ifdef TD5
- IVAS_POSITION Pos[RENDERER_HEAD_POSITIONS_PER_FRAME];
-#endif
- float crossfade[L_FRAME48k / RENDERER_HEAD_POSITIONS_PER_FRAME];
-
-} IVAS_REND_HeadRotData;
-
-typedef struct ivas_binaural_head_track_struct
+#ifdef FIX_I109_ORIENTATION_TRACKING
+typedef struct ivas_orient_trk_state_t
{
- int16_t num_quaternions;
- IVAS_QUATERNION Quaternions[MAX_PARAM_SPATIAL_SUBFRAMES];
-#ifdef TD5
- IVAS_POSITION Pos[MAX_PARAM_SPATIAL_SUBFRAMES];
-#endif
- float Rmat[3][3];
- float Rmat_prev[3][3];
-
- uint8_t lrSwitchedNext;
- uint8_t lrSwitchedCurrent;
- float lrSwitchInterpVal;
-
- int16_t shd_rot_max_order;
-
-} HEAD_TRACK_DATA, *HEAD_TRACK_DATA_HANDLE;
-
+ OTR_TRACKING_T trackingType;
+ float centerAdaptationRate;
+ float offCenterAdaptationRate;
+ float adaptationAngle;
-/*----------------------------------------------------------------------------------*
- * Orientation tracking structure
- *----------------------------------------------------------------------------------*/
+ float alpha;
+ IVAS_QUATERNION absAvgRot; /* average absolute orientation */
+ IVAS_QUATERNION refRot; /* reference orientation */
+ IVAS_QUATERNION trkRot; /* tracked rotation */
+} ivas_orient_trk_state_t;
+#else
typedef struct ivas_orient_trk_state_t
{
OTR_TRACKING_T trackingType;
@@ -286,11 +266,52 @@ typedef struct ivas_orient_trk_state_t
float trkRoll;
} ivas_orient_trk_state_t;
+#endif
+
+/*----------------------------------------------------------------------------------*
+ * Head rotation data structure
+ *----------------------------------------------------------------------------------*/
+
+typedef struct
+{
+ int8_t headRotEnabled;
+ IVAS_QUATERNION headPositions[RENDERER_HEAD_POSITIONS_PER_FRAME];
+#ifdef TD5
+ IVAS_POSITION Pos[RENDERER_HEAD_POSITIONS_PER_FRAME];
+#endif
+ float crossfade[L_FRAME48k / RENDERER_HEAD_POSITIONS_PER_FRAME];
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ ivas_orient_trk_state_t *hOrientationTracker;
+#endif
+
+} IVAS_REND_HeadRotData;
+typedef struct ivas_binaural_head_track_struct
+{
+ int16_t num_quaternions;
+ IVAS_QUATERNION Quaternions[MAX_PARAM_SPATIAL_SUBFRAMES];
+#ifdef TD5
+ IVAS_POSITION Pos[MAX_PARAM_SPATIAL_SUBFRAMES];
+#endif
+ float Rmat[3][3];
+ float Rmat_prev[3][3];
+
+ uint8_t lrSwitchedNext;
+ uint8_t lrSwitchedCurrent;
+ float lrSwitchInterpVal;
+
+ int16_t shd_rot_max_order;
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ ivas_orient_trk_state_t *OrientationTracker;
+#endif
+
+} HEAD_TRACK_DATA, *HEAD_TRACK_DATA_HANDLE;
/*----------------------------------------------------------------------------------*
* Reverberator structure
*----------------------------------------------------------------------------------*/
+/* Reverberator structures */
+
typedef struct ivas_roomAcoustics_t
{
diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c
index 919d6ee968350fe35dece15eb646e4fddbe166b7..a69393e10e5a5383fc7a2fd240290313444aaf5b 100644
--- a/lib_rend/lib_rend.c
+++ b/lib_rend/lib_rend.c
@@ -901,7 +901,11 @@ static ivas_error getEfapGains(
return IVAS_ERR_OK;
}
+#ifdef FIX_I109_ORIENTATION_TRACKING
+static ivas_error initHeadRotation(
+#else
static void initHeadRotation(
+#endif
IVAS_REND_HANDLE hIvasRend )
{
int16_t i, crossfade_len;
@@ -924,9 +928,30 @@ static void initHeadRotation(
hIvasRend->headRotData.headPositions[i] = quaternionInit();
}
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ if ( ( hIvasRend->headRotData.hOrientationTracker = (ivas_orient_trk_state_t *) malloc( sizeof( ivas_orient_trk_state_t ) ) ) == NULL )
+ {
+ return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Orientation tracking" );
+ }
+ ivas_orient_trk_Init( hIvasRend->headRotData.hOrientationTracker );
+
+ return IVAS_ERR_OK;
+#else
return;
+#endif
}
+#ifdef FIX_I109_ORIENTATION_TRACKING
+static void closeHeadRotation(
+ IVAS_REND_HANDLE hIvasRend )
+{
+ if ( ( hIvasRend != NULL ) && ( hIvasRend->headRotData.hOrientationTracker != NULL ) )
+ {
+ free( hIvasRend->headRotData.hOrientationTracker );
+ }
+}
+#endif
+
static void initRotMatrix(
rotation_matrix rot_mat )
{
@@ -1112,7 +1137,9 @@ static ivas_error setRendInputActiveIsm(
if ( ( error = ivas_rend_openCrend( &inputIsm->crendWrapper, AUDIO_CONFIG_7_1_4,
getIvasAudioConfigFromRendAudioConfig( outConfig ),
hRendCfg,
+#ifndef FIX_I109_ORIENTATION_TRACKING
0,
+#endif
NULL, *rendCtx.pOutSampleRate ) ) != IVAS_ERR_OK )
{
return error;
@@ -1837,7 +1864,9 @@ static ivas_error initMcBinauralRendering(
if ( ( error = ivas_rend_openCrend( &inputMc->crendWrapper,
( inConfig == IVAS_REND_AUDIO_CONFIG_LS_CUSTOM ) ? AUDIO_CONFIG_7_1_4 : getIvasAudioConfigFromRendAudioConfig( inConfig ), getIvasAudioConfigFromRendAudioConfig( outConfig ),
hRendCfg,
+#ifndef FIX_I109_ORIENTATION_TRACKING
0,
+#endif
NULL, outSampleRate ) ) != IVAS_ERR_OK )
{
return error;
@@ -2112,7 +2141,9 @@ static ivas_error updateSbaPanGains(
getIvasAudioConfigFromRendAudioConfig( inConfig ),
getIvasAudioConfigFromRendAudioConfig( outConfig ),
hRendCfg,
+#ifndef FIX_I109_ORIENTATION_TRACKING
0,
+#endif
NULL,
*rendCtx.pOutSampleRate );
break;
@@ -2126,7 +2157,9 @@ static ivas_error updateSbaPanGains(
AUDIO_CONFIG_7_1_4,
getIvasAudioConfigFromRendAudioConfig( outConfig ),
hRendCfg,
+#ifndef FIX_I109_ORIENTATION_TRACKING
0,
+#endif
NULL,
*rendCtx.pOutSampleRate );
break;
@@ -2489,6 +2522,10 @@ static DecoderDummy *initDecoderDummy(
decDummy->hHeadTrackData->lrSwitchInterpVal = 0.0f;
decDummy->hHeadTrackData->lrSwitchedCurrent = 0;
decDummy->hHeadTrackData->lrSwitchedNext = 0;
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ decDummy->hHeadTrackData->OrientationTracker = (ivas_orient_trk_state_t *) malloc( sizeof( ivas_orient_trk_state_t ) );
+ ivas_orient_trk_Init( decDummy->hHeadTrackData->OrientationTracker );
+#endif
}
else
{
@@ -2568,6 +2605,12 @@ static void freeDecoderDummy(
}
if ( pDecDummy->hHeadTrackData != NULL )
{
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ if ( pDecDummy->hHeadTrackData->OrientationTracker != NULL )
+ {
+ free( pDecDummy->hHeadTrackData->OrientationTracker );
+ }
+#endif
free( pDecDummy->hHeadTrackData );
}
ivas_render_config_close( &pDecDummy->hRenderConfig );
@@ -2691,7 +2734,14 @@ ivas_error IVAS_REND_Open(
}
/* Initialize headrotation data */
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ if ( ( error = initHeadRotation( hIvasRend ) ) != IVAS_ERR_OK )
+ {
+ return error;
+ }
+#else
initHeadRotation( hIvasRend );
+#endif
/* Initialize EFAP */
if ( ( error = initEfap( &hIvasRend->efapOutWrapper, outConfig, &hIvasRend->customLsOut ) ) != IVAS_ERR_OK )
@@ -3851,6 +3901,9 @@ ivas_error IVAS_REND_SetHeadRotation(
)
{
int16_t i;
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ IVAS_QUATERNION rotQuat;
+#endif
/*-----------------------------------------------------------------*
* Validate function arguments
@@ -3864,7 +3917,7 @@ ivas_error IVAS_REND_SetHeadRotation(
if ( getAudioConfigType( hIvasRend->outputConfig ) != IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL )
{
/* Head rotation can be set only with binaural output */
- return IVAS_ERR_METADATA_NOT_EXPECTED;
+ return IVAS_ERR_INVALID_OUTPUT_FORMAT;
}
if ( headRot == NULL )
@@ -3876,7 +3929,21 @@ ivas_error IVAS_REND_SetHeadRotation(
hIvasRend->headRotData.headRotEnabled = 1;
for ( i = 0; i < RENDERER_HEAD_POSITIONS_PER_FRAME; ++i )
{
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ /* check for Euler angle signaling */
+ if ( headRot[i].w == -3.0f )
+ {
+ Euler2Quat( deg2rad( headRot[i].x ), deg2rad( headRot[i].y ), deg2rad( headRot[i].z ), &rotQuat );
+ }
+ else
+ {
+ rotQuat = headRot[i];
+ }
+
+ ivas_orient_trk_Process( hIvasRend->headRotData.hOrientationTracker, rotQuat, FRAMES_PER_SEC * MAX_PARAM_SPATIAL_SUBFRAMES, &hIvasRend->headRotData.headPositions[i] );
+#else
hIvasRend->headRotData.headPositions[i] = headRot[i];
+#endif
#ifdef TD5
hIvasRend->headRotData.Pos[i] = Pos[i];
#endif
@@ -3886,6 +3953,118 @@ ivas_error IVAS_REND_SetHeadRotation(
return IVAS_ERR_OK;
}
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ivas_error IVAS_REND_SetOrientationTrackingMode(
+ IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */
+ const uint8_t otrMode /* i : Orientation tracking mode */
+)
+{
+ OTR_TRACKING_T mode;
+
+ if ( hIvasRend == NULL )
+ {
+ return IVAS_ERR_UNEXPECTED_NULL_POINTER;
+ }
+
+ switch ( otrMode )
+ {
+ case IVAS_ORIENT_TRK_AVG:
+ mode = OTR_TRACKING_AVG_ORIENT;
+ break;
+ case IVAS_ORIENT_TRK_REF:
+ mode = OTR_TRACKING_REF_ORIENT;
+ break;
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ case IVAS_ORIENT_TRK_REF_VEC:
+ mode = OTR_TRACKING_REF_VEC;
+ break;
+ case IVAS_ORIENT_TRK_REF_VEC_LEV:
+ mode = OTR_TRACKING_REF_VEC_LEV;
+ break;
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+ case IVAS_ORIENT_TRK_NONE:
+ default:
+ mode = OTR_TRACKING_NONE;
+ break;
+ }
+
+ ivas_orient_trk_SetTrackingType( hIvasRend->headRotData.hOrientationTracker, mode );
+
+ return IVAS_ERR_OK;
+}
+
+ivas_error IVAS_REND_SetReferenceRotation(
+ IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */
+ const IVAS_QUATERNION refRot /* i : Reference rotation */
+)
+{
+ /*-----------------------------------------------------------------*
+ * Validate function arguments
+ *-----------------------------------------------------------------*/
+
+ if ( hIvasRend == NULL )
+ {
+ return IVAS_ERR_UNEXPECTED_NULL_POINTER;
+ }
+ ivas_orient_trk_SetReferenceRotation( hIvasRend->headRotData.hOrientationTracker, refRot );
+
+ return IVAS_ERR_OK;
+}
+
+ivas_error IVAS_REND_GetMainOrientation(
+ IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */
+ IVAS_QUATERNION *pOrientation /* i/o: Quaternion pointer for main orientation */
+)
+{
+ if ( hIvasRend == NULL || pOrientation == NULL )
+ {
+ return IVAS_ERR_UNEXPECTED_NULL_POINTER;
+ }
+
+ ivas_orient_trk_GetMainOrientation( hIvasRend->headRotData.hOrientationTracker, pOrientation );
+
+ return IVAS_ERR_OK;
+}
+
+ivas_error IVAS_REND_GetTrackedRotation(
+ IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */
+ IVAS_QUATERNION *pRotation /* i/o: Quaternion pointer processed rotation */
+)
+{
+ if ( hIvasRend == NULL || pRotation == NULL )
+ {
+ return IVAS_ERR_UNEXPECTED_NULL_POINTER;
+ }
+
+ ivas_orient_trk_GetTrackedRotation( hIvasRend->headRotData.hOrientationTracker, pRotation );
+
+ return IVAS_ERR_OK;
+}
+
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+/*---------------------------------------------------------------------*
+ * IVAS_REND_SetReferenceVector( )
+ *
+ * Sets a reference vector spanning from listenerPos to refPos. Only
+ * available in OTR_TRACKING_REF_VEC and OTR_TRACKING_REF_VEC_LEV modes.
+ *---------------------------------------------------------------------*/
+
+ivas_error IVAS_REND_SetReferenceVector(
+ IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */
+ const IVAS_VECTOR3 listenerPos, /* i : Listener position */
+ const IVAS_VECTOR3 refPos /* i : Reference position */
+)
+{
+ if ( hIvasRend == NULL || hIvasRend->headRotData.hOrientationTracker == NULL )
+ {
+ return IVAS_ERR_UNEXPECTED_NULL_POINTER;
+ }
+
+ return ivas_orient_trk_SetReferenceVector( hIvasRend->headRotData.hOrientationTracker, listenerPos, refPos );
+}
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+#endif
+
/*-------------------------------------------------------------------*
* Local functions
@@ -5542,6 +5721,10 @@ void IVAS_REND_Close(
ivas_limiter_close( &hIvasRend->hLimiter );
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ closeHeadRotation( hIvasRend );
+#endif
+
free( hIvasRend );
*phIvasRend = NULL;
diff --git a/lib_rend/lib_rend.h b/lib_rend/lib_rend.h
index 579dda711f8e3a47b58a1fcdfd684c91a06777b1..b313bea5c12ff1fdec424b910158322f863c2f9c 100644
--- a/lib_rend/lib_rend.h
+++ b/lib_rend/lib_rend.h
@@ -252,6 +252,36 @@ ivas_error IVAS_REND_SetHeadRotation(
#endif
);
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ivas_error IVAS_REND_SetOrientationTrackingMode(
+ IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */
+ const uint8_t otrMode /* i : Orientation tracking mode */
+);
+
+ivas_error IVAS_REND_SetReferenceRotation(
+ IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */
+ const IVAS_QUATERNION refRot /* i : Reference rotation */
+);
+
+ivas_error IVAS_REND_GetMainOrientation(
+ IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */
+ IVAS_QUATERNION *pOrientation /* i/o: Quaternion pointer for main orientation */
+);
+
+ivas_error IVAS_REND_GetTrackedRotation(
+ IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */
+ IVAS_QUATERNION *pRotation /* i/o: Quaternion pointer for processed rotation */
+);
+
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+ivas_error IVAS_REND_SetReferenceVector(
+ IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */
+ const IVAS_VECTOR3 listenerPos, /* i : Listener position */
+ const IVAS_VECTOR3 refPos /* i : Reference position */
+);
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+#endif /* FIX_I109_ORIENTATION_TRACKING */
+
ivas_error IVAS_REND_GetSamples(
IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */
IVAS_REND_AudioBuffer outAudio /* i/o: buffer for output audio */
diff --git a/lib_util/audio_file_writer.c b/lib_util/audio_file_writer.c
index d6cbb1810ed4729e1f749e4ec505435f50cc0e3c..b27a8ceca6cf9ae990de7ff580a4eb53443307d9 100644
--- a/lib_util/audio_file_writer.c
+++ b/lib_util/audio_file_writer.c
@@ -98,7 +98,11 @@ ivas_error AudioFileWriter_open(
int8_t retCode;
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ if ( ( fileNameLen > wavSuffixLen ) && ( strncmp( fileName + fileNameLen - wavSuffixLen, wavSuffix, wavSuffixLen ) == 0 ) )
+#else
if ( fileNameLen > wavSuffixLen && strncmp( fileName + fileNameLen - wavSuffixLen, wavSuffix, wavSuffixLen ) == 0 )
+#endif
{
retCode = AudioFileWriter_open_wav( self, fileName, sampleRate, numChannels );
}
diff --git a/lib_util/head_rotation_file_reader.c b/lib_util/head_rotation_file_reader.c
index d3a1018644ee0bb97db34640b7aafee939f818e1..500fdd2b7a7b748d56675f8952046012d18416d4 100644
--- a/lib_util/head_rotation_file_reader.c
+++ b/lib_util/head_rotation_file_reader.c
@@ -91,11 +91,71 @@ ivas_error HeadRotationFileReader_open(
* Read values from the trajectory file
*-----------------------------------------------------------------------*/
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ivas_error HeadRotationFileReading(
+ HeadRotFileReader *headRotReader, /* i/o: HeadRotFileReader handle */
+#ifdef TD5
+ IVAS_QUATERNION *pQuaternion, /* o : head-tracking data */
+ IVAS_POSITION *pPos /* o : listener position */
+#else
+ IVAS_QUATERNION *pQuaternion /* o : head-tracking data */
+#endif
+)
+{
+ float w, x, y, z;
+#ifdef TD5
+ float posx, posy, posz;
+ int32_t read_values;
+
+ posx = 0.0f;
+ posy = 0.0f;
+ posz = 0.0f;
+#endif
+
+#ifdef TD5
+ read_values = fscanf( headRotReader->trajFile, "%f,%f,%f,%f,%f,%f,%f", &w, &x, &y, &z, &posx, &posy, &posz );
+ if ( ( read_values != 4 ) && ( read_values != 7 ) ) /* Allow either orientation (4) or orientation+position (4+3) */
+#else
+ if ( 4 != fscanf( headRotReader->trajFile, "%f,%f,%f,%f", &w, &x, &y, &z ) )
+#endif
+ {
+ if ( feof( headRotReader->trajFile ) )
+ {
+ rewind( headRotReader->trajFile );
+ headRotReader->fileRewind = true;
+#ifdef TD5
+ return HeadRotationFileReading( headRotReader, pQuaternion, pPos );
+#else
+ return HeadRotationFileReading( headRotReader, pQuaternion );
+#endif
+ }
+ return IVAS_ERR_FAILED_FILE_PARSE;
+ }
+
+ ( headRotReader->frameCounter )++;
+
+ pQuaternion->w = w;
+ pQuaternion->x = x;
+ pQuaternion->y = y;
+ pQuaternion->z = z;
+#ifdef TD5
+ if ( pPos != NULL )
+ {
+ pPos->x = posx;
+ pPos->y = posy;
+ pPos->z = posz;
+ }
+#endif
+
+ return IVAS_ERR_OK;
+}
+
+#else
ivas_error HeadRotationFileReading(
HeadRotFileReader *headRotReader, /* i/o: HeadRotFileReader handle */
IVAS_QUATERNION *Quaternions, /* o : head-tracking data, listener orientation */
#ifdef TD5
- IVAS_POSITION *Pos /* o : listener position */
+ IVAS_POSITION *Pos /* o : listener position */
#else
const int32_t frame_dec /* i : decoded frame number */
#endif
@@ -149,6 +209,7 @@ ivas_error HeadRotationFileReading(
return IVAS_ERR_OK;
}
+#endif
/*-----------------------------------------------------------------------*
diff --git a/lib_util/head_rotation_file_reader.h b/lib_util/head_rotation_file_reader.h
index 6fa05caef1df16131adf4c393d582ddf696aea2b..d735423e2cda0cc9fcc2cd485774073486fdba39 100644
--- a/lib_util/head_rotation_file_reader.h
+++ b/lib_util/head_rotation_file_reader.h
@@ -57,15 +57,27 @@ ivas_error HeadRotationFileReader_open(
* Read values from the trajectory file
*-----------------------------------------------------------------------*/
+#ifdef FIX_I109_ORIENTATION_TRACKING
+ivas_error HeadRotationFileReading(
+ HeadRotFileReader *headRotReader, /* i/o: HeadRotFileReader handle */
+#ifdef TD5
+ IVAS_QUATERNION *pQuaternion, /* o : head-tracking data */
+ IVAS_POSITION *pPos /* o : listener position */
+#else
+ IVAS_QUATERNION *pQuaternion /* o : head-tracking data */
+#endif
+);
+#else
ivas_error HeadRotationFileReading(
HeadRotFileReader *headRotReader, /* i/o: HeadRotFileReader handle */
IVAS_QUATERNION *Quaternions, /* o : head-tracking data */
#ifdef TD5
- IVAS_POSITION *Pos /* o : listener position */
+ IVAS_POSITION *Pos /* o : listener position */
#else
const int32_t frame_dec /* i : decoded frame number */
#endif
);
+#endif
/*-----------------------------------------------------------------------*
* HeadRotationFileReader_close()
diff --git a/lib_util/ls_custom_file_reader.c b/lib_util/ls_custom_file_reader.c
index f73022e8499fdbb22eb801221444a06aa8af41f6..9b39fab486bd99ab3259fc5dd6770351792e1e6e 100644
--- a/lib_util/ls_custom_file_reader.c
+++ b/lib_util/ls_custom_file_reader.c
@@ -52,7 +52,7 @@ struct LsCustomFileReader
ivas_error CustomLsReader_open(
const char *LsFilePath, /* i : LS custom layout file name */
- LsCustomFileReader **hLsCustomReader /* o : HeadRotFileReader handle */
+ LsCustomFileReader **hLsCustomReader /* o : LsCustomFileReader handle */
)
{
LsCustomFileReader *self;
@@ -89,7 +89,7 @@ ivas_error CustomLsReader_open(
*-----------------------------------------------------------------------*/
void CustomLsReader_close(
- LsCustomFileReader **hLsCustomReader /* i/o: HeadRotFileReader handle */
+ LsCustomFileReader **hLsCustomReader /* i/o: LsCustomFileReader handle */
)
{
if ( hLsCustomReader == NULL || *hLsCustomReader == NULL )
@@ -228,7 +228,7 @@ static void CustomLoudspeakerLayout_print_info(
*-------------------------------------------------------------------------*/
LS_CUSTOM_FILEREADER_ERROR CustomLsFileReading(
- LsCustomFileReader *hLsCustomReader, /* i/o: HeadRotFileReader handle */
+ LsCustomFileReader *hLsCustomReader, /* i/o: LsCustomFileReader handle */
IVAS_CUSTOM_LS_DATA *hLsCustomData /* o : Custom loudspeaker setup data */
)
{
diff --git a/lib_util/ls_custom_file_reader.h b/lib_util/ls_custom_file_reader.h
index 70c854aa9cff8b26f5947d0b70ce6a7eabee2431..df7fe6bde7a929cb7dff5ae4a4e17d34ab0b58eb 100644
--- a/lib_util/ls_custom_file_reader.h
+++ b/lib_util/ls_custom_file_reader.h
@@ -64,7 +64,7 @@ typedef enum _LS_CUSTOM_FILEREADER_ERROR
ivas_error CustomLsReader_open(
const char *LsFilePath, /* i : LS custom layout file name */
- LsCustomFileReader **hLsCustomReader /* o : HeadRotFileReader handle */
+ LsCustomFileReader **hLsCustomReader /* o : LsCustomFileReader handle */
);
/*-----------------------------------------------------------------------*
@@ -74,7 +74,7 @@ ivas_error CustomLsReader_open(
*-----------------------------------------------------------------------*/
void CustomLsReader_close(
- LsCustomFileReader **hLsCustomReader /* i/o: HeadRotFileReader handle */
+ LsCustomFileReader **hLsCustomReader /* i/o: LsCustomFileReader handle */
);
/*-------------------------------------------------------------------------*
@@ -84,7 +84,7 @@ void CustomLsReader_close(
*-------------------------------------------------------------------------*/
LS_CUSTOM_FILEREADER_ERROR CustomLsFileReading(
- LsCustomFileReader *hLsCustomReader, /* i/o: HeadRotFileReader handle */
+ LsCustomFileReader *hLsCustomReader, /* i/o: LsCustomFileReader handle */
IVAS_CUSTOM_LS_DATA *hLsCustomData /* o : Custom loudspeaker setup data */
);
diff --git a/lib_util/vector3_pair_file_reader.c b/lib_util/vector3_pair_file_reader.c
new file mode 100644
index 0000000000000000000000000000000000000000..1b8a95bc8802caedf0ca50a537928a6ff2622f34
--- /dev/null
+++ b/lib_util/vector3_pair_file_reader.c
@@ -0,0 +1,166 @@
+/******************************************************************************************************
+
+ (C) 2022-2023 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
+ Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
+ Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
+ Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
+ contributors to this repository. All Rights Reserved.
+
+ This software is protected by copyright law and by international treaties.
+ The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
+ Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
+ Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
+ Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
+ contributors to this repository retain full ownership rights in their respective contributions in
+ the software. This notice grants no license of any kind, including but not limited to patent
+ license, nor is any license granted by implication, estoppel or otherwise.
+
+ Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
+ contributions.
+
+ This software is provided "AS IS", without any express or implied warranties. The software is in the
+ development stage. It is intended exclusively for experts who have experience with such software and
+ solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
+ and fitness for a particular purpose are hereby disclaimed and excluded.
+
+ Any dispute, controversy or claim arising under or in relation to providing this software shall be
+ submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
+ accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
+ the United Nations Convention on Contracts on the International Sales of Goods.
+
+*******************************************************************************************************/
+
+#include "vector3_pair_file_reader.h"
+#include
+#include
+#include
+#include
+#include "prot.h"
+#include "options.h" /* only included to get access to the feature-defines */
+
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+
+struct Vector3PairFileReader
+{
+ FILE *trajFile;
+ char *file_path;
+};
+
+/*-----------------------------------------------------------------------*
+ * Vector3PairFileReader_open()
+ *
+ * Allocate and initialize reader
+ *-----------------------------------------------------------------------*/
+
+ivas_error Vector3PairFileReader_open(
+ const char *trajFilePath, /* i : trajectory file name */
+ Vector3PairFileReader **vector3PairReader /* o : Vector3PairFileReader handle */
+)
+{
+ Vector3PairFileReader *self;
+ FILE *trajFile;
+
+ /* Open trajectory file */
+ if ( strlen( trajFilePath ) < 1 )
+ {
+ return IVAS_ERR_FAILED_FILE_OPEN;
+ }
+
+ trajFile = fopen( trajFilePath, "r" );
+
+ if ( !trajFile )
+ {
+ return IVAS_ERR_FAILED_FILE_OPEN;
+ }
+
+ self = calloc( sizeof( Vector3PairFileReader ), 1 );
+ self->trajFile = trajFile;
+ self->file_path = calloc( sizeof( char ), strlen( trajFilePath ) + 1 );
+ strcpy( self->file_path, trajFilePath );
+
+ *vector3PairReader = self;
+
+ return IVAS_ERR_OK;
+}
+
+
+/*-----------------------------------------------------------------------*
+ * Vector3PairFileReader_read()
+ *
+ * Read one line of values from the trajectory file
+ *-----------------------------------------------------------------------*/
+
+ivas_error Vector3PairFileReader_read(
+ Vector3PairFileReader *vector3PairReader, /* i/o: Vector3PairFileReader handle */
+ IVAS_VECTOR3 *pFirst, /* o : first x,y,z position in the line */
+ IVAS_VECTOR3 *pSecond /* o : second x,y,z position in the line */
+)
+{
+ float x1, y1, z1, x2, y2, z2;
+
+ if ( vector3PairReader == NULL || pFirst == NULL || pSecond == NULL )
+ return IVAS_ERR_UNEXPECTED_NULL_POINTER;
+
+ if ( 6 != fscanf( vector3PairReader->trajFile, "%f,%f,%f,%f,%f,%f", &x1, &y1, &z1, &x2, &y2, &z2 ) )
+ {
+ if ( feof( vector3PairReader->trajFile ) )
+ {
+ rewind( vector3PairReader->trajFile );
+ return Vector3PairFileReader_read( vector3PairReader, pFirst, pSecond );
+ }
+ return IVAS_ERR_FAILED_FILE_PARSE;
+ }
+
+ pFirst->x = x1;
+ pFirst->y = y1;
+ pFirst->z = z1;
+ pSecond->x = x2;
+ pSecond->y = y2;
+ pSecond->z = z2;
+
+ return IVAS_ERR_OK;
+}
+
+/*-----------------------------------------------------------------------*
+ * Vector3PairFileReader_close()
+ *
+ * Deallocates memory for the Head-Tracking reader
+ *-----------------------------------------------------------------------*/
+
+void Vector3PairFileReader_close(
+ Vector3PairFileReader **reader /* i/o: Vector3PairFileReader handle */
+)
+{
+ if ( reader == NULL || *reader == NULL )
+ {
+ return;
+ }
+
+ fclose( ( *reader )->trajFile );
+ free( ( *reader )->file_path );
+ free( *reader );
+ *reader = NULL;
+
+ return;
+}
+
+
+/*-----------------------------------------------------------------------*
+ * Vector3PairFileReader_getFilePath()
+ *
+ *
+ *-----------------------------------------------------------------------*/
+
+const char *Vector3PairFileReader_getFilePath(
+ Vector3PairFileReader *reader /* i/o: Vector3PairFileReader handle */
+)
+{
+ if ( reader == NULL )
+ {
+ return NULL;
+ }
+
+ return reader->file_path;
+}
+
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
diff --git a/lib_util/vector3_pair_file_reader.h b/lib_util/vector3_pair_file_reader.h
new file mode 100644
index 0000000000000000000000000000000000000000..a2fd706fc2243fa5e01ce8f2bf8d86278b284578
--- /dev/null
+++ b/lib_util/vector3_pair_file_reader.h
@@ -0,0 +1,89 @@
+/******************************************************************************************************
+
+ (C) 2022-2023 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
+ Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
+ Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
+ Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
+ contributors to this repository. All Rights Reserved.
+
+ This software is protected by copyright law and by international treaties.
+ The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
+ Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
+ Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
+ Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
+ contributors to this repository retain full ownership rights in their respective contributions in
+ the software. This notice grants no license of any kind, including but not limited to patent
+ license, nor is any license granted by implication, estoppel or otherwise.
+
+ Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
+ contributions.
+
+ This software is provided "AS IS", without any express or implied warranties. The software is in the
+ development stage. It is intended exclusively for experts who have experience with such software and
+ solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
+ and fitness for a particular purpose are hereby disclaimed and excluded.
+
+ Any dispute, controversy or claim arising under or in relation to providing this software shall be
+ submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
+ accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
+ the United Nations Convention on Contracts on the International Sales of Goods.
+
+*******************************************************************************************************/
+
+#ifndef IVAS_V3PAIR_FILE_READER_H
+#define IVAS_V3PAIR_FILE_READER_H
+
+#include "common_api_types.h"
+#include "ivas_error.h"
+#include "options.h" /* only included to get access to the feature-defines */
+
+#ifdef OTR_REFERENCE_VECTOR_TRACKING
+
+typedef struct Vector3PairFileReader Vector3PairFileReader;
+
+/*-----------------------------------------------------------------------*
+ * Vector3PairFileReader_open()
+ *
+ * Allocate and initialize Head-Tracking handle
+ *-----------------------------------------------------------------------*/
+
+ivas_error Vector3PairFileReader_open(
+ const char *trajFilePath, /* i : trajectory file name */
+ Vector3PairFileReader **vector3PairReader /* o : Vector3PairFileReader handle */
+);
+
+/*-----------------------------------------------------------------------*
+ * Vector3PairFileReader_read()
+ *
+ * Read one line of values from the trajectory file
+ *-----------------------------------------------------------------------*/
+
+ivas_error Vector3PairFileReader_read(
+ Vector3PairFileReader *vector3PairReader, /* i/o: Vector3PairFileReader handle */
+ IVAS_VECTOR3 *pFirst, /* o : first x,y,z position in the line */
+ IVAS_VECTOR3 *pSecond /* o : second x,y,z position in the line */
+);
+
+/*-----------------------------------------------------------------------*
+ * Vector3PairFileReader_close()
+ *
+ * Deallocates memory for the handle
+ *-----------------------------------------------------------------------*/
+
+void Vector3PairFileReader_close(
+ Vector3PairFileReader **vector3PairReader /* i/o: Vector3PairFileReader handle */
+);
+
+/*-----------------------------------------------------------------------*
+ * Vector3PairFileReader_getFilePath()
+ *
+ *
+ *-----------------------------------------------------------------------*/
+
+const char *Vector3PairFileReader_getFilePath(
+ Vector3PairFileReader *vector3PairReader /* i/o: Vector3PairFileReader handle */
+);
+
+#endif /* OTR_REFERENCE_VECTOR_TRACKING */
+
+#endif /* IVAS_V3PAIR_FILE_READER_H */
diff --git a/scripts/trajectories/azi+2-ele+2-every-100-frames-Euler.csv b/scripts/trajectories/azi_plus_2-ele_plus_2-every-100-frames-Euler.csv
similarity index 100%
rename from scripts/trajectories/azi+2-ele+2-every-100-frames-Euler.csv
rename to scripts/trajectories/azi_plus_2-ele_plus_2-every-100-frames-Euler.csv
diff --git a/scripts/trajectories/azi+2-ele+2-every-100-frames.csv b/scripts/trajectories/azi_plus_2-ele_plus_2-every-100-frames.csv
similarity index 100%
rename from scripts/trajectories/azi+2-ele+2-every-100-frames.csv
rename to scripts/trajectories/azi_plus_2-ele_plus_2-every-100-frames.csv
diff --git a/scripts/trajectories/azi_plus_2-ele_plus_2-every-25-rows.csv b/scripts/trajectories/azi_plus_2-ele_plus_2-every-25-rows.csv
new file mode 100644
index 0000000000000000000000000000000000000000..4d8eb8d47b98963cf759f1a0a3f52b592f82ce86
--- /dev/null
+++ b/scripts/trajectories/azi_plus_2-ele_plus_2-every-25-rows.csv
@@ -0,0 +1,3000 @@
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.653281, -0.270598, 0.270598, 0.653281
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.634602, -0.292582, 0.282543, 0.657150
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.615562, -0.314856, 0.293608, 0.660109
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.596200, -0.337381, 0.303779, 0.662147
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.576556, -0.360116, 0.313044, 0.663252
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.556670, -0.383022, 0.321394, 0.663414
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.536584, -0.406058, 0.328819, 0.662626
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.516337, -0.429181, 0.335313, 0.660881
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.495972, -0.452352, 0.340872, 0.658176
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.475528, -0.475528, 0.345492, 0.654508
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.455049, -0.498668, 0.349171, 0.649877
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.434575, -0.521730, 0.351911, 0.644283
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.414147, -0.544673, 0.353715, 0.637730
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.393807, -0.567455, 0.354585, 0.630223
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.373595, -0.590035, 0.354529, 0.621767
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.353553, -0.612372, 0.353553, 0.612372
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.333721, -0.634427, 0.351668, 0.602048
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.314138, -0.656158, 0.348885, 0.590807
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.294843, -0.677527, 0.345217, 0.578662
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.275876, -0.698494, 0.340678, 0.565629
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.257274, -0.719022, 0.335286, 0.551725
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.239074, -0.739074, 0.329057, 0.536969
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.221313, -0.758612, 0.322012, 0.521380
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.204025, -0.777602, 0.314172, 0.504981
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.187247, -0.796008, 0.305559, 0.487794
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.171010, -0.813798, 0.296198, 0.469846
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.155348, -0.830938, 0.286115, 0.451162
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.140291, -0.847398, 0.275336, 0.431771
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.125869, -0.863147, 0.263890, 0.411700
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.112112, -0.878156, 0.251807, 0.390980
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.099046, -0.892399, 0.239118, 0.369644
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.086697, -0.905849, 0.225854, 0.347723
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.075090, -0.918482, 0.212048, 0.325251
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.064248, -0.930274, 0.197736, 0.302264
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.054193, -0.941204, 0.182951, 0.278797
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.044943, -0.951251, 0.167731, 0.254887
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.036519, -0.960398, 0.152112, 0.230571
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.028936, -0.968628, 0.136132, 0.205888
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.022209, -0.975926, 0.119829, 0.180877
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.016352, -0.982278, 0.103242, 0.155578
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.011376, -0.987672, 0.086410, 0.130030
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.007292, -0.992099, 0.069374, 0.104274
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.004106, -0.995551, 0.052175, 0.078352
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.001826, -0.998021, 0.034852, 0.052304
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000457, -0.999505, 0.017446, 0.026173
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000000, -1.000000, 0.000000, 0.000000
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.000457, -0.999505, -0.017446, -0.026173
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.001826, -0.998021, -0.034852, -0.052304
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.004106, -0.995551, -0.052175, -0.078352
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.007292, -0.992099, -0.069374, -0.104274
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.011376, -0.987672, -0.086410, -0.130030
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.016352, -0.982278, -0.103242, -0.155578
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.022209, -0.975926, -0.119829, -0.180877
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.028936, -0.968628, -0.136132, -0.205888
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.036519, -0.960398, -0.152112, -0.230571
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.044943, -0.951251, -0.167731, -0.254887
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.054193, -0.941204, -0.182951, -0.278797
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.064248, -0.930274, -0.197736, -0.302264
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.075090, -0.918482, -0.212048, -0.325251
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.086697, -0.905849, -0.225854, -0.347723
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.099046, -0.892399, -0.239118, -0.369644
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.112112, -0.878156, -0.251807, -0.390980
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.125869, -0.863147, -0.263890, -0.411700
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.140291, -0.847398, -0.275336, -0.431771
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.155348, -0.830938, -0.286115, -0.451162
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.171010, -0.813798, -0.296198, -0.469846
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.187247, -0.796008, -0.305559, -0.487794
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.204025, -0.777602, -0.314172, -0.504981
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.221313, -0.758612, -0.322012, -0.521380
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.239074, -0.739074, -0.329057, -0.536969
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.257274, -0.719022, -0.335286, -0.551725
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.275876, -0.698494, -0.340678, -0.565629
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.294843, -0.677527, -0.345217, -0.578662
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.314138, -0.656158, -0.348885, -0.590807
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.333721, -0.634427, -0.351668, -0.602048
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.353553, -0.612372, -0.353553, -0.612372
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.373595, -0.590035, -0.354529, -0.621767
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.393807, -0.567455, -0.354585, -0.630223
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.414147, -0.544673, -0.353715, -0.637730
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.434575, -0.521730, -0.351911, -0.644283
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.455049, -0.498668, -0.349171, -0.649877
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.475528, -0.475528, -0.345492, -0.654508
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.495972, -0.452352, -0.340872, -0.658176
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.516337, -0.429181, -0.335313, -0.660881
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.536584, -0.406058, -0.328819, -0.662626
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.556670, -0.383022, -0.321394, -0.663414
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.576556, -0.360116, -0.313044, -0.663252
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.596200, -0.337381, -0.303779, -0.662147
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.615562, -0.314856, -0.293608, -0.660109
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.634602, -0.292582, -0.282543, -0.657150
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.653281, -0.270598, -0.270598, -0.653281
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.671562, -0.248943, -0.257788, -0.648519
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.689404, -0.227656, -0.244131, -0.642880
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.706773, -0.206773, -0.229644, -0.636381
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.723630, -0.186331, -0.214349, -0.629042
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.739942, -0.166366, -0.198267, -0.620885
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.755673, -0.146912, -0.181421, -0.611932
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.770791, -0.128003, -0.163837, -0.602208
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.785262, -0.109672, -0.145540, -0.591738
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.799057, -0.091950, -0.126558, -0.580549
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.812144, -0.074867, -0.106921, -0.568669
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.824496, -0.058452, -0.086658, -0.556130
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.836085, -0.042732, -0.065801, -0.542960
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.846886, -0.027734, -0.044383, -0.529193
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.856874, -0.013482, -0.022438, -0.514862
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.866025, -0.000000, -0.000000, -0.500000
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.874320, 0.012691, 0.022895, -0.484643
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.881738, 0.024570, 0.046210, -0.468828
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.888260, 0.035620, 0.069908, -0.452591
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.893870, 0.045822, 0.093950, -0.435970
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.898554, 0.055163, 0.118297, -0.419003
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.902298, 0.063628, 0.142910, -0.401729
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.905091, 0.071205, 0.167749, -0.384188
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.906923, 0.077885, 0.192772, -0.366421
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907786, 0.083659, 0.217940, -0.348466
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.907673, 0.088521, 0.243210, -0.330366
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.906582, 0.092466, 0.268542, -0.312161
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.904508, 0.095492, 0.293893, -0.293893
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.901453, 0.097596, 0.319221, -0.275602
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
+ 0.897415, 0.098780, 0.344485, -0.257330
diff --git a/scripts/trajectories/const000-Vector3.csv b/scripts/trajectories/const000-Vector3.csv
new file mode 100644
index 0000000000000000000000000000000000000000..f47ae12e5defebf51cff611c9887c231cfdb2327
--- /dev/null
+++ b/scripts/trajectories/const000-Vector3.csv
@@ -0,0 +1,4 @@
+0.0, 0.0, 0.0, 1.0, 0.0, 0.0
+0.0, 0.0, 0.0, 1.0, 0.0, 0.0
+0.0, 0.0, 0.0, 1.0, 0.0, 0.0
+0.0, 0.0, 0.0, 1.0, 0.0, 0.0
diff --git a/scripts/trajectories/full-circle-4s-Vector3.csv b/scripts/trajectories/full-circle-4s-Vector3.csv
new file mode 100644
index 0000000000000000000000000000000000000000..38a350523957054744f92fb08c628981a12e0f9a
--- /dev/null
+++ b/scripts/trajectories/full-circle-4s-Vector3.csv
@@ -0,0 +1,200 @@
+0.0000,0.0000,0.0000,0.9995,-0.0314,0.0000
+0.0000,0.0000,0.0000,0.9980,-0.0628,0.0000
+0.0000,0.0000,0.0000,0.9956,-0.0941,0.0000
+0.0000,0.0000,0.0000,0.9921,-0.1253,0.0000
+0.0000,0.0000,0.0000,0.9877,-0.1564,0.0000
+0.0000,0.0000,0.0000,0.9823,-0.1874,0.0000
+0.0000,0.0000,0.0000,0.9759,-0.2181,0.0000
+0.0000,0.0000,0.0000,0.9686,-0.2487,0.0000
+0.0000,0.0000,0.0000,0.9603,-0.2790,0.0000
+0.0000,0.0000,0.0000,0.9511,-0.3090,0.0000
+0.0000,0.0000,0.0000,0.9409,-0.3387,0.0000
+0.0000,0.0000,0.0000,0.9298,-0.3681,0.0000
+0.0000,0.0000,0.0000,0.9178,-0.3971,0.0000
+0.0000,0.0000,0.0000,0.9048,-0.4258,0.0000
+0.0000,0.0000,0.0000,0.8910,-0.4540,0.0000
+0.0000,0.0000,0.0000,0.8763,-0.4818,0.0000
+0.0000,0.0000,0.0000,0.8607,-0.5090,0.0000
+0.0000,0.0000,0.0000,0.8443,-0.5358,0.0000
+0.0000,0.0000,0.0000,0.8271,-0.5621,0.0000
+0.0000,0.0000,0.0000,0.8090,-0.5878,0.0000
+0.0000,0.0000,0.0000,0.7902,-0.6129,0.0000
+0.0000,0.0000,0.0000,0.7705,-0.6374,0.0000
+0.0000,0.0000,0.0000,0.7501,-0.6613,0.0000
+0.0000,0.0000,0.0000,0.7290,-0.6845,0.0000
+0.0000,0.0000,0.0000,0.7071,-0.7071,0.0000
+0.0000,0.0000,0.0000,0.6845,-0.7290,0.0000
+0.0000,0.0000,0.0000,0.6613,-0.7501,0.0000
+0.0000,0.0000,0.0000,0.6374,-0.7705,0.0000
+0.0000,0.0000,0.0000,0.6129,-0.7902,0.0000
+0.0000,0.0000,0.0000,0.5878,-0.8090,0.0000
+0.0000,0.0000,0.0000,0.5621,-0.8271,0.0000
+0.0000,0.0000,0.0000,0.5358,-0.8443,0.0000
+0.0000,0.0000,0.0000,0.5090,-0.8607,0.0000
+0.0000,0.0000,0.0000,0.4818,-0.8763,0.0000
+0.0000,0.0000,0.0000,0.4540,-0.8910,0.0000
+0.0000,0.0000,0.0000,0.4258,-0.9048,0.0000
+0.0000,0.0000,0.0000,0.3971,-0.9178,0.0000
+0.0000,0.0000,0.0000,0.3681,-0.9298,0.0000
+0.0000,0.0000,0.0000,0.3387,-0.9409,0.0000
+0.0000,0.0000,0.0000,0.3090,-0.9511,0.0000
+0.0000,0.0000,0.0000,0.2790,-0.9603,0.0000
+0.0000,0.0000,0.0000,0.2487,-0.9686,0.0000
+0.0000,0.0000,0.0000,0.2181,-0.9759,0.0000
+0.0000,0.0000,0.0000,0.1874,-0.9823,0.0000
+0.0000,0.0000,0.0000,0.1564,-0.9877,0.0000
+0.0000,0.0000,0.0000,0.1253,-0.9921,0.0000
+0.0000,0.0000,0.0000,0.0941,-0.9956,0.0000
+0.0000,0.0000,0.0000,0.0628,-0.9980,0.0000
+0.0000,0.0000,0.0000,0.0314,-0.9995,0.0000
+0.0000,0.0000,0.0000,-0.0000,-1.0000,0.0000
+0.0000,0.0000,0.0000,-0.0314,-0.9995,0.0000
+0.0000,0.0000,0.0000,-0.0628,-0.9980,0.0000
+0.0000,0.0000,0.0000,-0.0941,-0.9956,0.0000
+0.0000,0.0000,0.0000,-0.1253,-0.9921,0.0000
+0.0000,0.0000,0.0000,-0.1564,-0.9877,0.0000
+0.0000,0.0000,0.0000,-0.1874,-0.9823,0.0000
+0.0000,0.0000,0.0000,-0.2181,-0.9759,0.0000
+0.0000,0.0000,0.0000,-0.2487,-0.9686,0.0000
+0.0000,0.0000,0.0000,-0.2790,-0.9603,0.0000
+0.0000,0.0000,0.0000,-0.3090,-0.9511,0.0000
+0.0000,0.0000,0.0000,-0.3387,-0.9409,0.0000
+0.0000,0.0000,0.0000,-0.3681,-0.9298,0.0000
+0.0000,0.0000,0.0000,-0.3971,-0.9178,0.0000
+0.0000,0.0000,0.0000,-0.4258,-0.9048,0.0000
+0.0000,0.0000,0.0000,-0.4540,-0.8910,0.0000
+0.0000,0.0000,0.0000,-0.4818,-0.8763,0.0000
+0.0000,0.0000,0.0000,-0.5090,-0.8607,0.0000
+0.0000,0.0000,0.0000,-0.5358,-0.8443,0.0000
+0.0000,0.0000,0.0000,-0.5621,-0.8271,0.0000
+0.0000,0.0000,0.0000,-0.5878,-0.8090,0.0000
+0.0000,0.0000,0.0000,-0.6129,-0.7902,0.0000
+0.0000,0.0000,0.0000,-0.6374,-0.7705,0.0000
+0.0000,0.0000,0.0000,-0.6613,-0.7501,0.0000
+0.0000,0.0000,0.0000,-0.6845,-0.7290,0.0000
+0.0000,0.0000,0.0000,-0.7071,-0.7071,0.0000
+0.0000,0.0000,0.0000,-0.7290,-0.6845,0.0000
+0.0000,0.0000,0.0000,-0.7501,-0.6613,0.0000
+0.0000,0.0000,0.0000,-0.7705,-0.6374,0.0000
+0.0000,0.0000,0.0000,-0.7902,-0.6129,0.0000
+0.0000,0.0000,0.0000,-0.8090,-0.5878,0.0000
+0.0000,0.0000,0.0000,-0.8271,-0.5621,0.0000
+0.0000,0.0000,0.0000,-0.8443,-0.5358,0.0000
+0.0000,0.0000,0.0000,-0.8607,-0.5090,0.0000
+0.0000,0.0000,0.0000,-0.8763,-0.4818,0.0000
+0.0000,0.0000,0.0000,-0.8910,-0.4540,0.0000
+0.0000,0.0000,0.0000,-0.9048,-0.4258,0.0000
+0.0000,0.0000,0.0000,-0.9178,-0.3971,0.0000
+0.0000,0.0000,0.0000,-0.9298,-0.3681,0.0000
+0.0000,0.0000,0.0000,-0.9409,-0.3387,0.0000
+0.0000,0.0000,0.0000,-0.9511,-0.3090,0.0000
+0.0000,0.0000,0.0000,-0.9603,-0.2790,0.0000
+0.0000,0.0000,0.0000,-0.9686,-0.2487,0.0000
+0.0000,0.0000,0.0000,-0.9759,-0.2181,0.0000
+0.0000,0.0000,0.0000,-0.9823,-0.1874,0.0000
+0.0000,0.0000,0.0000,-0.9877,-0.1564,0.0000
+0.0000,0.0000,0.0000,-0.9921,-0.1253,0.0000
+0.0000,0.0000,0.0000,-0.9956,-0.0941,0.0000
+0.0000,0.0000,0.0000,-0.9980,-0.0628,0.0000
+0.0000,0.0000,0.0000,-0.9995,-0.0314,0.0000
+0.0000,0.0000,0.0000,-1.0000,0.0000,0.0000
+0.0000,0.0000,0.0000,-0.9995,0.0314,0.0000
+0.0000,0.0000,0.0000,-0.9980,0.0628,0.0000
+0.0000,0.0000,0.0000,-0.9956,0.0941,0.0000
+0.0000,0.0000,0.0000,-0.9921,0.1253,0.0000
+0.0000,0.0000,0.0000,-0.9877,0.1564,0.0000
+0.0000,0.0000,0.0000,-0.9823,0.1874,0.0000
+0.0000,0.0000,0.0000,-0.9759,0.2181,0.0000
+0.0000,0.0000,0.0000,-0.9686,0.2487,0.0000
+0.0000,0.0000,0.0000,-0.9603,0.2790,0.0000
+0.0000,0.0000,0.0000,-0.9511,0.3090,0.0000
+0.0000,0.0000,0.0000,-0.9409,0.3387,0.0000
+0.0000,0.0000,0.0000,-0.9298,0.3681,0.0000
+0.0000,0.0000,0.0000,-0.9178,0.3971,0.0000
+0.0000,0.0000,0.0000,-0.9048,0.4258,0.0000
+0.0000,0.0000,0.0000,-0.8910,0.4540,0.0000
+0.0000,0.0000,0.0000,-0.8763,0.4818,0.0000
+0.0000,0.0000,0.0000,-0.8607,0.5090,0.0000
+0.0000,0.0000,0.0000,-0.8443,0.5358,0.0000
+0.0000,0.0000,0.0000,-0.8271,0.5621,0.0000
+0.0000,0.0000,0.0000,-0.8090,0.5878,0.0000
+0.0000,0.0000,0.0000,-0.7902,0.6129,0.0000
+0.0000,0.0000,0.0000,-0.7705,0.6374,0.0000
+0.0000,0.0000,0.0000,-0.7501,0.6613,0.0000
+0.0000,0.0000,0.0000,-0.7290,0.6845,0.0000
+0.0000,0.0000,0.0000,-0.7071,0.7071,0.0000
+0.0000,0.0000,0.0000,-0.6845,0.7290,0.0000
+0.0000,0.0000,0.0000,-0.6613,0.7501,0.0000
+0.0000,0.0000,0.0000,-0.6374,0.7705,0.0000
+0.0000,0.0000,0.0000,-0.6129,0.7902,0.0000
+0.0000,0.0000,0.0000,-0.5878,0.8090,0.0000
+0.0000,0.0000,0.0000,-0.5621,0.8271,0.0000
+0.0000,0.0000,0.0000,-0.5358,0.8443,0.0000
+0.0000,0.0000,0.0000,-0.5090,0.8607,0.0000
+0.0000,0.0000,0.0000,-0.4818,0.8763,0.0000
+0.0000,0.0000,0.0000,-0.4540,0.8910,0.0000
+0.0000,0.0000,0.0000,-0.4258,0.9048,0.0000
+0.0000,0.0000,0.0000,-0.3971,0.9178,0.0000
+0.0000,0.0000,0.0000,-0.3681,0.9298,0.0000
+0.0000,0.0000,0.0000,-0.3387,0.9409,0.0000
+0.0000,0.0000,0.0000,-0.3090,0.9511,0.0000
+0.0000,0.0000,0.0000,-0.2790,0.9603,0.0000
+0.0000,0.0000,0.0000,-0.2487,0.9686,0.0000
+0.0000,0.0000,0.0000,-0.2181,0.9759,0.0000
+0.0000,0.0000,0.0000,-0.1874,0.9823,0.0000
+0.0000,0.0000,0.0000,-0.1564,0.9877,0.0000
+0.0000,0.0000,0.0000,-0.1253,0.9921,0.0000
+0.0000,0.0000,0.0000,-0.0941,0.9956,0.0000
+0.0000,0.0000,0.0000,-0.0628,0.9980,0.0000
+0.0000,0.0000,0.0000,-0.0314,0.9995,0.0000
+0.0000,0.0000,0.0000,0.0000,1.0000,0.0000
+0.0000,0.0000,0.0000,0.0314,0.9995,0.0000
+0.0000,0.0000,0.0000,0.0628,0.9980,0.0000
+0.0000,0.0000,0.0000,0.0941,0.9956,0.0000
+0.0000,0.0000,0.0000,0.1253,0.9921,0.0000
+0.0000,0.0000,0.0000,0.1564,0.9877,0.0000
+0.0000,0.0000,0.0000,0.1874,0.9823,0.0000
+0.0000,0.0000,0.0000,0.2181,0.9759,0.0000
+0.0000,0.0000,0.0000,0.2487,0.9686,0.0000
+0.0000,0.0000,0.0000,0.2790,0.9603,0.0000
+0.0000,0.0000,0.0000,0.3090,0.9511,0.0000
+0.0000,0.0000,0.0000,0.3387,0.9409,0.0000
+0.0000,0.0000,0.0000,0.3681,0.9298,0.0000
+0.0000,0.0000,0.0000,0.3971,0.9178,0.0000
+0.0000,0.0000,0.0000,0.4258,0.9048,0.0000
+0.0000,0.0000,0.0000,0.4540,0.8910,0.0000
+0.0000,0.0000,0.0000,0.4818,0.8763,0.0000
+0.0000,0.0000,0.0000,0.5090,0.8607,0.0000
+0.0000,0.0000,0.0000,0.5358,0.8443,0.0000
+0.0000,0.0000,0.0000,0.5621,0.8271,0.0000
+0.0000,0.0000,0.0000,0.5878,0.8090,0.0000
+0.0000,0.0000,0.0000,0.6129,0.7902,0.0000
+0.0000,0.0000,0.0000,0.6374,0.7705,0.0000
+0.0000,0.0000,0.0000,0.6613,0.7501,0.0000
+0.0000,0.0000,0.0000,0.6845,0.7290,0.0000
+0.0000,0.0000,0.0000,0.7071,0.7071,0.0000
+0.0000,0.0000,0.0000,0.7290,0.6845,0.0000
+0.0000,0.0000,0.0000,0.7501,0.6613,0.0000
+0.0000,0.0000,0.0000,0.7705,0.6374,0.0000
+0.0000,0.0000,0.0000,0.7902,0.6129,0.0000
+0.0000,0.0000,0.0000,0.8090,0.5878,0.0000
+0.0000,0.0000,0.0000,0.8271,0.5621,0.0000
+0.0000,0.0000,0.0000,0.8443,0.5358,0.0000
+0.0000,0.0000,0.0000,0.8607,0.5090,0.0000
+0.0000,0.0000,0.0000,0.8763,0.4818,0.0000
+0.0000,0.0000,0.0000,0.8910,0.4540,0.0000
+0.0000,0.0000,0.0000,0.9048,0.4258,0.0000
+0.0000,0.0000,0.0000,0.9178,0.3971,0.0000
+0.0000,0.0000,0.0000,0.9298,0.3681,0.0000
+0.0000,0.0000,0.0000,0.9409,0.3387,0.0000
+0.0000,0.0000,0.0000,0.9511,0.3090,0.0000
+0.0000,0.0000,0.0000,0.9603,0.2790,0.0000
+0.0000,0.0000,0.0000,0.9686,0.2487,0.0000
+0.0000,0.0000,0.0000,0.9759,0.2181,0.0000
+0.0000,0.0000,0.0000,0.9823,0.1874,0.0000
+0.0000,0.0000,0.0000,0.9877,0.1564,0.0000
+0.0000,0.0000,0.0000,0.9921,0.1253,0.0000
+0.0000,0.0000,0.0000,0.9956,0.0941,0.0000
+0.0000,0.0000,0.0000,0.9980,0.0628,0.0000
+0.0000,0.0000,0.0000,0.9995,0.0314,0.0000
+0.0000,0.0000,0.0000,1.0000,-0.0000,0.0000
diff --git a/scripts/trajectories/full-circle-4s-ccw-Vector3.csv b/scripts/trajectories/full-circle-4s-ccw-Vector3.csv
new file mode 100644
index 0000000000000000000000000000000000000000..37b2904ea4199014bf5647fa0196bf3975b13d55
--- /dev/null
+++ b/scripts/trajectories/full-circle-4s-ccw-Vector3.csv
@@ -0,0 +1,200 @@
+0.0000,0.0000,0.0000,0.9995,0.0314,0.0000
+0.0000,0.0000,0.0000,0.9980,0.0628,0.0000
+0.0000,0.0000,0.0000,0.9956,0.0941,0.0000
+0.0000,0.0000,0.0000,0.9921,0.1253,0.0000
+0.0000,0.0000,0.0000,0.9877,0.1564,0.0000
+0.0000,0.0000,0.0000,0.9823,0.1874,0.0000
+0.0000,0.0000,0.0000,0.9759,0.2181,0.0000
+0.0000,0.0000,0.0000,0.9686,0.2487,0.0000
+0.0000,0.0000,0.0000,0.9603,0.2790,0.0000
+0.0000,0.0000,0.0000,0.9511,0.3090,0.0000
+0.0000,0.0000,0.0000,0.9409,0.3387,0.0000
+0.0000,0.0000,0.0000,0.9298,0.3681,0.0000
+0.0000,0.0000,0.0000,0.9178,0.3971,0.0000
+0.0000,0.0000,0.0000,0.9048,0.4258,0.0000
+0.0000,0.0000,0.0000,0.8910,0.4540,0.0000
+0.0000,0.0000,0.0000,0.8763,0.4818,0.0000
+0.0000,0.0000,0.0000,0.8607,0.5090,0.0000
+0.0000,0.0000,0.0000,0.8443,0.5358,0.0000
+0.0000,0.0000,0.0000,0.8271,0.5621,0.0000
+0.0000,0.0000,0.0000,0.8090,0.5878,0.0000
+0.0000,0.0000,0.0000,0.7902,0.6129,0.0000
+0.0000,0.0000,0.0000,0.7705,0.6374,0.0000
+0.0000,0.0000,0.0000,0.7501,0.6613,0.0000
+0.0000,0.0000,0.0000,0.7290,0.6845,0.0000
+0.0000,0.0000,0.0000,0.7071,0.7071,0.0000
+0.0000,0.0000,0.0000,0.6845,0.7290,0.0000
+0.0000,0.0000,0.0000,0.6613,0.7501,0.0000
+0.0000,0.0000,0.0000,0.6374,0.7705,0.0000
+0.0000,0.0000,0.0000,0.6129,0.7902,0.0000
+0.0000,0.0000,0.0000,0.5878,0.8090,0.0000
+0.0000,0.0000,0.0000,0.5621,0.8271,0.0000
+0.0000,0.0000,0.0000,0.5358,0.8443,0.0000
+0.0000,0.0000,0.0000,0.5090,0.8607,0.0000
+0.0000,0.0000,0.0000,0.4818,0.8763,0.0000
+0.0000,0.0000,0.0000,0.4540,0.8910,0.0000
+0.0000,0.0000,0.0000,0.4258,0.9048,0.0000
+0.0000,0.0000,0.0000,0.3971,0.9178,0.0000
+0.0000,0.0000,0.0000,0.3681,0.9298,0.0000
+0.0000,0.0000,0.0000,0.3387,0.9409,0.0000
+0.0000,0.0000,0.0000,0.3090,0.9511,0.0000
+0.0000,0.0000,0.0000,0.2790,0.9603,0.0000
+0.0000,0.0000,0.0000,0.2487,0.9686,0.0000
+0.0000,0.0000,0.0000,0.2181,0.9759,0.0000
+0.0000,0.0000,0.0000,0.1874,0.9823,0.0000
+0.0000,0.0000,0.0000,0.1564,0.9877,0.0000
+0.0000,0.0000,0.0000,0.1253,0.9921,0.0000
+0.0000,0.0000,0.0000,0.0941,0.9956,0.0000
+0.0000,0.0000,0.0000,0.0628,0.9980,0.0000
+0.0000,0.0000,0.0000,0.0314,0.9995,0.0000
+0.0000,0.0000,0.0000,-0.0000,1.0000,0.0000
+0.0000,0.0000,0.0000,-0.0314,0.9995,0.0000
+0.0000,0.0000,0.0000,-0.0628,0.9980,0.0000
+0.0000,0.0000,0.0000,-0.0941,0.9956,0.0000
+0.0000,0.0000,0.0000,-0.1253,0.9921,0.0000
+0.0000,0.0000,0.0000,-0.1564,0.9877,0.0000
+0.0000,0.0000,0.0000,-0.1874,0.9823,0.0000
+0.0000,0.0000,0.0000,-0.2181,0.9759,0.0000
+0.0000,0.0000,0.0000,-0.2487,0.9686,0.0000
+0.0000,0.0000,0.0000,-0.2790,0.9603,0.0000
+0.0000,0.0000,0.0000,-0.3090,0.9511,0.0000
+0.0000,0.0000,0.0000,-0.3387,0.9409,0.0000
+0.0000,0.0000,0.0000,-0.3681,0.9298,0.0000
+0.0000,0.0000,0.0000,-0.3971,0.9178,0.0000
+0.0000,0.0000,0.0000,-0.4258,0.9048,0.0000
+0.0000,0.0000,0.0000,-0.4540,0.8910,0.0000
+0.0000,0.0000,0.0000,-0.4818,0.8763,0.0000
+0.0000,0.0000,0.0000,-0.5090,0.8607,0.0000
+0.0000,0.0000,0.0000,-0.5358,0.8443,0.0000
+0.0000,0.0000,0.0000,-0.5621,0.8271,0.0000
+0.0000,0.0000,0.0000,-0.5878,0.8090,0.0000
+0.0000,0.0000,0.0000,-0.6129,0.7902,0.0000
+0.0000,0.0000,0.0000,-0.6374,0.7705,0.0000
+0.0000,0.0000,0.0000,-0.6613,0.7501,0.0000
+0.0000,0.0000,0.0000,-0.6845,0.7290,0.0000
+0.0000,0.0000,0.0000,-0.7071,0.7071,0.0000
+0.0000,0.0000,0.0000,-0.7290,0.6845,0.0000
+0.0000,0.0000,0.0000,-0.7501,0.6613,0.0000
+0.0000,0.0000,0.0000,-0.7705,0.6374,0.0000
+0.0000,0.0000,0.0000,-0.7902,0.6129,0.0000
+0.0000,0.0000,0.0000,-0.8090,0.5878,0.0000
+0.0000,0.0000,0.0000,-0.8271,0.5621,0.0000
+0.0000,0.0000,0.0000,-0.8443,0.5358,0.0000
+0.0000,0.0000,0.0000,-0.8607,0.5090,0.0000
+0.0000,0.0000,0.0000,-0.8763,0.4818,0.0000
+0.0000,0.0000,0.0000,-0.8910,0.4540,0.0000
+0.0000,0.0000,0.0000,-0.9048,0.4258,0.0000
+0.0000,0.0000,0.0000,-0.9178,0.3971,0.0000
+0.0000,0.0000,0.0000,-0.9298,0.3681,0.0000
+0.0000,0.0000,0.0000,-0.9409,0.3387,0.0000
+0.0000,0.0000,0.0000,-0.9511,0.3090,0.0000
+0.0000,0.0000,0.0000,-0.9603,0.2790,0.0000
+0.0000,0.0000,0.0000,-0.9686,0.2487,0.0000
+0.0000,0.0000,0.0000,-0.9759,0.2181,0.0000
+0.0000,0.0000,0.0000,-0.9823,0.1874,0.0000
+0.0000,0.0000,0.0000,-0.9877,0.1564,0.0000
+0.0000,0.0000,0.0000,-0.9921,0.1253,0.0000
+0.0000,0.0000,0.0000,-0.9956,0.0941,0.0000
+0.0000,0.0000,0.0000,-0.9980,0.0628,0.0000
+0.0000,0.0000,0.0000,-0.9995,0.0314,0.0000
+0.0000,0.0000,0.0000,-1.0000,-0.0000,0.0000
+0.0000,0.0000,0.0000,-0.9995,-0.0314,0.0000
+0.0000,0.0000,0.0000,-0.9980,-0.0628,0.0000
+0.0000,0.0000,0.0000,-0.9956,-0.0941,0.0000
+0.0000,0.0000,0.0000,-0.9921,-0.1253,0.0000
+0.0000,0.0000,0.0000,-0.9877,-0.1564,0.0000
+0.0000,0.0000,0.0000,-0.9823,-0.1874,0.0000
+0.0000,0.0000,0.0000,-0.9759,-0.2181,0.0000
+0.0000,0.0000,0.0000,-0.9686,-0.2487,0.0000
+0.0000,0.0000,0.0000,-0.9603,-0.2790,0.0000
+0.0000,0.0000,0.0000,-0.9511,-0.3090,0.0000
+0.0000,0.0000,0.0000,-0.9409,-0.3387,0.0000
+0.0000,0.0000,0.0000,-0.9298,-0.3681,0.0000
+0.0000,0.0000,0.0000,-0.9178,-0.3971,0.0000
+0.0000,0.0000,0.0000,-0.9048,-0.4258,0.0000
+0.0000,0.0000,0.0000,-0.8910,-0.4540,0.0000
+0.0000,0.0000,0.0000,-0.8763,-0.4818,0.0000
+0.0000,0.0000,0.0000,-0.8607,-0.5090,0.0000
+0.0000,0.0000,0.0000,-0.8443,-0.5358,0.0000
+0.0000,0.0000,0.0000,-0.8271,-0.5621,0.0000
+0.0000,0.0000,0.0000,-0.8090,-0.5878,0.0000
+0.0000,0.0000,0.0000,-0.7902,-0.6129,0.0000
+0.0000,0.0000,0.0000,-0.7705,-0.6374,0.0000
+0.0000,0.0000,0.0000,-0.7501,-0.6613,0.0000
+0.0000,0.0000,0.0000,-0.7290,-0.6845,0.0000
+0.0000,0.0000,0.0000,-0.7071,-0.7071,0.0000
+0.0000,0.0000,0.0000,-0.6845,-0.7290,0.0000
+0.0000,0.0000,0.0000,-0.6613,-0.7501,0.0000
+0.0000,0.0000,0.0000,-0.6374,-0.7705,0.0000
+0.0000,0.0000,0.0000,-0.6129,-0.7902,0.0000
+0.0000,0.0000,0.0000,-0.5878,-0.8090,0.0000
+0.0000,0.0000,0.0000,-0.5621,-0.8271,0.0000
+0.0000,0.0000,0.0000,-0.5358,-0.8443,0.0000
+0.0000,0.0000,0.0000,-0.5090,-0.8607,0.0000
+0.0000,0.0000,0.0000,-0.4818,-0.8763,0.0000
+0.0000,0.0000,0.0000,-0.4540,-0.8910,0.0000
+0.0000,0.0000,0.0000,-0.4258,-0.9048,0.0000
+0.0000,0.0000,0.0000,-0.3971,-0.9178,0.0000
+0.0000,0.0000,0.0000,-0.3681,-0.9298,0.0000
+0.0000,0.0000,0.0000,-0.3387,-0.9409,0.0000
+0.0000,0.0000,0.0000,-0.3090,-0.9511,0.0000
+0.0000,0.0000,0.0000,-0.2790,-0.9603,0.0000
+0.0000,0.0000,0.0000,-0.2487,-0.9686,0.0000
+0.0000,0.0000,0.0000,-0.2181,-0.9759,0.0000
+0.0000,0.0000,0.0000,-0.1874,-0.9823,0.0000
+0.0000,0.0000,0.0000,-0.1564,-0.9877,0.0000
+0.0000,0.0000,0.0000,-0.1253,-0.9921,0.0000
+0.0000,0.0000,0.0000,-0.0941,-0.9956,0.0000
+0.0000,0.0000,0.0000,-0.0628,-0.9980,0.0000
+0.0000,0.0000,0.0000,-0.0314,-0.9995,0.0000
+0.0000,0.0000,0.0000,0.0000,-1.0000,0.0000
+0.0000,0.0000,0.0000,0.0314,-0.9995,0.0000
+0.0000,0.0000,0.0000,0.0628,-0.9980,0.0000
+0.0000,0.0000,0.0000,0.0941,-0.9956,0.0000
+0.0000,0.0000,0.0000,0.1253,-0.9921,0.0000
+0.0000,0.0000,0.0000,0.1564,-0.9877,0.0000
+0.0000,0.0000,0.0000,0.1874,-0.9823,0.0000
+0.0000,0.0000,0.0000,0.2181,-0.9759,0.0000
+0.0000,0.0000,0.0000,0.2487,-0.9686,0.0000
+0.0000,0.0000,0.0000,0.2790,-0.9603,0.0000
+0.0000,0.0000,0.0000,0.3090,-0.9511,0.0000
+0.0000,0.0000,0.0000,0.3387,-0.9409,0.0000
+0.0000,0.0000,0.0000,0.3681,-0.9298,0.0000
+0.0000,0.0000,0.0000,0.3971,-0.9178,0.0000
+0.0000,0.0000,0.0000,0.4258,-0.9048,0.0000
+0.0000,0.0000,0.0000,0.4540,-0.8910,0.0000
+0.0000,0.0000,0.0000,0.4818,-0.8763,0.0000
+0.0000,0.0000,0.0000,0.5090,-0.8607,0.0000
+0.0000,0.0000,0.0000,0.5358,-0.8443,0.0000
+0.0000,0.0000,0.0000,0.5621,-0.8271,0.0000
+0.0000,0.0000,0.0000,0.5878,-0.8090,0.0000
+0.0000,0.0000,0.0000,0.6129,-0.7902,0.0000
+0.0000,0.0000,0.0000,0.6374,-0.7705,0.0000
+0.0000,0.0000,0.0000,0.6613,-0.7501,0.0000
+0.0000,0.0000,0.0000,0.6845,-0.7290,0.0000
+0.0000,0.0000,0.0000,0.7071,-0.7071,0.0000
+0.0000,0.0000,0.0000,0.7290,-0.6845,0.0000
+0.0000,0.0000,0.0000,0.7501,-0.6613,0.0000
+0.0000,0.0000,0.0000,0.7705,-0.6374,0.0000
+0.0000,0.0000,0.0000,0.7902,-0.6129,0.0000
+0.0000,0.0000,0.0000,0.8090,-0.5878,0.0000
+0.0000,0.0000,0.0000,0.8271,-0.5621,0.0000
+0.0000,0.0000,0.0000,0.8443,-0.5358,0.0000
+0.0000,0.0000,0.0000,0.8607,-0.5090,0.0000
+0.0000,0.0000,0.0000,0.8763,-0.4818,0.0000
+0.0000,0.0000,0.0000,0.8910,-0.4540,0.0000
+0.0000,0.0000,0.0000,0.9048,-0.4258,0.0000
+0.0000,0.0000,0.0000,0.9178,-0.3971,0.0000
+0.0000,0.0000,0.0000,0.9298,-0.3681,0.0000
+0.0000,0.0000,0.0000,0.9409,-0.3387,0.0000
+0.0000,0.0000,0.0000,0.9511,-0.3090,0.0000
+0.0000,0.0000,0.0000,0.9603,-0.2790,0.0000
+0.0000,0.0000,0.0000,0.9686,-0.2487,0.0000
+0.0000,0.0000,0.0000,0.9759,-0.2181,0.0000
+0.0000,0.0000,0.0000,0.9823,-0.1874,0.0000
+0.0000,0.0000,0.0000,0.9877,-0.1564,0.0000
+0.0000,0.0000,0.0000,0.9921,-0.1253,0.0000
+0.0000,0.0000,0.0000,0.9956,-0.0941,0.0000
+0.0000,0.0000,0.0000,0.9980,-0.0628,0.0000
+0.0000,0.0000,0.0000,0.9995,-0.0314,0.0000
+0.0000,0.0000,0.0000,1.0000,0.0000,0.0000
diff --git a/scripts/trajectories/full-circle-4s-ccw.csv b/scripts/trajectories/full-circle-4s-ccw.csv
new file mode 100644
index 0000000000000000000000000000000000000000..13eeae28e126750542c3fc6583d05e4a30575f42
--- /dev/null
+++ b/scripts/trajectories/full-circle-4s-ccw.csv
@@ -0,0 +1,800 @@
+0.9999,0.0000,0.0000,0.0157
+0.9999,0.0000,0.0000,0.0157
+0.9999,0.0000,0.0000,0.0157
+0.9999,0.0000,0.0000,0.0157
+0.9995,0.0000,0.0000,0.0314
+0.9995,0.0000,0.0000,0.0314
+0.9995,0.0000,0.0000,0.0314
+0.9995,0.0000,0.0000,0.0314
+0.9989,0.0000,0.0000,0.0471
+0.9989,0.0000,0.0000,0.0471
+0.9989,0.0000,0.0000,0.0471
+0.9989,0.0000,0.0000,0.0471
+0.9980,0.0000,0.0000,0.0628
+0.9980,0.0000,0.0000,0.0628
+0.9980,0.0000,0.0000,0.0628
+0.9980,0.0000,0.0000,0.0628
+0.9969,0.0000,0.0000,0.0785
+0.9969,0.0000,0.0000,0.0785
+0.9969,0.0000,0.0000,0.0785
+0.9969,0.0000,0.0000,0.0785
+0.9956,0.0000,0.0000,0.0941
+0.9956,0.0000,0.0000,0.0941
+0.9956,0.0000,0.0000,0.0941
+0.9956,0.0000,0.0000,0.0941
+0.9940,0.0000,0.0000,0.1097
+0.9940,0.0000,0.0000,0.1097
+0.9940,0.0000,0.0000,0.1097
+0.9940,0.0000,0.0000,0.1097
+0.9921,0.0000,0.0000,0.1253
+0.9921,0.0000,0.0000,0.1253
+0.9921,0.0000,0.0000,0.1253
+0.9921,0.0000,0.0000,0.1253
+0.9900,0.0000,0.0000,0.1409
+0.9900,0.0000,0.0000,0.1409
+0.9900,0.0000,0.0000,0.1409
+0.9900,0.0000,0.0000,0.1409
+0.9877,0.0000,0.0000,0.1564
+0.9877,0.0000,0.0000,0.1564
+0.9877,0.0000,0.0000,0.1564
+0.9877,0.0000,0.0000,0.1564
+0.9851,0.0000,0.0000,0.1719
+0.9851,0.0000,0.0000,0.1719
+0.9851,0.0000,0.0000,0.1719
+0.9851,0.0000,0.0000,0.1719
+0.9823,0.0000,0.0000,0.1874
+0.9823,0.0000,0.0000,0.1874
+0.9823,0.0000,0.0000,0.1874
+0.9823,0.0000,0.0000,0.1874
+0.9792,0.0000,0.0000,0.2028
+0.9792,0.0000,0.0000,0.2028
+0.9792,0.0000,0.0000,0.2028
+0.9792,0.0000,0.0000,0.2028
+0.9759,0.0000,0.0000,0.2181
+0.9759,0.0000,0.0000,0.2181
+0.9759,0.0000,0.0000,0.2181
+0.9759,0.0000,0.0000,0.2181
+0.9724,0.0000,0.0000,0.2334
+0.9724,0.0000,0.0000,0.2334
+0.9724,0.0000,0.0000,0.2334
+0.9724,0.0000,0.0000,0.2334
+0.9686,0.0000,0.0000,0.2487
+0.9686,0.0000,0.0000,0.2487
+0.9686,0.0000,0.0000,0.2487
+0.9686,0.0000,0.0000,0.2487
+0.9646,0.0000,0.0000,0.2639
+0.9646,0.0000,0.0000,0.2639
+0.9646,0.0000,0.0000,0.2639
+0.9646,0.0000,0.0000,0.2639
+0.9603,0.0000,0.0000,0.2790
+0.9603,0.0000,0.0000,0.2790
+0.9603,0.0000,0.0000,0.2790
+0.9603,0.0000,0.0000,0.2790
+0.9558,0.0000,0.0000,0.2940
+0.9558,0.0000,0.0000,0.2940
+0.9558,0.0000,0.0000,0.2940
+0.9558,0.0000,0.0000,0.2940
+0.9511,0.0000,0.0000,0.3090
+0.9511,0.0000,0.0000,0.3090
+0.9511,0.0000,0.0000,0.3090
+0.9511,0.0000,0.0000,0.3090
+0.9461,0.0000,0.0000,0.3239
+0.9461,0.0000,0.0000,0.3239
+0.9461,0.0000,0.0000,0.3239
+0.9461,0.0000,0.0000,0.3239
+0.9409,0.0000,0.0000,0.3387
+0.9409,0.0000,0.0000,0.3387
+0.9409,0.0000,0.0000,0.3387
+0.9409,0.0000,0.0000,0.3387
+0.9354,0.0000,0.0000,0.3535
+0.9354,0.0000,0.0000,0.3535
+0.9354,0.0000,0.0000,0.3535
+0.9354,0.0000,0.0000,0.3535
+0.9298,0.0000,0.0000,0.3681
+0.9298,0.0000,0.0000,0.3681
+0.9298,0.0000,0.0000,0.3681
+0.9298,0.0000,0.0000,0.3681
+0.9239,0.0000,0.0000,0.3827
+0.9239,0.0000,0.0000,0.3827
+0.9239,0.0000,0.0000,0.3827
+0.9239,0.0000,0.0000,0.3827
+0.9178,0.0000,0.0000,0.3971
+0.9178,0.0000,0.0000,0.3971
+0.9178,0.0000,0.0000,0.3971
+0.9178,0.0000,0.0000,0.3971
+0.9114,0.0000,0.0000,0.4115
+0.9114,0.0000,0.0000,0.4115
+0.9114,0.0000,0.0000,0.4115
+0.9114,0.0000,0.0000,0.4115
+0.9048,0.0000,0.0000,0.4258
+0.9048,0.0000,0.0000,0.4258
+0.9048,0.0000,0.0000,0.4258
+0.9048,0.0000,0.0000,0.4258
+0.8980,0.0000,0.0000,0.4399
+0.8980,0.0000,0.0000,0.4399
+0.8980,0.0000,0.0000,0.4399
+0.8980,0.0000,0.0000,0.4399
+0.8910,0.0000,0.0000,0.4540
+0.8910,0.0000,0.0000,0.4540
+0.8910,0.0000,0.0000,0.4540
+0.8910,0.0000,0.0000,0.4540
+0.8838,0.0000,0.0000,0.4679
+0.8838,0.0000,0.0000,0.4679
+0.8838,0.0000,0.0000,0.4679
+0.8838,0.0000,0.0000,0.4679
+0.8763,0.0000,0.0000,0.4818
+0.8763,0.0000,0.0000,0.4818
+0.8763,0.0000,0.0000,0.4818
+0.8763,0.0000,0.0000,0.4818
+0.8686,0.0000,0.0000,0.4955
+0.8686,0.0000,0.0000,0.4955
+0.8686,0.0000,0.0000,0.4955
+0.8686,0.0000,0.0000,0.4955
+0.8607,0.0000,0.0000,0.5090
+0.8607,0.0000,0.0000,0.5090
+0.8607,0.0000,0.0000,0.5090
+0.8607,0.0000,0.0000,0.5090
+0.8526,0.0000,0.0000,0.5225
+0.8526,0.0000,0.0000,0.5225
+0.8526,0.0000,0.0000,0.5225
+0.8526,0.0000,0.0000,0.5225
+0.8443,0.0000,0.0000,0.5358
+0.8443,0.0000,0.0000,0.5358
+0.8443,0.0000,0.0000,0.5358
+0.8443,0.0000,0.0000,0.5358
+0.8358,0.0000,0.0000,0.5490
+0.8358,0.0000,0.0000,0.5490
+0.8358,0.0000,0.0000,0.5490
+0.8358,0.0000,0.0000,0.5490
+0.8271,0.0000,0.0000,0.5621
+0.8271,0.0000,0.0000,0.5621
+0.8271,0.0000,0.0000,0.5621
+0.8271,0.0000,0.0000,0.5621
+0.8181,0.0000,0.0000,0.5750
+0.8181,0.0000,0.0000,0.5750
+0.8181,0.0000,0.0000,0.5750
+0.8181,0.0000,0.0000,0.5750
+0.8090,0.0000,0.0000,0.5878
+0.8090,0.0000,0.0000,0.5878
+0.8090,0.0000,0.0000,0.5878
+0.8090,0.0000,0.0000,0.5878
+0.7997,0.0000,0.0000,0.6004
+0.7997,0.0000,0.0000,0.6004
+0.7997,0.0000,0.0000,0.6004
+0.7997,0.0000,0.0000,0.6004
+0.7902,0.0000,0.0000,0.6129
+0.7902,0.0000,0.0000,0.6129
+0.7902,0.0000,0.0000,0.6129
+0.7902,0.0000,0.0000,0.6129
+0.7804,0.0000,0.0000,0.6252
+0.7804,0.0000,0.0000,0.6252
+0.7804,0.0000,0.0000,0.6252
+0.7804,0.0000,0.0000,0.6252
+0.7705,0.0000,0.0000,0.6374
+0.7705,0.0000,0.0000,0.6374
+0.7705,0.0000,0.0000,0.6374
+0.7705,0.0000,0.0000,0.6374
+0.7604,0.0000,0.0000,0.6494
+0.7604,0.0000,0.0000,0.6494
+0.7604,0.0000,0.0000,0.6494
+0.7604,0.0000,0.0000,0.6494
+0.7501,0.0000,0.0000,0.6613
+0.7501,0.0000,0.0000,0.6613
+0.7501,0.0000,0.0000,0.6613
+0.7501,0.0000,0.0000,0.6613
+0.7396,0.0000,0.0000,0.6730
+0.7396,0.0000,0.0000,0.6730
+0.7396,0.0000,0.0000,0.6730
+0.7396,0.0000,0.0000,0.6730
+0.7290,0.0000,0.0000,0.6845
+0.7290,0.0000,0.0000,0.6845
+0.7290,0.0000,0.0000,0.6845
+0.7290,0.0000,0.0000,0.6845
+0.7181,0.0000,0.0000,0.6959
+0.7181,0.0000,0.0000,0.6959
+0.7181,0.0000,0.0000,0.6959
+0.7181,0.0000,0.0000,0.6959
+0.7071,0.0000,0.0000,0.7071
+0.7071,0.0000,0.0000,0.7071
+0.7071,0.0000,0.0000,0.7071
+0.7071,0.0000,0.0000,0.7071
+0.6959,0.0000,0.0000,0.7181
+0.6959,0.0000,0.0000,0.7181
+0.6959,0.0000,0.0000,0.7181
+0.6959,0.0000,0.0000,0.7181
+0.6845,0.0000,0.0000,0.7290
+0.6845,0.0000,0.0000,0.7290
+0.6845,0.0000,0.0000,0.7290
+0.6845,0.0000,0.0000,0.7290
+0.6730,0.0000,0.0000,0.7396
+0.6730,0.0000,0.0000,0.7396
+0.6730,0.0000,0.0000,0.7396
+0.6730,0.0000,0.0000,0.7396
+0.6613,0.0000,0.0000,0.7501
+0.6613,0.0000,0.0000,0.7501
+0.6613,0.0000,0.0000,0.7501
+0.6613,0.0000,0.0000,0.7501
+0.6494,0.0000,0.0000,0.7604
+0.6494,0.0000,0.0000,0.7604
+0.6494,0.0000,0.0000,0.7604
+0.6494,0.0000,0.0000,0.7604
+0.6374,0.0000,0.0000,0.7705
+0.6374,0.0000,0.0000,0.7705
+0.6374,0.0000,0.0000,0.7705
+0.6374,0.0000,0.0000,0.7705
+0.6252,0.0000,0.0000,0.7804
+0.6252,0.0000,0.0000,0.7804
+0.6252,0.0000,0.0000,0.7804
+0.6252,0.0000,0.0000,0.7804
+0.6129,0.0000,0.0000,0.7902
+0.6129,0.0000,0.0000,0.7902
+0.6129,0.0000,0.0000,0.7902
+0.6129,0.0000,0.0000,0.7902
+0.6004,0.0000,0.0000,0.7997
+0.6004,0.0000,0.0000,0.7997
+0.6004,0.0000,0.0000,0.7997
+0.6004,0.0000,0.0000,0.7997
+0.5878,0.0000,0.0000,0.8090
+0.5878,0.0000,0.0000,0.8090
+0.5878,0.0000,0.0000,0.8090
+0.5878,0.0000,0.0000,0.8090
+0.5750,0.0000,0.0000,0.8181
+0.5750,0.0000,0.0000,0.8181
+0.5750,0.0000,0.0000,0.8181
+0.5750,0.0000,0.0000,0.8181
+0.5621,0.0000,0.0000,0.8271
+0.5621,0.0000,0.0000,0.8271
+0.5621,0.0000,0.0000,0.8271
+0.5621,0.0000,0.0000,0.8271
+0.5490,0.0000,0.0000,0.8358
+0.5490,0.0000,0.0000,0.8358
+0.5490,0.0000,0.0000,0.8358
+0.5490,0.0000,0.0000,0.8358
+0.5358,0.0000,0.0000,0.8443
+0.5358,0.0000,0.0000,0.8443
+0.5358,0.0000,0.0000,0.8443
+0.5358,0.0000,0.0000,0.8443
+0.5225,0.0000,0.0000,0.8526
+0.5225,0.0000,0.0000,0.8526
+0.5225,0.0000,0.0000,0.8526
+0.5225,0.0000,0.0000,0.8526
+0.5090,0.0000,0.0000,0.8607
+0.5090,0.0000,0.0000,0.8607
+0.5090,0.0000,0.0000,0.8607
+0.5090,0.0000,0.0000,0.8607
+0.4955,0.0000,0.0000,0.8686
+0.4955,0.0000,0.0000,0.8686
+0.4955,0.0000,0.0000,0.8686
+0.4955,0.0000,0.0000,0.8686
+0.4818,0.0000,0.0000,0.8763
+0.4818,0.0000,0.0000,0.8763
+0.4818,0.0000,0.0000,0.8763
+0.4818,0.0000,0.0000,0.8763
+0.4679,0.0000,0.0000,0.8838
+0.4679,0.0000,0.0000,0.8838
+0.4679,0.0000,0.0000,0.8838
+0.4679,0.0000,0.0000,0.8838
+0.4540,0.0000,0.0000,0.8910
+0.4540,0.0000,0.0000,0.8910
+0.4540,0.0000,0.0000,0.8910
+0.4540,0.0000,0.0000,0.8910
+0.4399,0.0000,0.0000,0.8980
+0.4399,0.0000,0.0000,0.8980
+0.4399,0.0000,0.0000,0.8980
+0.4399,0.0000,0.0000,0.8980
+0.4258,0.0000,0.0000,0.9048
+0.4258,0.0000,0.0000,0.9048
+0.4258,0.0000,0.0000,0.9048
+0.4258,0.0000,0.0000,0.9048
+0.4115,0.0000,0.0000,0.9114
+0.4115,0.0000,0.0000,0.9114
+0.4115,0.0000,0.0000,0.9114
+0.4115,0.0000,0.0000,0.9114
+0.3971,0.0000,0.0000,0.9178
+0.3971,0.0000,0.0000,0.9178
+0.3971,0.0000,0.0000,0.9178
+0.3971,0.0000,0.0000,0.9178
+0.3827,0.0000,0.0000,0.9239
+0.3827,0.0000,0.0000,0.9239
+0.3827,0.0000,0.0000,0.9239
+0.3827,0.0000,0.0000,0.9239
+0.3681,0.0000,0.0000,0.9298
+0.3681,0.0000,0.0000,0.9298
+0.3681,0.0000,0.0000,0.9298
+0.3681,0.0000,0.0000,0.9298
+0.3535,0.0000,0.0000,0.9354
+0.3535,0.0000,0.0000,0.9354
+0.3535,0.0000,0.0000,0.9354
+0.3535,0.0000,0.0000,0.9354
+0.3387,0.0000,0.0000,0.9409
+0.3387,0.0000,0.0000,0.9409
+0.3387,0.0000,0.0000,0.9409
+0.3387,0.0000,0.0000,0.9409
+0.3239,0.0000,0.0000,0.9461
+0.3239,0.0000,0.0000,0.9461
+0.3239,0.0000,0.0000,0.9461
+0.3239,0.0000,0.0000,0.9461
+0.3090,0.0000,0.0000,0.9511
+0.3090,0.0000,0.0000,0.9511
+0.3090,0.0000,0.0000,0.9511
+0.3090,0.0000,0.0000,0.9511
+0.2940,0.0000,0.0000,0.9558
+0.2940,0.0000,0.0000,0.9558
+0.2940,0.0000,0.0000,0.9558
+0.2940,0.0000,0.0000,0.9558
+0.2790,0.0000,0.0000,0.9603
+0.2790,0.0000,0.0000,0.9603
+0.2790,0.0000,0.0000,0.9603
+0.2790,0.0000,0.0000,0.9603
+0.2639,0.0000,0.0000,0.9646
+0.2639,0.0000,0.0000,0.9646
+0.2639,0.0000,0.0000,0.9646
+0.2639,0.0000,0.0000,0.9646
+0.2487,0.0000,0.0000,0.9686
+0.2487,0.0000,0.0000,0.9686
+0.2487,0.0000,0.0000,0.9686
+0.2487,0.0000,0.0000,0.9686
+0.2334,0.0000,0.0000,0.9724
+0.2334,0.0000,0.0000,0.9724
+0.2334,0.0000,0.0000,0.9724
+0.2334,0.0000,0.0000,0.9724
+0.2181,0.0000,0.0000,0.9759
+0.2181,0.0000,0.0000,0.9759
+0.2181,0.0000,0.0000,0.9759
+0.2181,0.0000,0.0000,0.9759
+0.2028,0.0000,0.0000,0.9792
+0.2028,0.0000,0.0000,0.9792
+0.2028,0.0000,0.0000,0.9792
+0.2028,0.0000,0.0000,0.9792
+0.1874,0.0000,0.0000,0.9823
+0.1874,0.0000,0.0000,0.9823
+0.1874,0.0000,0.0000,0.9823
+0.1874,0.0000,0.0000,0.9823
+0.1719,0.0000,0.0000,0.9851
+0.1719,0.0000,0.0000,0.9851
+0.1719,0.0000,0.0000,0.9851
+0.1719,0.0000,0.0000,0.9851
+0.1564,0.0000,0.0000,0.9877
+0.1564,0.0000,0.0000,0.9877
+0.1564,0.0000,0.0000,0.9877
+0.1564,0.0000,0.0000,0.9877
+0.1409,0.0000,0.0000,0.9900
+0.1409,0.0000,0.0000,0.9900
+0.1409,0.0000,0.0000,0.9900
+0.1409,0.0000,0.0000,0.9900
+0.1253,0.0000,0.0000,0.9921
+0.1253,0.0000,0.0000,0.9921
+0.1253,0.0000,0.0000,0.9921
+0.1253,0.0000,0.0000,0.9921
+0.1097,0.0000,0.0000,0.9940
+0.1097,0.0000,0.0000,0.9940
+0.1097,0.0000,0.0000,0.9940
+0.1097,0.0000,0.0000,0.9940
+0.0941,0.0000,0.0000,0.9956
+0.0941,0.0000,0.0000,0.9956
+0.0941,0.0000,0.0000,0.9956
+0.0941,0.0000,0.0000,0.9956
+0.0785,0.0000,0.0000,0.9969
+0.0785,0.0000,0.0000,0.9969
+0.0785,0.0000,0.0000,0.9969
+0.0785,0.0000,0.0000,0.9969
+0.0628,0.0000,0.0000,0.9980
+0.0628,0.0000,0.0000,0.9980
+0.0628,0.0000,0.0000,0.9980
+0.0628,0.0000,0.0000,0.9980
+0.0471,0.0000,0.0000,0.9989
+0.0471,0.0000,0.0000,0.9989
+0.0471,0.0000,0.0000,0.9989
+0.0471,0.0000,0.0000,0.9989
+0.0314,0.0000,0.0000,0.9995
+0.0314,0.0000,0.0000,0.9995
+0.0314,0.0000,0.0000,0.9995
+0.0314,0.0000,0.0000,0.9995
+0.0157,0.0000,0.0000,0.9999
+0.0157,0.0000,0.0000,0.9999
+0.0157,0.0000,0.0000,0.9999
+0.0157,0.0000,0.0000,0.9999
+-0.0000,0.0000,0.0000,1.0000
+-0.0000,0.0000,0.0000,1.0000
+-0.0000,0.0000,0.0000,1.0000
+-0.0000,0.0000,0.0000,1.0000
+-0.0157,0.0000,0.0000,0.9999
+-0.0157,0.0000,0.0000,0.9999
+-0.0157,0.0000,0.0000,0.9999
+-0.0157,0.0000,0.0000,0.9999
+-0.0314,0.0000,0.0000,0.9995
+-0.0314,0.0000,0.0000,0.9995
+-0.0314,0.0000,0.0000,0.9995
+-0.0314,0.0000,0.0000,0.9995
+-0.0471,0.0000,0.0000,0.9989
+-0.0471,0.0000,0.0000,0.9989
+-0.0471,0.0000,0.0000,0.9989
+-0.0471,0.0000,0.0000,0.9989
+-0.0628,0.0000,0.0000,0.9980
+-0.0628,0.0000,0.0000,0.9980
+-0.0628,0.0000,0.0000,0.9980
+-0.0628,0.0000,0.0000,0.9980
+-0.0785,0.0000,0.0000,0.9969
+-0.0785,0.0000,0.0000,0.9969
+-0.0785,0.0000,0.0000,0.9969
+-0.0785,0.0000,0.0000,0.9969
+-0.0941,0.0000,0.0000,0.9956
+-0.0941,0.0000,0.0000,0.9956
+-0.0941,0.0000,0.0000,0.9956
+-0.0941,0.0000,0.0000,0.9956
+-0.1097,0.0000,0.0000,0.9940
+-0.1097,0.0000,0.0000,0.9940
+-0.1097,0.0000,0.0000,0.9940
+-0.1097,0.0000,0.0000,0.9940
+-0.1253,0.0000,0.0000,0.9921
+-0.1253,0.0000,0.0000,0.9921
+-0.1253,0.0000,0.0000,0.9921
+-0.1253,0.0000,0.0000,0.9921
+-0.1409,0.0000,0.0000,0.9900
+-0.1409,0.0000,0.0000,0.9900
+-0.1409,0.0000,0.0000,0.9900
+-0.1409,0.0000,0.0000,0.9900
+-0.1564,0.0000,0.0000,0.9877
+-0.1564,0.0000,0.0000,0.9877
+-0.1564,0.0000,0.0000,0.9877
+-0.1564,0.0000,0.0000,0.9877
+-0.1719,0.0000,0.0000,0.9851
+-0.1719,0.0000,0.0000,0.9851
+-0.1719,0.0000,0.0000,0.9851
+-0.1719,0.0000,0.0000,0.9851
+-0.1874,0.0000,0.0000,0.9823
+-0.1874,0.0000,0.0000,0.9823
+-0.1874,0.0000,0.0000,0.9823
+-0.1874,0.0000,0.0000,0.9823
+-0.2028,0.0000,0.0000,0.9792
+-0.2028,0.0000,0.0000,0.9792
+-0.2028,0.0000,0.0000,0.9792
+-0.2028,0.0000,0.0000,0.9792
+-0.2181,0.0000,0.0000,0.9759
+-0.2181,0.0000,0.0000,0.9759
+-0.2181,0.0000,0.0000,0.9759
+-0.2181,0.0000,0.0000,0.9759
+-0.2334,0.0000,0.0000,0.9724
+-0.2334,0.0000,0.0000,0.9724
+-0.2334,0.0000,0.0000,0.9724
+-0.2334,0.0000,0.0000,0.9724
+-0.2487,0.0000,0.0000,0.9686
+-0.2487,0.0000,0.0000,0.9686
+-0.2487,0.0000,0.0000,0.9686
+-0.2487,0.0000,0.0000,0.9686
+-0.2639,0.0000,0.0000,0.9646
+-0.2639,0.0000,0.0000,0.9646
+-0.2639,0.0000,0.0000,0.9646
+-0.2639,0.0000,0.0000,0.9646
+-0.2790,0.0000,0.0000,0.9603
+-0.2790,0.0000,0.0000,0.9603
+-0.2790,0.0000,0.0000,0.9603
+-0.2790,0.0000,0.0000,0.9603
+-0.2940,0.0000,0.0000,0.9558
+-0.2940,0.0000,0.0000,0.9558
+-0.2940,0.0000,0.0000,0.9558
+-0.2940,0.0000,0.0000,0.9558
+-0.3090,0.0000,0.0000,0.9511
+-0.3090,0.0000,0.0000,0.9511
+-0.3090,0.0000,0.0000,0.9511
+-0.3090,0.0000,0.0000,0.9511
+-0.3239,0.0000,0.0000,0.9461
+-0.3239,0.0000,0.0000,0.9461
+-0.3239,0.0000,0.0000,0.9461
+-0.3239,0.0000,0.0000,0.9461
+-0.3387,0.0000,0.0000,0.9409
+-0.3387,0.0000,0.0000,0.9409
+-0.3387,0.0000,0.0000,0.9409
+-0.3387,0.0000,0.0000,0.9409
+-0.3535,0.0000,0.0000,0.9354
+-0.3535,0.0000,0.0000,0.9354
+-0.3535,0.0000,0.0000,0.9354
+-0.3535,0.0000,0.0000,0.9354
+-0.3681,0.0000,0.0000,0.9298
+-0.3681,0.0000,0.0000,0.9298
+-0.3681,0.0000,0.0000,0.9298
+-0.3681,0.0000,0.0000,0.9298
+-0.3827,0.0000,0.0000,0.9239
+-0.3827,0.0000,0.0000,0.9239
+-0.3827,0.0000,0.0000,0.9239
+-0.3827,0.0000,0.0000,0.9239
+-0.3971,0.0000,0.0000,0.9178
+-0.3971,0.0000,0.0000,0.9178
+-0.3971,0.0000,0.0000,0.9178
+-0.3971,0.0000,0.0000,0.9178
+-0.4115,0.0000,0.0000,0.9114
+-0.4115,0.0000,0.0000,0.9114
+-0.4115,0.0000,0.0000,0.9114
+-0.4115,0.0000,0.0000,0.9114
+-0.4258,0.0000,0.0000,0.9048
+-0.4258,0.0000,0.0000,0.9048
+-0.4258,0.0000,0.0000,0.9048
+-0.4258,0.0000,0.0000,0.9048
+-0.4399,0.0000,0.0000,0.8980
+-0.4399,0.0000,0.0000,0.8980
+-0.4399,0.0000,0.0000,0.8980
+-0.4399,0.0000,0.0000,0.8980
+-0.4540,0.0000,0.0000,0.8910
+-0.4540,0.0000,0.0000,0.8910
+-0.4540,0.0000,0.0000,0.8910
+-0.4540,0.0000,0.0000,0.8910
+-0.4679,0.0000,0.0000,0.8838
+-0.4679,0.0000,0.0000,0.8838
+-0.4679,0.0000,0.0000,0.8838
+-0.4679,0.0000,0.0000,0.8838
+-0.4818,0.0000,0.0000,0.8763
+-0.4818,0.0000,0.0000,0.8763
+-0.4818,0.0000,0.0000,0.8763
+-0.4818,0.0000,0.0000,0.8763
+-0.4955,0.0000,0.0000,0.8686
+-0.4955,0.0000,0.0000,0.8686
+-0.4955,0.0000,0.0000,0.8686
+-0.4955,0.0000,0.0000,0.8686
+-0.5090,0.0000,0.0000,0.8607
+-0.5090,0.0000,0.0000,0.8607
+-0.5090,0.0000,0.0000,0.8607
+-0.5090,0.0000,0.0000,0.8607
+-0.5225,0.0000,0.0000,0.8526
+-0.5225,0.0000,0.0000,0.8526
+-0.5225,0.0000,0.0000,0.8526
+-0.5225,0.0000,0.0000,0.8526
+-0.5358,0.0000,0.0000,0.8443
+-0.5358,0.0000,0.0000,0.8443
+-0.5358,0.0000,0.0000,0.8443
+-0.5358,0.0000,0.0000,0.8443
+-0.5490,0.0000,0.0000,0.8358
+-0.5490,0.0000,0.0000,0.8358
+-0.5490,0.0000,0.0000,0.8358
+-0.5490,0.0000,0.0000,0.8358
+-0.5621,0.0000,0.0000,0.8271
+-0.5621,0.0000,0.0000,0.8271
+-0.5621,0.0000,0.0000,0.8271
+-0.5621,0.0000,0.0000,0.8271
+-0.5750,0.0000,0.0000,0.8181
+-0.5750,0.0000,0.0000,0.8181
+-0.5750,0.0000,0.0000,0.8181
+-0.5750,0.0000,0.0000,0.8181
+-0.5878,0.0000,0.0000,0.8090
+-0.5878,0.0000,0.0000,0.8090
+-0.5878,0.0000,0.0000,0.8090
+-0.5878,0.0000,0.0000,0.8090
+-0.6004,0.0000,0.0000,0.7997
+-0.6004,0.0000,0.0000,0.7997
+-0.6004,0.0000,0.0000,0.7997
+-0.6004,0.0000,0.0000,0.7997
+-0.6129,0.0000,0.0000,0.7902
+-0.6129,0.0000,0.0000,0.7902
+-0.6129,0.0000,0.0000,0.7902
+-0.6129,0.0000,0.0000,0.7902
+-0.6252,0.0000,0.0000,0.7804
+-0.6252,0.0000,0.0000,0.7804
+-0.6252,0.0000,0.0000,0.7804
+-0.6252,0.0000,0.0000,0.7804
+-0.6374,0.0000,0.0000,0.7705
+-0.6374,0.0000,0.0000,0.7705
+-0.6374,0.0000,0.0000,0.7705
+-0.6374,0.0000,0.0000,0.7705
+-0.6494,0.0000,0.0000,0.7604
+-0.6494,0.0000,0.0000,0.7604
+-0.6494,0.0000,0.0000,0.7604
+-0.6494,0.0000,0.0000,0.7604
+-0.6613,0.0000,0.0000,0.7501
+-0.6613,0.0000,0.0000,0.7501
+-0.6613,0.0000,0.0000,0.7501
+-0.6613,0.0000,0.0000,0.7501
+-0.6730,0.0000,0.0000,0.7396
+-0.6730,0.0000,0.0000,0.7396
+-0.6730,0.0000,0.0000,0.7396
+-0.6730,0.0000,0.0000,0.7396
+-0.6845,0.0000,0.0000,0.7290
+-0.6845,0.0000,0.0000,0.7290
+-0.6845,0.0000,0.0000,0.7290
+-0.6845,0.0000,0.0000,0.7290
+-0.6959,0.0000,0.0000,0.7181
+-0.6959,0.0000,0.0000,0.7181
+-0.6959,0.0000,0.0000,0.7181
+-0.6959,0.0000,0.0000,0.7181
+-0.7071,0.0000,0.0000,0.7071
+-0.7071,0.0000,0.0000,0.7071
+-0.7071,0.0000,0.0000,0.7071
+-0.7071,0.0000,0.0000,0.7071
+-0.7181,0.0000,0.0000,0.6959
+-0.7181,0.0000,0.0000,0.6959
+-0.7181,0.0000,0.0000,0.6959
+-0.7181,0.0000,0.0000,0.6959
+-0.7290,0.0000,0.0000,0.6845
+-0.7290,0.0000,0.0000,0.6845
+-0.7290,0.0000,0.0000,0.6845
+-0.7290,0.0000,0.0000,0.6845
+-0.7396,0.0000,0.0000,0.6730
+-0.7396,0.0000,0.0000,0.6730
+-0.7396,0.0000,0.0000,0.6730
+-0.7396,0.0000,0.0000,0.6730
+-0.7501,0.0000,0.0000,0.6613
+-0.7501,0.0000,0.0000,0.6613
+-0.7501,0.0000,0.0000,0.6613
+-0.7501,0.0000,0.0000,0.6613
+-0.7604,0.0000,0.0000,0.6494
+-0.7604,0.0000,0.0000,0.6494
+-0.7604,0.0000,0.0000,0.6494
+-0.7604,0.0000,0.0000,0.6494
+-0.7705,0.0000,0.0000,0.6374
+-0.7705,0.0000,0.0000,0.6374
+-0.7705,0.0000,0.0000,0.6374
+-0.7705,0.0000,0.0000,0.6374
+-0.7804,0.0000,0.0000,0.6252
+-0.7804,0.0000,0.0000,0.6252
+-0.7804,0.0000,0.0000,0.6252
+-0.7804,0.0000,0.0000,0.6252
+-0.7902,0.0000,0.0000,0.6129
+-0.7902,0.0000,0.0000,0.6129
+-0.7902,0.0000,0.0000,0.6129
+-0.7902,0.0000,0.0000,0.6129
+-0.7997,0.0000,0.0000,0.6004
+-0.7997,0.0000,0.0000,0.6004
+-0.7997,0.0000,0.0000,0.6004
+-0.7997,0.0000,0.0000,0.6004
+-0.8090,0.0000,0.0000,0.5878
+-0.8090,0.0000,0.0000,0.5878
+-0.8090,0.0000,0.0000,0.5878
+-0.8090,0.0000,0.0000,0.5878
+-0.8182,0.0000,0.0000,0.5750
+-0.8182,0.0000,0.0000,0.5750
+-0.8182,0.0000,0.0000,0.5750
+-0.8182,0.0000,0.0000,0.5750
+-0.8271,0.0000,0.0000,0.5621
+-0.8271,0.0000,0.0000,0.5621
+-0.8271,0.0000,0.0000,0.5621
+-0.8271,0.0000,0.0000,0.5621
+-0.8358,0.0000,0.0000,0.5490
+-0.8358,0.0000,0.0000,0.5490
+-0.8358,0.0000,0.0000,0.5490
+-0.8358,0.0000,0.0000,0.5490
+-0.8443,0.0000,0.0000,0.5358
+-0.8443,0.0000,0.0000,0.5358
+-0.8443,0.0000,0.0000,0.5358
+-0.8443,0.0000,0.0000,0.5358
+-0.8526,0.0000,0.0000,0.5225
+-0.8526,0.0000,0.0000,0.5225
+-0.8526,0.0000,0.0000,0.5225
+-0.8526,0.0000,0.0000,0.5225
+-0.8607,0.0000,0.0000,0.5090
+-0.8607,0.0000,0.0000,0.5090
+-0.8607,0.0000,0.0000,0.5090
+-0.8607,0.0000,0.0000,0.5090
+-0.8686,0.0000,0.0000,0.4955
+-0.8686,0.0000,0.0000,0.4955
+-0.8686,0.0000,0.0000,0.4955
+-0.8686,0.0000,0.0000,0.4955
+-0.8763,0.0000,0.0000,0.4818
+-0.8763,0.0000,0.0000,0.4818
+-0.8763,0.0000,0.0000,0.4818
+-0.8763,0.0000,0.0000,0.4818
+-0.8838,0.0000,0.0000,0.4679
+-0.8838,0.0000,0.0000,0.4679
+-0.8838,0.0000,0.0000,0.4679
+-0.8838,0.0000,0.0000,0.4679
+-0.8910,0.0000,0.0000,0.4540
+-0.8910,0.0000,0.0000,0.4540
+-0.8910,0.0000,0.0000,0.4540
+-0.8910,0.0000,0.0000,0.4540
+-0.8980,0.0000,0.0000,0.4399
+-0.8980,0.0000,0.0000,0.4399
+-0.8980,0.0000,0.0000,0.4399
+-0.8980,0.0000,0.0000,0.4399
+-0.9048,0.0000,0.0000,0.4258
+-0.9048,0.0000,0.0000,0.4258
+-0.9048,0.0000,0.0000,0.4258
+-0.9048,0.0000,0.0000,0.4258
+-0.9114,0.0000,0.0000,0.4115
+-0.9114,0.0000,0.0000,0.4115
+-0.9114,0.0000,0.0000,0.4115
+-0.9114,0.0000,0.0000,0.4115
+-0.9178,0.0000,0.0000,0.3971
+-0.9178,0.0000,0.0000,0.3971
+-0.9178,0.0000,0.0000,0.3971
+-0.9178,0.0000,0.0000,0.3971
+-0.9239,0.0000,0.0000,0.3827
+-0.9239,0.0000,0.0000,0.3827
+-0.9239,0.0000,0.0000,0.3827
+-0.9239,0.0000,0.0000,0.3827
+-0.9298,0.0000,0.0000,0.3681
+-0.9298,0.0000,0.0000,0.3681
+-0.9298,0.0000,0.0000,0.3681
+-0.9298,0.0000,0.0000,0.3681
+-0.9354,0.0000,0.0000,0.3535
+-0.9354,0.0000,0.0000,0.3535
+-0.9354,0.0000,0.0000,0.3535
+-0.9354,0.0000,0.0000,0.3535
+-0.9409,0.0000,0.0000,0.3387
+-0.9409,0.0000,0.0000,0.3387
+-0.9409,0.0000,0.0000,0.3387
+-0.9409,0.0000,0.0000,0.3387
+-0.9461,0.0000,0.0000,0.3239
+-0.9461,0.0000,0.0000,0.3239
+-0.9461,0.0000,0.0000,0.3239
+-0.9461,0.0000,0.0000,0.3239
+-0.9511,0.0000,0.0000,0.3090
+-0.9511,0.0000,0.0000,0.3090
+-0.9511,0.0000,0.0000,0.3090
+-0.9511,0.0000,0.0000,0.3090
+-0.9558,0.0000,0.0000,0.2940
+-0.9558,0.0000,0.0000,0.2940
+-0.9558,0.0000,0.0000,0.2940
+-0.9558,0.0000,0.0000,0.2940
+-0.9603,0.0000,0.0000,0.2790
+-0.9603,0.0000,0.0000,0.2790
+-0.9603,0.0000,0.0000,0.2790
+-0.9603,0.0000,0.0000,0.2790
+-0.9646,0.0000,0.0000,0.2639
+-0.9646,0.0000,0.0000,0.2639
+-0.9646,0.0000,0.0000,0.2639
+-0.9646,0.0000,0.0000,0.2639
+-0.9686,0.0000,0.0000,0.2487
+-0.9686,0.0000,0.0000,0.2487
+-0.9686,0.0000,0.0000,0.2487
+-0.9686,0.0000,0.0000,0.2487
+-0.9724,0.0000,0.0000,0.2334
+-0.9724,0.0000,0.0000,0.2334
+-0.9724,0.0000,0.0000,0.2334
+-0.9724,0.0000,0.0000,0.2334
+-0.9759,0.0000,0.0000,0.2181
+-0.9759,0.0000,0.0000,0.2181
+-0.9759,0.0000,0.0000,0.2181
+-0.9759,0.0000,0.0000,0.2181
+-0.9792,0.0000,0.0000,0.2028
+-0.9792,0.0000,0.0000,0.2028
+-0.9792,0.0000,0.0000,0.2028
+-0.9792,0.0000,0.0000,0.2028
+-0.9823,0.0000,0.0000,0.1874
+-0.9823,0.0000,0.0000,0.1874
+-0.9823,0.0000,0.0000,0.1874
+-0.9823,0.0000,0.0000,0.1874
+-0.9851,0.0000,0.0000,0.1719
+-0.9851,0.0000,0.0000,0.1719
+-0.9851,0.0000,0.0000,0.1719
+-0.9851,0.0000,0.0000,0.1719
+-0.9877,0.0000,0.0000,0.1564
+-0.9877,0.0000,0.0000,0.1564
+-0.9877,0.0000,0.0000,0.1564
+-0.9877,0.0000,0.0000,0.1564
+-0.9900,0.0000,0.0000,0.1409
+-0.9900,0.0000,0.0000,0.1409
+-0.9900,0.0000,0.0000,0.1409
+-0.9900,0.0000,0.0000,0.1409
+-0.9921,0.0000,0.0000,0.1253
+-0.9921,0.0000,0.0000,0.1253
+-0.9921,0.0000,0.0000,0.1253
+-0.9921,0.0000,0.0000,0.1253
+-0.9940,0.0000,0.0000,0.1097
+-0.9940,0.0000,0.0000,0.1097
+-0.9940,0.0000,0.0000,0.1097
+-0.9940,0.0000,0.0000,0.1097
+-0.9956,0.0000,0.0000,0.0941
+-0.9956,0.0000,0.0000,0.0941
+-0.9956,0.0000,0.0000,0.0941
+-0.9956,0.0000,0.0000,0.0941
+-0.9969,0.0000,0.0000,0.0785
+-0.9969,0.0000,0.0000,0.0785
+-0.9969,0.0000,0.0000,0.0785
+-0.9969,0.0000,0.0000,0.0785
+-0.9980,0.0000,0.0000,0.0628
+-0.9980,0.0000,0.0000,0.0628
+-0.9980,0.0000,0.0000,0.0628
+-0.9980,0.0000,0.0000,0.0628
+-0.9989,0.0000,0.0000,0.0471
+-0.9989,0.0000,0.0000,0.0471
+-0.9989,0.0000,0.0000,0.0471
+-0.9989,0.0000,0.0000,0.0471
+-0.9995,0.0000,0.0000,0.0314
+-0.9995,0.0000,0.0000,0.0314
+-0.9995,0.0000,0.0000,0.0314
+-0.9995,0.0000,0.0000,0.0314
+-0.9999,0.0000,0.0000,0.0157
+-0.9999,0.0000,0.0000,0.0157
+-0.9999,0.0000,0.0000,0.0157
+-0.9999,0.0000,0.0000,0.0157
+1.0000,0.0000,0.0000,0.0000
+1.0000,0.0000,0.0000,0.0000
+1.0000,0.0000,0.0000,0.0000
+1.0000,0.0000,0.0000,0.0000
diff --git a/scripts/trajectories/full-circle-4s.csv b/scripts/trajectories/full-circle-4s.csv
new file mode 100644
index 0000000000000000000000000000000000000000..4174a531b7e4b7ed785105d18fcfe2d5d195c035
--- /dev/null
+++ b/scripts/trajectories/full-circle-4s.csv
@@ -0,0 +1,800 @@
+0.9999,0.0000,0.0000,-0.0157
+0.9999,0.0000,0.0000,-0.0157
+0.9999,0.0000,0.0000,-0.0157
+0.9999,0.0000,0.0000,-0.0157
+0.9995,0.0000,0.0000,-0.0314
+0.9995,0.0000,0.0000,-0.0314
+0.9995,0.0000,0.0000,-0.0314
+0.9995,0.0000,0.0000,-0.0314
+0.9989,0.0000,0.0000,-0.0471
+0.9989,0.0000,0.0000,-0.0471
+0.9989,0.0000,0.0000,-0.0471
+0.9989,0.0000,0.0000,-0.0471
+0.9980,0.0000,0.0000,-0.0628
+0.9980,0.0000,0.0000,-0.0628
+0.9980,0.0000,0.0000,-0.0628
+0.9980,0.0000,0.0000,-0.0628
+0.9969,0.0000,0.0000,-0.0785
+0.9969,0.0000,0.0000,-0.0785
+0.9969,0.0000,0.0000,-0.0785
+0.9969,0.0000,0.0000,-0.0785
+0.9956,0.0000,0.0000,-0.0941
+0.9956,0.0000,0.0000,-0.0941
+0.9956,0.0000,0.0000,-0.0941
+0.9956,0.0000,0.0000,-0.0941
+0.9940,0.0000,0.0000,-0.1097
+0.9940,0.0000,0.0000,-0.1097
+0.9940,0.0000,0.0000,-0.1097
+0.9940,0.0000,0.0000,-0.1097
+0.9921,0.0000,0.0000,-0.1253
+0.9921,0.0000,0.0000,-0.1253
+0.9921,0.0000,0.0000,-0.1253
+0.9921,0.0000,0.0000,-0.1253
+0.9900,0.0000,0.0000,-0.1409
+0.9900,0.0000,0.0000,-0.1409
+0.9900,0.0000,0.0000,-0.1409
+0.9900,0.0000,0.0000,-0.1409
+0.9877,0.0000,0.0000,-0.1564
+0.9877,0.0000,0.0000,-0.1564
+0.9877,0.0000,0.0000,-0.1564
+0.9877,0.0000,0.0000,-0.1564
+0.9851,0.0000,0.0000,-0.1719
+0.9851,0.0000,0.0000,-0.1719
+0.9851,0.0000,0.0000,-0.1719
+0.9851,0.0000,0.0000,-0.1719
+0.9823,0.0000,0.0000,-0.1874
+0.9823,0.0000,0.0000,-0.1874
+0.9823,0.0000,0.0000,-0.1874
+0.9823,0.0000,0.0000,-0.1874
+0.9792,0.0000,0.0000,-0.2028
+0.9792,0.0000,0.0000,-0.2028
+0.9792,0.0000,0.0000,-0.2028
+0.9792,0.0000,0.0000,-0.2028
+0.9759,0.0000,0.0000,-0.2181
+0.9759,0.0000,0.0000,-0.2181
+0.9759,0.0000,0.0000,-0.2181
+0.9759,0.0000,0.0000,-0.2181
+0.9724,0.0000,0.0000,-0.2334
+0.9724,0.0000,0.0000,-0.2334
+0.9724,0.0000,0.0000,-0.2334
+0.9724,0.0000,0.0000,-0.2334
+0.9686,0.0000,0.0000,-0.2487
+0.9686,0.0000,0.0000,-0.2487
+0.9686,0.0000,0.0000,-0.2487
+0.9686,0.0000,0.0000,-0.2487
+0.9646,0.0000,0.0000,-0.2639
+0.9646,0.0000,0.0000,-0.2639
+0.9646,0.0000,0.0000,-0.2639
+0.9646,0.0000,0.0000,-0.2639
+0.9603,0.0000,0.0000,-0.2790
+0.9603,0.0000,0.0000,-0.2790
+0.9603,0.0000,0.0000,-0.2790
+0.9603,0.0000,0.0000,-0.2790
+0.9558,0.0000,0.0000,-0.2940
+0.9558,0.0000,0.0000,-0.2940
+0.9558,0.0000,0.0000,-0.2940
+0.9558,0.0000,0.0000,-0.2940
+0.9511,0.0000,0.0000,-0.3090
+0.9511,0.0000,0.0000,-0.3090
+0.9511,0.0000,0.0000,-0.3090
+0.9511,0.0000,0.0000,-0.3090
+0.9461,0.0000,0.0000,-0.3239
+0.9461,0.0000,0.0000,-0.3239
+0.9461,0.0000,0.0000,-0.3239
+0.9461,0.0000,0.0000,-0.3239
+0.9409,0.0000,0.0000,-0.3387
+0.9409,0.0000,0.0000,-0.3387
+0.9409,0.0000,0.0000,-0.3387
+0.9409,0.0000,0.0000,-0.3387
+0.9354,0.0000,0.0000,-0.3535
+0.9354,0.0000,0.0000,-0.3535
+0.9354,0.0000,0.0000,-0.3535
+0.9354,0.0000,0.0000,-0.3535
+0.9298,0.0000,0.0000,-0.3681
+0.9298,0.0000,0.0000,-0.3681
+0.9298,0.0000,0.0000,-0.3681
+0.9298,0.0000,0.0000,-0.3681
+0.9239,0.0000,0.0000,-0.3827
+0.9239,0.0000,0.0000,-0.3827
+0.9239,0.0000,0.0000,-0.3827
+0.9239,0.0000,0.0000,-0.3827
+0.9178,0.0000,0.0000,-0.3971
+0.9178,0.0000,0.0000,-0.3971
+0.9178,0.0000,0.0000,-0.3971
+0.9178,0.0000,0.0000,-0.3971
+0.9114,0.0000,0.0000,-0.4115
+0.9114,0.0000,0.0000,-0.4115
+0.9114,0.0000,0.0000,-0.4115
+0.9114,0.0000,0.0000,-0.4115
+0.9048,0.0000,0.0000,-0.4258
+0.9048,0.0000,0.0000,-0.4258
+0.9048,0.0000,0.0000,-0.4258
+0.9048,0.0000,0.0000,-0.4258
+0.8980,0.0000,0.0000,-0.4399
+0.8980,0.0000,0.0000,-0.4399
+0.8980,0.0000,0.0000,-0.4399
+0.8980,0.0000,0.0000,-0.4399
+0.8910,0.0000,0.0000,-0.4540
+0.8910,0.0000,0.0000,-0.4540
+0.8910,0.0000,0.0000,-0.4540
+0.8910,0.0000,0.0000,-0.4540
+0.8838,0.0000,0.0000,-0.4679
+0.8838,0.0000,0.0000,-0.4679
+0.8838,0.0000,0.0000,-0.4679
+0.8838,0.0000,0.0000,-0.4679
+0.8763,0.0000,0.0000,-0.4818
+0.8763,0.0000,0.0000,-0.4818
+0.8763,0.0000,0.0000,-0.4818
+0.8763,0.0000,0.0000,-0.4818
+0.8686,0.0000,0.0000,-0.4955
+0.8686,0.0000,0.0000,-0.4955
+0.8686,0.0000,0.0000,-0.4955
+0.8686,0.0000,0.0000,-0.4955
+0.8607,0.0000,0.0000,-0.5090
+0.8607,0.0000,0.0000,-0.5090
+0.8607,0.0000,0.0000,-0.5090
+0.8607,0.0000,0.0000,-0.5090
+0.8526,0.0000,0.0000,-0.5225
+0.8526,0.0000,0.0000,-0.5225
+0.8526,0.0000,0.0000,-0.5225
+0.8526,0.0000,0.0000,-0.5225
+0.8443,0.0000,0.0000,-0.5358
+0.8443,0.0000,0.0000,-0.5358
+0.8443,0.0000,0.0000,-0.5358
+0.8443,0.0000,0.0000,-0.5358
+0.8358,0.0000,0.0000,-0.5490
+0.8358,0.0000,0.0000,-0.5490
+0.8358,0.0000,0.0000,-0.5490
+0.8358,0.0000,0.0000,-0.5490
+0.8271,0.0000,0.0000,-0.5621
+0.8271,0.0000,0.0000,-0.5621
+0.8271,0.0000,0.0000,-0.5621
+0.8271,0.0000,0.0000,-0.5621
+0.8181,0.0000,0.0000,-0.5750
+0.8181,0.0000,0.0000,-0.5750
+0.8181,0.0000,0.0000,-0.5750
+0.8181,0.0000,0.0000,-0.5750
+0.8090,0.0000,0.0000,-0.5878
+0.8090,0.0000,0.0000,-0.5878
+0.8090,0.0000,0.0000,-0.5878
+0.8090,0.0000,0.0000,-0.5878
+0.7997,0.0000,0.0000,-0.6004
+0.7997,0.0000,0.0000,-0.6004
+0.7997,0.0000,0.0000,-0.6004
+0.7997,0.0000,0.0000,-0.6004
+0.7902,0.0000,0.0000,-0.6129
+0.7902,0.0000,0.0000,-0.6129
+0.7902,0.0000,0.0000,-0.6129
+0.7902,0.0000,0.0000,-0.6129
+0.7804,0.0000,0.0000,-0.6252
+0.7804,0.0000,0.0000,-0.6252
+0.7804,0.0000,0.0000,-0.6252
+0.7804,0.0000,0.0000,-0.6252
+0.7705,0.0000,0.0000,-0.6374
+0.7705,0.0000,0.0000,-0.6374
+0.7705,0.0000,0.0000,-0.6374
+0.7705,0.0000,0.0000,-0.6374
+0.7604,0.0000,0.0000,-0.6494
+0.7604,0.0000,0.0000,-0.6494
+0.7604,0.0000,0.0000,-0.6494
+0.7604,0.0000,0.0000,-0.6494
+0.7501,0.0000,0.0000,-0.6613
+0.7501,0.0000,0.0000,-0.6613
+0.7501,0.0000,0.0000,-0.6613
+0.7501,0.0000,0.0000,-0.6613
+0.7396,0.0000,0.0000,-0.6730
+0.7396,0.0000,0.0000,-0.6730
+0.7396,0.0000,0.0000,-0.6730
+0.7396,0.0000,0.0000,-0.6730
+0.7290,0.0000,0.0000,-0.6845
+0.7290,0.0000,0.0000,-0.6845
+0.7290,0.0000,0.0000,-0.6845
+0.7290,0.0000,0.0000,-0.6845
+0.7181,0.0000,0.0000,-0.6959
+0.7181,0.0000,0.0000,-0.6959
+0.7181,0.0000,0.0000,-0.6959
+0.7181,0.0000,0.0000,-0.6959
+0.7071,0.0000,0.0000,-0.7071
+0.7071,0.0000,0.0000,-0.7071
+0.7071,0.0000,0.0000,-0.7071
+0.7071,0.0000,0.0000,-0.7071
+0.6959,0.0000,0.0000,-0.7181
+0.6959,0.0000,0.0000,-0.7181
+0.6959,0.0000,0.0000,-0.7181
+0.6959,0.0000,0.0000,-0.7181
+0.6845,0.0000,0.0000,-0.7290
+0.6845,0.0000,0.0000,-0.7290
+0.6845,0.0000,0.0000,-0.7290
+0.6845,0.0000,0.0000,-0.7290
+0.6730,0.0000,0.0000,-0.7396
+0.6730,0.0000,0.0000,-0.7396
+0.6730,0.0000,0.0000,-0.7396
+0.6730,0.0000,0.0000,-0.7396
+0.6613,0.0000,0.0000,-0.7501
+0.6613,0.0000,0.0000,-0.7501
+0.6613,0.0000,0.0000,-0.7501
+0.6613,0.0000,0.0000,-0.7501
+0.6494,0.0000,0.0000,-0.7604
+0.6494,0.0000,0.0000,-0.7604
+0.6494,0.0000,0.0000,-0.7604
+0.6494,0.0000,0.0000,-0.7604
+0.6374,0.0000,0.0000,-0.7705
+0.6374,0.0000,0.0000,-0.7705
+0.6374,0.0000,0.0000,-0.7705
+0.6374,0.0000,0.0000,-0.7705
+0.6252,0.0000,0.0000,-0.7804
+0.6252,0.0000,0.0000,-0.7804
+0.6252,0.0000,0.0000,-0.7804
+0.6252,0.0000,0.0000,-0.7804
+0.6129,0.0000,0.0000,-0.7902
+0.6129,0.0000,0.0000,-0.7902
+0.6129,0.0000,0.0000,-0.7902
+0.6129,0.0000,0.0000,-0.7902
+0.6004,0.0000,0.0000,-0.7997
+0.6004,0.0000,0.0000,-0.7997
+0.6004,0.0000,0.0000,-0.7997
+0.6004,0.0000,0.0000,-0.7997
+0.5878,0.0000,0.0000,-0.8090
+0.5878,0.0000,0.0000,-0.8090
+0.5878,0.0000,0.0000,-0.8090
+0.5878,0.0000,0.0000,-0.8090
+0.5750,0.0000,0.0000,-0.8181
+0.5750,0.0000,0.0000,-0.8181
+0.5750,0.0000,0.0000,-0.8181
+0.5750,0.0000,0.0000,-0.8181
+0.5621,0.0000,0.0000,-0.8271
+0.5621,0.0000,0.0000,-0.8271
+0.5621,0.0000,0.0000,-0.8271
+0.5621,0.0000,0.0000,-0.8271
+0.5490,0.0000,0.0000,-0.8358
+0.5490,0.0000,0.0000,-0.8358
+0.5490,0.0000,0.0000,-0.8358
+0.5490,0.0000,0.0000,-0.8358
+0.5358,0.0000,0.0000,-0.8443
+0.5358,0.0000,0.0000,-0.8443
+0.5358,0.0000,0.0000,-0.8443
+0.5358,0.0000,0.0000,-0.8443
+0.5225,0.0000,0.0000,-0.8526
+0.5225,0.0000,0.0000,-0.8526
+0.5225,0.0000,0.0000,-0.8526
+0.5225,0.0000,0.0000,-0.8526
+0.5090,0.0000,0.0000,-0.8607
+0.5090,0.0000,0.0000,-0.8607
+0.5090,0.0000,0.0000,-0.8607
+0.5090,0.0000,0.0000,-0.8607
+0.4955,0.0000,0.0000,-0.8686
+0.4955,0.0000,0.0000,-0.8686
+0.4955,0.0000,0.0000,-0.8686
+0.4955,0.0000,0.0000,-0.8686
+0.4818,0.0000,0.0000,-0.8763
+0.4818,0.0000,0.0000,-0.8763
+0.4818,0.0000,0.0000,-0.8763
+0.4818,0.0000,0.0000,-0.8763
+0.4679,0.0000,0.0000,-0.8838
+0.4679,0.0000,0.0000,-0.8838
+0.4679,0.0000,0.0000,-0.8838
+0.4679,0.0000,0.0000,-0.8838
+0.4540,0.0000,0.0000,-0.8910
+0.4540,0.0000,0.0000,-0.8910
+0.4540,0.0000,0.0000,-0.8910
+0.4540,0.0000,0.0000,-0.8910
+0.4399,0.0000,0.0000,-0.8980
+0.4399,0.0000,0.0000,-0.8980
+0.4399,0.0000,0.0000,-0.8980
+0.4399,0.0000,0.0000,-0.8980
+0.4258,0.0000,0.0000,-0.9048
+0.4258,0.0000,0.0000,-0.9048
+0.4258,0.0000,0.0000,-0.9048
+0.4258,0.0000,0.0000,-0.9048
+0.4115,0.0000,0.0000,-0.9114
+0.4115,0.0000,0.0000,-0.9114
+0.4115,0.0000,0.0000,-0.9114
+0.4115,0.0000,0.0000,-0.9114
+0.3971,0.0000,0.0000,-0.9178
+0.3971,0.0000,0.0000,-0.9178
+0.3971,0.0000,0.0000,-0.9178
+0.3971,0.0000,0.0000,-0.9178
+0.3827,0.0000,0.0000,-0.9239
+0.3827,0.0000,0.0000,-0.9239
+0.3827,0.0000,0.0000,-0.9239
+0.3827,0.0000,0.0000,-0.9239
+0.3681,0.0000,0.0000,-0.9298
+0.3681,0.0000,0.0000,-0.9298
+0.3681,0.0000,0.0000,-0.9298
+0.3681,0.0000,0.0000,-0.9298
+0.3535,0.0000,0.0000,-0.9354
+0.3535,0.0000,0.0000,-0.9354
+0.3535,0.0000,0.0000,-0.9354
+0.3535,0.0000,0.0000,-0.9354
+0.3387,0.0000,0.0000,-0.9409
+0.3387,0.0000,0.0000,-0.9409
+0.3387,0.0000,0.0000,-0.9409
+0.3387,0.0000,0.0000,-0.9409
+0.3239,0.0000,0.0000,-0.9461
+0.3239,0.0000,0.0000,-0.9461
+0.3239,0.0000,0.0000,-0.9461
+0.3239,0.0000,0.0000,-0.9461
+0.3090,0.0000,0.0000,-0.9511
+0.3090,0.0000,0.0000,-0.9511
+0.3090,0.0000,0.0000,-0.9511
+0.3090,0.0000,0.0000,-0.9511
+0.2940,0.0000,0.0000,-0.9558
+0.2940,0.0000,0.0000,-0.9558
+0.2940,0.0000,0.0000,-0.9558
+0.2940,0.0000,0.0000,-0.9558
+0.2790,0.0000,0.0000,-0.9603
+0.2790,0.0000,0.0000,-0.9603
+0.2790,0.0000,0.0000,-0.9603
+0.2790,0.0000,0.0000,-0.9603
+0.2639,0.0000,0.0000,-0.9646
+0.2639,0.0000,0.0000,-0.9646
+0.2639,0.0000,0.0000,-0.9646
+0.2639,0.0000,0.0000,-0.9646
+0.2487,0.0000,0.0000,-0.9686
+0.2487,0.0000,0.0000,-0.9686
+0.2487,0.0000,0.0000,-0.9686
+0.2487,0.0000,0.0000,-0.9686
+0.2334,0.0000,0.0000,-0.9724
+0.2334,0.0000,0.0000,-0.9724
+0.2334,0.0000,0.0000,-0.9724
+0.2334,0.0000,0.0000,-0.9724
+0.2181,0.0000,0.0000,-0.9759
+0.2181,0.0000,0.0000,-0.9759
+0.2181,0.0000,0.0000,-0.9759
+0.2181,0.0000,0.0000,-0.9759
+0.2028,0.0000,0.0000,-0.9792
+0.2028,0.0000,0.0000,-0.9792
+0.2028,0.0000,0.0000,-0.9792
+0.2028,0.0000,0.0000,-0.9792
+0.1874,0.0000,0.0000,-0.9823
+0.1874,0.0000,0.0000,-0.9823
+0.1874,0.0000,0.0000,-0.9823
+0.1874,0.0000,0.0000,-0.9823
+0.1719,0.0000,0.0000,-0.9851
+0.1719,0.0000,0.0000,-0.9851
+0.1719,0.0000,0.0000,-0.9851
+0.1719,0.0000,0.0000,-0.9851
+0.1564,0.0000,0.0000,-0.9877
+0.1564,0.0000,0.0000,-0.9877
+0.1564,0.0000,0.0000,-0.9877
+0.1564,0.0000,0.0000,-0.9877
+0.1409,0.0000,0.0000,-0.9900
+0.1409,0.0000,0.0000,-0.9900
+0.1409,0.0000,0.0000,-0.9900
+0.1409,0.0000,0.0000,-0.9900
+0.1253,0.0000,0.0000,-0.9921
+0.1253,0.0000,0.0000,-0.9921
+0.1253,0.0000,0.0000,-0.9921
+0.1253,0.0000,0.0000,-0.9921
+0.1097,0.0000,0.0000,-0.9940
+0.1097,0.0000,0.0000,-0.9940
+0.1097,0.0000,0.0000,-0.9940
+0.1097,0.0000,0.0000,-0.9940
+0.0941,0.0000,0.0000,-0.9956
+0.0941,0.0000,0.0000,-0.9956
+0.0941,0.0000,0.0000,-0.9956
+0.0941,0.0000,0.0000,-0.9956
+0.0785,0.0000,0.0000,-0.9969
+0.0785,0.0000,0.0000,-0.9969
+0.0785,0.0000,0.0000,-0.9969
+0.0785,0.0000,0.0000,-0.9969
+0.0628,0.0000,0.0000,-0.9980
+0.0628,0.0000,0.0000,-0.9980
+0.0628,0.0000,0.0000,-0.9980
+0.0628,0.0000,0.0000,-0.9980
+0.0471,0.0000,0.0000,-0.9989
+0.0471,0.0000,0.0000,-0.9989
+0.0471,0.0000,0.0000,-0.9989
+0.0471,0.0000,0.0000,-0.9989
+0.0314,0.0000,0.0000,-0.9995
+0.0314,0.0000,0.0000,-0.9995
+0.0314,0.0000,0.0000,-0.9995
+0.0314,0.0000,0.0000,-0.9995
+0.0157,0.0000,0.0000,-0.9999
+0.0157,0.0000,0.0000,-0.9999
+0.0157,0.0000,0.0000,-0.9999
+0.0157,0.0000,0.0000,-0.9999
+-0.0000,0.0000,0.0000,-1.0000
+-0.0000,0.0000,0.0000,-1.0000
+-0.0000,0.0000,0.0000,-1.0000
+-0.0000,0.0000,0.0000,-1.0000
+-0.0157,0.0000,0.0000,-0.9999
+-0.0157,0.0000,0.0000,-0.9999
+-0.0157,0.0000,0.0000,-0.9999
+-0.0157,0.0000,0.0000,-0.9999
+-0.0314,0.0000,0.0000,-0.9995
+-0.0314,0.0000,0.0000,-0.9995
+-0.0314,0.0000,0.0000,-0.9995
+-0.0314,0.0000,0.0000,-0.9995
+-0.0471,0.0000,0.0000,-0.9989
+-0.0471,0.0000,0.0000,-0.9989
+-0.0471,0.0000,0.0000,-0.9989
+-0.0471,0.0000,0.0000,-0.9989
+-0.0628,0.0000,0.0000,-0.9980
+-0.0628,0.0000,0.0000,-0.9980
+-0.0628,0.0000,0.0000,-0.9980
+-0.0628,0.0000,0.0000,-0.9980
+-0.0785,0.0000,0.0000,-0.9969
+-0.0785,0.0000,0.0000,-0.9969
+-0.0785,0.0000,0.0000,-0.9969
+-0.0785,0.0000,0.0000,-0.9969
+-0.0941,0.0000,0.0000,-0.9956
+-0.0941,0.0000,0.0000,-0.9956
+-0.0941,0.0000,0.0000,-0.9956
+-0.0941,0.0000,0.0000,-0.9956
+-0.1097,0.0000,0.0000,-0.9940
+-0.1097,0.0000,0.0000,-0.9940
+-0.1097,0.0000,0.0000,-0.9940
+-0.1097,0.0000,0.0000,-0.9940
+-0.1253,0.0000,0.0000,-0.9921
+-0.1253,0.0000,0.0000,-0.9921
+-0.1253,0.0000,0.0000,-0.9921
+-0.1253,0.0000,0.0000,-0.9921
+-0.1409,0.0000,0.0000,-0.9900
+-0.1409,0.0000,0.0000,-0.9900
+-0.1409,0.0000,0.0000,-0.9900
+-0.1409,0.0000,0.0000,-0.9900
+-0.1564,0.0000,0.0000,-0.9877
+-0.1564,0.0000,0.0000,-0.9877
+-0.1564,0.0000,0.0000,-0.9877
+-0.1564,0.0000,0.0000,-0.9877
+-0.1719,0.0000,0.0000,-0.9851
+-0.1719,0.0000,0.0000,-0.9851
+-0.1719,0.0000,0.0000,-0.9851
+-0.1719,0.0000,0.0000,-0.9851
+-0.1874,0.0000,0.0000,-0.9823
+-0.1874,0.0000,0.0000,-0.9823
+-0.1874,0.0000,0.0000,-0.9823
+-0.1874,0.0000,0.0000,-0.9823
+-0.2028,0.0000,0.0000,-0.9792
+-0.2028,0.0000,0.0000,-0.9792
+-0.2028,0.0000,0.0000,-0.9792
+-0.2028,0.0000,0.0000,-0.9792
+-0.2181,0.0000,0.0000,-0.9759
+-0.2181,0.0000,0.0000,-0.9759
+-0.2181,0.0000,0.0000,-0.9759
+-0.2181,0.0000,0.0000,-0.9759
+-0.2334,0.0000,0.0000,-0.9724
+-0.2334,0.0000,0.0000,-0.9724
+-0.2334,0.0000,0.0000,-0.9724
+-0.2334,0.0000,0.0000,-0.9724
+-0.2487,0.0000,0.0000,-0.9686
+-0.2487,0.0000,0.0000,-0.9686
+-0.2487,0.0000,0.0000,-0.9686
+-0.2487,0.0000,0.0000,-0.9686
+-0.2639,0.0000,0.0000,-0.9646
+-0.2639,0.0000,0.0000,-0.9646
+-0.2639,0.0000,0.0000,-0.9646
+-0.2639,0.0000,0.0000,-0.9646
+-0.2790,0.0000,0.0000,-0.9603
+-0.2790,0.0000,0.0000,-0.9603
+-0.2790,0.0000,0.0000,-0.9603
+-0.2790,0.0000,0.0000,-0.9603
+-0.2940,0.0000,0.0000,-0.9558
+-0.2940,0.0000,0.0000,-0.9558
+-0.2940,0.0000,0.0000,-0.9558
+-0.2940,0.0000,0.0000,-0.9558
+-0.3090,0.0000,0.0000,-0.9511
+-0.3090,0.0000,0.0000,-0.9511
+-0.3090,0.0000,0.0000,-0.9511
+-0.3090,0.0000,0.0000,-0.9511
+-0.3239,0.0000,0.0000,-0.9461
+-0.3239,0.0000,0.0000,-0.9461
+-0.3239,0.0000,0.0000,-0.9461
+-0.3239,0.0000,0.0000,-0.9461
+-0.3387,0.0000,0.0000,-0.9409
+-0.3387,0.0000,0.0000,-0.9409
+-0.3387,0.0000,0.0000,-0.9409
+-0.3387,0.0000,0.0000,-0.9409
+-0.3535,0.0000,0.0000,-0.9354
+-0.3535,0.0000,0.0000,-0.9354
+-0.3535,0.0000,0.0000,-0.9354
+-0.3535,0.0000,0.0000,-0.9354
+-0.3681,0.0000,0.0000,-0.9298
+-0.3681,0.0000,0.0000,-0.9298
+-0.3681,0.0000,0.0000,-0.9298
+-0.3681,0.0000,0.0000,-0.9298
+-0.3827,0.0000,0.0000,-0.9239
+-0.3827,0.0000,0.0000,-0.9239
+-0.3827,0.0000,0.0000,-0.9239
+-0.3827,0.0000,0.0000,-0.9239
+-0.3971,0.0000,0.0000,-0.9178
+-0.3971,0.0000,0.0000,-0.9178
+-0.3971,0.0000,0.0000,-0.9178
+-0.3971,0.0000,0.0000,-0.9178
+-0.4115,0.0000,0.0000,-0.9114
+-0.4115,0.0000,0.0000,-0.9114
+-0.4115,0.0000,0.0000,-0.9114
+-0.4115,0.0000,0.0000,-0.9114
+-0.4258,0.0000,0.0000,-0.9048
+-0.4258,0.0000,0.0000,-0.9048
+-0.4258,0.0000,0.0000,-0.9048
+-0.4258,0.0000,0.0000,-0.9048
+-0.4399,0.0000,0.0000,-0.8980
+-0.4399,0.0000,0.0000,-0.8980
+-0.4399,0.0000,0.0000,-0.8980
+-0.4399,0.0000,0.0000,-0.8980
+-0.4540,0.0000,0.0000,-0.8910
+-0.4540,0.0000,0.0000,-0.8910
+-0.4540,0.0000,0.0000,-0.8910
+-0.4540,0.0000,0.0000,-0.8910
+-0.4679,0.0000,0.0000,-0.8838
+-0.4679,0.0000,0.0000,-0.8838
+-0.4679,0.0000,0.0000,-0.8838
+-0.4679,0.0000,0.0000,-0.8838
+-0.4818,0.0000,0.0000,-0.8763
+-0.4818,0.0000,0.0000,-0.8763
+-0.4818,0.0000,0.0000,-0.8763
+-0.4818,0.0000,0.0000,-0.8763
+-0.4955,0.0000,0.0000,-0.8686
+-0.4955,0.0000,0.0000,-0.8686
+-0.4955,0.0000,0.0000,-0.8686
+-0.4955,0.0000,0.0000,-0.8686
+-0.5090,0.0000,0.0000,-0.8607
+-0.5090,0.0000,0.0000,-0.8607
+-0.5090,0.0000,0.0000,-0.8607
+-0.5090,0.0000,0.0000,-0.8607
+-0.5225,0.0000,0.0000,-0.8526
+-0.5225,0.0000,0.0000,-0.8526
+-0.5225,0.0000,0.0000,-0.8526
+-0.5225,0.0000,0.0000,-0.8526
+-0.5358,0.0000,0.0000,-0.8443
+-0.5358,0.0000,0.0000,-0.8443
+-0.5358,0.0000,0.0000,-0.8443
+-0.5358,0.0000,0.0000,-0.8443
+-0.5490,0.0000,0.0000,-0.8358
+-0.5490,0.0000,0.0000,-0.8358
+-0.5490,0.0000,0.0000,-0.8358
+-0.5490,0.0000,0.0000,-0.8358
+-0.5621,0.0000,0.0000,-0.8271
+-0.5621,0.0000,0.0000,-0.8271
+-0.5621,0.0000,0.0000,-0.8271
+-0.5621,0.0000,0.0000,-0.8271
+-0.5750,0.0000,0.0000,-0.8181
+-0.5750,0.0000,0.0000,-0.8181
+-0.5750,0.0000,0.0000,-0.8181
+-0.5750,0.0000,0.0000,-0.8181
+-0.5878,0.0000,0.0000,-0.8090
+-0.5878,0.0000,0.0000,-0.8090
+-0.5878,0.0000,0.0000,-0.8090
+-0.5878,0.0000,0.0000,-0.8090
+-0.6004,0.0000,0.0000,-0.7997
+-0.6004,0.0000,0.0000,-0.7997
+-0.6004,0.0000,0.0000,-0.7997
+-0.6004,0.0000,0.0000,-0.7997
+-0.6129,0.0000,0.0000,-0.7902
+-0.6129,0.0000,0.0000,-0.7902
+-0.6129,0.0000,0.0000,-0.7902
+-0.6129,0.0000,0.0000,-0.7902
+-0.6252,0.0000,0.0000,-0.7804
+-0.6252,0.0000,0.0000,-0.7804
+-0.6252,0.0000,0.0000,-0.7804
+-0.6252,0.0000,0.0000,-0.7804
+-0.6374,0.0000,0.0000,-0.7705
+-0.6374,0.0000,0.0000,-0.7705
+-0.6374,0.0000,0.0000,-0.7705
+-0.6374,0.0000,0.0000,-0.7705
+-0.6494,0.0000,0.0000,-0.7604
+-0.6494,0.0000,0.0000,-0.7604
+-0.6494,0.0000,0.0000,-0.7604
+-0.6494,0.0000,0.0000,-0.7604
+-0.6613,0.0000,0.0000,-0.7501
+-0.6613,0.0000,0.0000,-0.7501
+-0.6613,0.0000,0.0000,-0.7501
+-0.6613,0.0000,0.0000,-0.7501
+-0.6730,0.0000,0.0000,-0.7396
+-0.6730,0.0000,0.0000,-0.7396
+-0.6730,0.0000,0.0000,-0.7396
+-0.6730,0.0000,0.0000,-0.7396
+-0.6845,0.0000,0.0000,-0.7290
+-0.6845,0.0000,0.0000,-0.7290
+-0.6845,0.0000,0.0000,-0.7290
+-0.6845,0.0000,0.0000,-0.7290
+-0.6959,0.0000,0.0000,-0.7181
+-0.6959,0.0000,0.0000,-0.7181
+-0.6959,0.0000,0.0000,-0.7181
+-0.6959,0.0000,0.0000,-0.7181
+-0.7071,0.0000,0.0000,-0.7071
+-0.7071,0.0000,0.0000,-0.7071
+-0.7071,0.0000,0.0000,-0.7071
+-0.7071,0.0000,0.0000,-0.7071
+-0.7181,0.0000,0.0000,-0.6959
+-0.7181,0.0000,0.0000,-0.6959
+-0.7181,0.0000,0.0000,-0.6959
+-0.7181,0.0000,0.0000,-0.6959
+-0.7290,0.0000,0.0000,-0.6845
+-0.7290,0.0000,0.0000,-0.6845
+-0.7290,0.0000,0.0000,-0.6845
+-0.7290,0.0000,0.0000,-0.6845
+-0.7396,0.0000,0.0000,-0.6730
+-0.7396,0.0000,0.0000,-0.6730
+-0.7396,0.0000,0.0000,-0.6730
+-0.7396,0.0000,0.0000,-0.6730
+-0.7501,0.0000,0.0000,-0.6613
+-0.7501,0.0000,0.0000,-0.6613
+-0.7501,0.0000,0.0000,-0.6613
+-0.7501,0.0000,0.0000,-0.6613
+-0.7604,0.0000,0.0000,-0.6494
+-0.7604,0.0000,0.0000,-0.6494
+-0.7604,0.0000,0.0000,-0.6494
+-0.7604,0.0000,0.0000,-0.6494
+-0.7705,0.0000,0.0000,-0.6374
+-0.7705,0.0000,0.0000,-0.6374
+-0.7705,0.0000,0.0000,-0.6374
+-0.7705,0.0000,0.0000,-0.6374
+-0.7804,0.0000,0.0000,-0.6252
+-0.7804,0.0000,0.0000,-0.6252
+-0.7804,0.0000,0.0000,-0.6252
+-0.7804,0.0000,0.0000,-0.6252
+-0.7902,0.0000,0.0000,-0.6129
+-0.7902,0.0000,0.0000,-0.6129
+-0.7902,0.0000,0.0000,-0.6129
+-0.7902,0.0000,0.0000,-0.6129
+-0.7997,0.0000,0.0000,-0.6004
+-0.7997,0.0000,0.0000,-0.6004
+-0.7997,0.0000,0.0000,-0.6004
+-0.7997,0.0000,0.0000,-0.6004
+-0.8090,0.0000,0.0000,-0.5878
+-0.8090,0.0000,0.0000,-0.5878
+-0.8090,0.0000,0.0000,-0.5878
+-0.8090,0.0000,0.0000,-0.5878
+-0.8182,0.0000,0.0000,-0.5750
+-0.8182,0.0000,0.0000,-0.5750
+-0.8182,0.0000,0.0000,-0.5750
+-0.8182,0.0000,0.0000,-0.5750
+-0.8271,0.0000,0.0000,-0.5621
+-0.8271,0.0000,0.0000,-0.5621
+-0.8271,0.0000,0.0000,-0.5621
+-0.8271,0.0000,0.0000,-0.5621
+-0.8358,0.0000,0.0000,-0.5490
+-0.8358,0.0000,0.0000,-0.5490
+-0.8358,0.0000,0.0000,-0.5490
+-0.8358,0.0000,0.0000,-0.5490
+-0.8443,0.0000,0.0000,-0.5358
+-0.8443,0.0000,0.0000,-0.5358
+-0.8443,0.0000,0.0000,-0.5358
+-0.8443,0.0000,0.0000,-0.5358
+-0.8526,0.0000,0.0000,-0.5225
+-0.8526,0.0000,0.0000,-0.5225
+-0.8526,0.0000,0.0000,-0.5225
+-0.8526,0.0000,0.0000,-0.5225
+-0.8607,0.0000,0.0000,-0.5090
+-0.8607,0.0000,0.0000,-0.5090
+-0.8607,0.0000,0.0000,-0.5090
+-0.8607,0.0000,0.0000,-0.5090
+-0.8686,0.0000,0.0000,-0.4955
+-0.8686,0.0000,0.0000,-0.4955
+-0.8686,0.0000,0.0000,-0.4955
+-0.8686,0.0000,0.0000,-0.4955
+-0.8763,0.0000,0.0000,-0.4818
+-0.8763,0.0000,0.0000,-0.4818
+-0.8763,0.0000,0.0000,-0.4818
+-0.8763,0.0000,0.0000,-0.4818
+-0.8838,0.0000,0.0000,-0.4679
+-0.8838,0.0000,0.0000,-0.4679
+-0.8838,0.0000,0.0000,-0.4679
+-0.8838,0.0000,0.0000,-0.4679
+-0.8910,0.0000,0.0000,-0.4540
+-0.8910,0.0000,0.0000,-0.4540
+-0.8910,0.0000,0.0000,-0.4540
+-0.8910,0.0000,0.0000,-0.4540
+-0.8980,0.0000,0.0000,-0.4399
+-0.8980,0.0000,0.0000,-0.4399
+-0.8980,0.0000,0.0000,-0.4399
+-0.8980,0.0000,0.0000,-0.4399
+-0.9048,0.0000,0.0000,-0.4258
+-0.9048,0.0000,0.0000,-0.4258
+-0.9048,0.0000,0.0000,-0.4258
+-0.9048,0.0000,0.0000,-0.4258
+-0.9114,0.0000,0.0000,-0.4115
+-0.9114,0.0000,0.0000,-0.4115
+-0.9114,0.0000,0.0000,-0.4115
+-0.9114,0.0000,0.0000,-0.4115
+-0.9178,0.0000,0.0000,-0.3971
+-0.9178,0.0000,0.0000,-0.3971
+-0.9178,0.0000,0.0000,-0.3971
+-0.9178,0.0000,0.0000,-0.3971
+-0.9239,0.0000,0.0000,-0.3827
+-0.9239,0.0000,0.0000,-0.3827
+-0.9239,0.0000,0.0000,-0.3827
+-0.9239,0.0000,0.0000,-0.3827
+-0.9298,0.0000,0.0000,-0.3681
+-0.9298,0.0000,0.0000,-0.3681
+-0.9298,0.0000,0.0000,-0.3681
+-0.9298,0.0000,0.0000,-0.3681
+-0.9354,0.0000,0.0000,-0.3535
+-0.9354,0.0000,0.0000,-0.3535
+-0.9354,0.0000,0.0000,-0.3535
+-0.9354,0.0000,0.0000,-0.3535
+-0.9409,0.0000,0.0000,-0.3387
+-0.9409,0.0000,0.0000,-0.3387
+-0.9409,0.0000,0.0000,-0.3387
+-0.9409,0.0000,0.0000,-0.3387
+-0.9461,0.0000,0.0000,-0.3239
+-0.9461,0.0000,0.0000,-0.3239
+-0.9461,0.0000,0.0000,-0.3239
+-0.9461,0.0000,0.0000,-0.3239
+-0.9511,0.0000,0.0000,-0.3090
+-0.9511,0.0000,0.0000,-0.3090
+-0.9511,0.0000,0.0000,-0.3090
+-0.9511,0.0000,0.0000,-0.3090
+-0.9558,0.0000,0.0000,-0.2940
+-0.9558,0.0000,0.0000,-0.2940
+-0.9558,0.0000,0.0000,-0.2940
+-0.9558,0.0000,0.0000,-0.2940
+-0.9603,0.0000,0.0000,-0.2790
+-0.9603,0.0000,0.0000,-0.2790
+-0.9603,0.0000,0.0000,-0.2790
+-0.9603,0.0000,0.0000,-0.2790
+-0.9646,0.0000,0.0000,-0.2639
+-0.9646,0.0000,0.0000,-0.2639
+-0.9646,0.0000,0.0000,-0.2639
+-0.9646,0.0000,0.0000,-0.2639
+-0.9686,0.0000,0.0000,-0.2487
+-0.9686,0.0000,0.0000,-0.2487
+-0.9686,0.0000,0.0000,-0.2487
+-0.9686,0.0000,0.0000,-0.2487
+-0.9724,0.0000,0.0000,-0.2334
+-0.9724,0.0000,0.0000,-0.2334
+-0.9724,0.0000,0.0000,-0.2334
+-0.9724,0.0000,0.0000,-0.2334
+-0.9759,0.0000,0.0000,-0.2181
+-0.9759,0.0000,0.0000,-0.2181
+-0.9759,0.0000,0.0000,-0.2181
+-0.9759,0.0000,0.0000,-0.2181
+-0.9792,0.0000,0.0000,-0.2028
+-0.9792,0.0000,0.0000,-0.2028
+-0.9792,0.0000,0.0000,-0.2028
+-0.9792,0.0000,0.0000,-0.2028
+-0.9823,0.0000,0.0000,-0.1874
+-0.9823,0.0000,0.0000,-0.1874
+-0.9823,0.0000,0.0000,-0.1874
+-0.9823,0.0000,0.0000,-0.1874
+-0.9851,0.0000,0.0000,-0.1719
+-0.9851,0.0000,0.0000,-0.1719
+-0.9851,0.0000,0.0000,-0.1719
+-0.9851,0.0000,0.0000,-0.1719
+-0.9877,0.0000,0.0000,-0.1564
+-0.9877,0.0000,0.0000,-0.1564
+-0.9877,0.0000,0.0000,-0.1564
+-0.9877,0.0000,0.0000,-0.1564
+-0.9900,0.0000,0.0000,-0.1409
+-0.9900,0.0000,0.0000,-0.1409
+-0.9900,0.0000,0.0000,-0.1409
+-0.9900,0.0000,0.0000,-0.1409
+-0.9921,0.0000,0.0000,-0.1253
+-0.9921,0.0000,0.0000,-0.1253
+-0.9921,0.0000,0.0000,-0.1253
+-0.9921,0.0000,0.0000,-0.1253
+-0.9940,0.0000,0.0000,-0.1097
+-0.9940,0.0000,0.0000,-0.1097
+-0.9940,0.0000,0.0000,-0.1097
+-0.9940,0.0000,0.0000,-0.1097
+-0.9956,0.0000,0.0000,-0.0941
+-0.9956,0.0000,0.0000,-0.0941
+-0.9956,0.0000,0.0000,-0.0941
+-0.9956,0.0000,0.0000,-0.0941
+-0.9969,0.0000,0.0000,-0.0785
+-0.9969,0.0000,0.0000,-0.0785
+-0.9969,0.0000,0.0000,-0.0785
+-0.9969,0.0000,0.0000,-0.0785
+-0.9980,0.0000,0.0000,-0.0628
+-0.9980,0.0000,0.0000,-0.0628
+-0.9980,0.0000,0.0000,-0.0628
+-0.9980,0.0000,0.0000,-0.0628
+-0.9989,0.0000,0.0000,-0.0471
+-0.9989,0.0000,0.0000,-0.0471
+-0.9989,0.0000,0.0000,-0.0471
+-0.9989,0.0000,0.0000,-0.0471
+-0.9995,0.0000,0.0000,-0.0314
+-0.9995,0.0000,0.0000,-0.0314
+-0.9995,0.0000,0.0000,-0.0314
+-0.9995,0.0000,0.0000,-0.0314
+-0.9999,0.0000,0.0000,-0.0157
+-0.9999,0.0000,0.0000,-0.0157
+-0.9999,0.0000,0.0000,-0.0157
+-0.9999,0.0000,0.0000,-0.0157
+1.0000,0.0000,0.0000,-0.0000
+1.0000,0.0000,0.0000,-0.0000
+1.0000,0.0000,0.0000,-0.0000
+1.0000,0.0000,0.0000,-0.0000
diff --git a/scripts/trajectories/full-circle-with-up-and-down-4s-Vector3.csv b/scripts/trajectories/full-circle-with-up-and-down-4s-Vector3.csv
new file mode 100644
index 0000000000000000000000000000000000000000..8fe2d2fe05d8e71170104a79cf3d50315ea722c8
--- /dev/null
+++ b/scripts/trajectories/full-circle-with-up-and-down-4s-Vector3.csv
@@ -0,0 +1,200 @@
+0.0000,0.0000,0.0000,0.7012,-0.0220,-0.7126
+0.0000,0.0000,0.0000,0.7057,-0.0444,-0.7071
+0.0000,0.0000,0.0000,0.7095,-0.0671,-0.7015
+0.0000,0.0000,0.0000,0.7125,-0.0900,-0.6959
+0.0000,0.0000,0.0000,0.7147,-0.1132,-0.6903
+0.0000,0.0000,0.0000,0.7161,-0.1366,-0.6845
+0.0000,0.0000,0.0000,0.7166,-0.1602,-0.6788
+0.0000,0.0000,0.0000,0.7164,-0.1839,-0.6730
+0.0000,0.0000,0.0000,0.7153,-0.2078,-0.6672
+0.0000,0.0000,0.0000,0.7134,-0.2318,-0.6613
+0.0000,0.0000,0.0000,0.7106,-0.2558,-0.6554
+0.0000,0.0000,0.0000,0.7070,-0.2799,-0.6494
+0.0000,0.0000,0.0000,0.7025,-0.3040,-0.6435
+0.0000,0.0000,0.0000,0.6972,-0.3281,-0.6374
+0.0000,0.0000,0.0000,0.6910,-0.3521,-0.6314
+0.0000,0.0000,0.0000,0.6839,-0.3760,-0.6252
+0.0000,0.0000,0.0000,0.6760,-0.3998,-0.6191
+0.0000,0.0000,0.0000,0.6671,-0.4234,-0.6129
+0.0000,0.0000,0.0000,0.6575,-0.4468,-0.6067
+0.0000,0.0000,0.0000,0.6470,-0.4700,-0.6004
+0.0000,0.0000,0.0000,0.6356,-0.4930,-0.5941
+0.0000,0.0000,0.0000,0.6234,-0.5157,-0.5878
+0.0000,0.0000,0.0000,0.6103,-0.5380,-0.5814
+0.0000,0.0000,0.0000,0.5964,-0.5601,-0.5750
+0.0000,0.0000,0.0000,0.5817,-0.5817,-0.5686
+0.0000,0.0000,0.0000,0.5662,-0.6029,-0.5621
+0.0000,0.0000,0.0000,0.5499,-0.6237,-0.5556
+0.0000,0.0000,0.0000,0.5328,-0.6440,-0.5490
+0.0000,0.0000,0.0000,0.5149,-0.6638,-0.5424
+0.0000,0.0000,0.0000,0.4963,-0.6831,-0.5358
+0.0000,0.0000,0.0000,0.4769,-0.7018,-0.5292
+0.0000,0.0000,0.0000,0.4569,-0.7199,-0.5225
+0.0000,0.0000,0.0000,0.4361,-0.7374,-0.5158
+0.0000,0.0000,0.0000,0.4147,-0.7543,-0.5090
+0.0000,0.0000,0.0000,0.3926,-0.7705,-0.5023
+0.0000,0.0000,0.0000,0.3698,-0.7860,-0.4955
+0.0000,0.0000,0.0000,0.3465,-0.8007,-0.4886
+0.0000,0.0000,0.0000,0.3226,-0.8148,-0.4818
+0.0000,0.0000,0.0000,0.2981,-0.8280,-0.4749
+0.0000,0.0000,0.0000,0.2731,-0.8405,-0.4679
+0.0000,0.0000,0.0000,0.2476,-0.8522,-0.4610
+0.0000,0.0000,0.0000,0.2216,-0.8630,-0.4540
+0.0000,0.0000,0.0000,0.1951,-0.8730,-0.4470
+0.0000,0.0000,0.0000,0.1683,-0.8821,-0.4399
+0.0000,0.0000,0.0000,0.1410,-0.8904,-0.4329
+0.0000,0.0000,0.0000,0.1134,-0.8977,-0.4258
+0.0000,0.0000,0.0000,0.0855,-0.9041,-0.4187
+0.0000,0.0000,0.0000,0.0572,-0.9096,-0.4115
+0.0000,0.0000,0.0000,0.0287,-0.9142,-0.4043
+0.0000,0.0000,0.0000,-0.0000,-0.9178,-0.3971
+0.0000,0.0000,0.0000,-0.0289,-0.9204,-0.3899
+0.0000,0.0000,0.0000,-0.0580,-0.9221,-0.3827
+0.0000,0.0000,0.0000,-0.0872,-0.9227,-0.3754
+0.0000,0.0000,0.0000,-0.1165,-0.9224,-0.3681
+0.0000,0.0000,0.0000,-0.1459,-0.9212,-0.3608
+0.0000,0.0000,0.0000,-0.1753,-0.9189,-0.3535
+0.0000,0.0000,0.0000,-0.2047,-0.9156,-0.3461
+0.0000,0.0000,0.0000,-0.2340,-0.9113,-0.3387
+0.0000,0.0000,0.0000,-0.2632,-0.9060,-0.3313
+0.0000,0.0000,0.0000,-0.2924,-0.8998,-0.3239
+0.0000,0.0000,0.0000,-0.3213,-0.8925,-0.3165
+0.0000,0.0000,0.0000,-0.3501,-0.8843,-0.3090
+0.0000,0.0000,0.0000,-0.3787,-0.8750,-0.3015
+0.0000,0.0000,0.0000,-0.4070,-0.8648,-0.2940
+0.0000,0.0000,0.0000,-0.4350,-0.8536,-0.2865
+0.0000,0.0000,0.0000,-0.4626,-0.8415,-0.2790
+0.0000,0.0000,0.0000,-0.4899,-0.8284,-0.2714
+0.0000,0.0000,0.0000,-0.5168,-0.8144,-0.2639
+0.0000,0.0000,0.0000,-0.5433,-0.7995,-0.2563
+0.0000,0.0000,0.0000,-0.5693,-0.7836,-0.2487
+0.0000,0.0000,0.0000,-0.5948,-0.7669,-0.2411
+0.0000,0.0000,0.0000,-0.6198,-0.7492,-0.2334
+0.0000,0.0000,0.0000,-0.6442,-0.7307,-0.2258
+0.0000,0.0000,0.0000,-0.6681,-0.7114,-0.2181
+0.0000,0.0000,0.0000,-0.6913,-0.6913,-0.2105
+0.0000,0.0000,0.0000,-0.7138,-0.6703,-0.2028
+0.0000,0.0000,0.0000,-0.7357,-0.6486,-0.1951
+0.0000,0.0000,0.0000,-0.7569,-0.6261,-0.1874
+0.0000,0.0000,0.0000,-0.7773,-0.6029,-0.1797
+0.0000,0.0000,0.0000,-0.7970,-0.5790,-0.1719
+0.0000,0.0000,0.0000,-0.8159,-0.5545,-0.1642
+0.0000,0.0000,0.0000,-0.8339,-0.5292,-0.1564
+0.0000,0.0000,0.0000,-0.8512,-0.5034,-0.1487
+0.0000,0.0000,0.0000,-0.8676,-0.4769,-0.1409
+0.0000,0.0000,0.0000,-0.8831,-0.4499,-0.1331
+0.0000,0.0000,0.0000,-0.8977,-0.4224,-0.1253
+0.0000,0.0000,0.0000,-0.9114,-0.3944,-0.1175
+0.0000,0.0000,0.0000,-0.9242,-0.3659,-0.1097
+0.0000,0.0000,0.0000,-0.9360,-0.3370,-0.1019
+0.0000,0.0000,0.0000,-0.9468,-0.3076,-0.0941
+0.0000,0.0000,0.0000,-0.9567,-0.2779,-0.0863
+0.0000,0.0000,0.0000,-0.9656,-0.2479,-0.0785
+0.0000,0.0000,0.0000,-0.9735,-0.2176,-0.0706
+0.0000,0.0000,0.0000,-0.9803,-0.1870,-0.0628
+0.0000,0.0000,0.0000,-0.9862,-0.1562,-0.0549
+0.0000,0.0000,0.0000,-0.9910,-0.1252,-0.0471
+0.0000,0.0000,0.0000,-0.9948,-0.0940,-0.0393
+0.0000,0.0000,0.0000,-0.9975,-0.0628,-0.0314
+0.0000,0.0000,0.0000,-0.9992,-0.0314,-0.0236
+0.0000,0.0000,0.0000,-0.9999,0.0000,-0.0157
+0.0000,0.0000,0.0000,-0.9995,0.0314,-0.0079
+0.0000,0.0000,0.0000,-0.9980,0.0628,0.0000
+0.0000,0.0000,0.0000,-0.9955,0.0941,0.0079
+0.0000,0.0000,0.0000,-0.9920,0.1253,0.0157
+0.0000,0.0000,0.0000,-0.9874,0.1564,0.0236
+0.0000,0.0000,0.0000,-0.9818,0.1873,0.0314
+0.0000,0.0000,0.0000,-0.9752,0.2180,0.0393
+0.0000,0.0000,0.0000,-0.9675,0.2484,0.0471
+0.0000,0.0000,0.0000,-0.9588,0.2786,0.0550
+0.0000,0.0000,0.0000,-0.9492,0.3084,0.0628
+0.0000,0.0000,0.0000,-0.9385,0.3379,0.0706
+0.0000,0.0000,0.0000,-0.9269,0.3670,0.0785
+0.0000,0.0000,0.0000,-0.9143,0.3957,0.0863
+0.0000,0.0000,0.0000,-0.9008,0.4239,0.0941
+0.0000,0.0000,0.0000,-0.8864,0.4516,0.1019
+0.0000,0.0000,0.0000,-0.8710,0.4788,0.1097
+0.0000,0.0000,0.0000,-0.8548,0.5055,0.1175
+0.0000,0.0000,0.0000,-0.8377,0.5316,0.1253
+0.0000,0.0000,0.0000,-0.8197,0.5571,0.1331
+0.0000,0.0000,0.0000,-0.8009,0.5819,0.1409
+0.0000,0.0000,0.0000,-0.7814,0.6061,0.1487
+0.0000,0.0000,0.0000,-0.7610,0.6296,0.1564
+0.0000,0.0000,0.0000,-0.7399,0.6523,0.1642
+0.0000,0.0000,0.0000,-0.7181,0.6744,0.1719
+0.0000,0.0000,0.0000,-0.6956,0.6956,0.1797
+0.0000,0.0000,0.0000,-0.6724,0.7161,0.1874
+0.0000,0.0000,0.0000,-0.6486,0.7357,0.1951
+0.0000,0.0000,0.0000,-0.6242,0.7545,0.2028
+0.0000,0.0000,0.0000,-0.5992,0.7725,0.2105
+0.0000,0.0000,0.0000,-0.5736,0.7895,0.2181
+0.0000,0.0000,0.0000,-0.5476,0.8057,0.2258
+0.0000,0.0000,0.0000,-0.5210,0.8210,0.2334
+0.0000,0.0000,0.0000,-0.4940,0.8354,0.2411
+0.0000,0.0000,0.0000,-0.4666,0.8488,0.2487
+0.0000,0.0000,0.0000,-0.4388,0.8612,0.2563
+0.0000,0.0000,0.0000,-0.4107,0.8728,0.2639
+0.0000,0.0000,0.0000,-0.3822,0.8833,0.2714
+0.0000,0.0000,0.0000,-0.3535,0.8929,0.2790
+0.0000,0.0000,0.0000,-0.3245,0.9014,0.2865
+0.0000,0.0000,0.0000,-0.2954,0.9090,0.2940
+0.0000,0.0000,0.0000,-0.2660,0.9156,0.3015
+0.0000,0.0000,0.0000,-0.2365,0.9212,0.3090
+0.0000,0.0000,0.0000,-0.2069,0.9258,0.3165
+0.0000,0.0000,0.0000,-0.1773,0.9293,0.3239
+0.0000,0.0000,0.0000,-0.1476,0.9319,0.3313
+0.0000,0.0000,0.0000,-0.1179,0.9335,0.3387
+0.0000,0.0000,0.0000,-0.0883,0.9340,0.3461
+0.0000,0.0000,0.0000,-0.0587,0.9336,0.3535
+0.0000,0.0000,0.0000,-0.0293,0.9322,0.3608
+0.0000,0.0000,0.0000,0.0000,0.9298,0.3681
+0.0000,0.0000,0.0000,0.0291,0.9264,0.3754
+0.0000,0.0000,0.0000,0.0580,0.9221,0.3827
+0.0000,0.0000,0.0000,0.0867,0.9168,0.3899
+0.0000,0.0000,0.0000,0.1150,0.9105,0.3971
+0.0000,0.0000,0.0000,0.1431,0.9033,0.4043
+0.0000,0.0000,0.0000,0.1708,0.8953,0.4115
+0.0000,0.0000,0.0000,0.1981,0.8863,0.4187
+0.0000,0.0000,0.0000,0.2250,0.8764,0.4258
+0.0000,0.0000,0.0000,0.2515,0.8657,0.4329
+0.0000,0.0000,0.0000,0.2775,0.8541,0.4399
+0.0000,0.0000,0.0000,0.3030,0.8417,0.4470
+0.0000,0.0000,0.0000,0.3280,0.8284,0.4540
+0.0000,0.0000,0.0000,0.3524,0.8144,0.4610
+0.0000,0.0000,0.0000,0.3763,0.7997,0.4679
+0.0000,0.0000,0.0000,0.3995,0.7841,0.4749
+0.0000,0.0000,0.0000,0.4222,0.7679,0.4818
+0.0000,0.0000,0.0000,0.4441,0.7510,0.4886
+0.0000,0.0000,0.0000,0.4654,0.7334,0.4955
+0.0000,0.0000,0.0000,0.4860,0.7152,0.5023
+0.0000,0.0000,0.0000,0.5059,0.6964,0.5090
+0.0000,0.0000,0.0000,0.5251,0.6769,0.5158
+0.0000,0.0000,0.0000,0.5435,0.6570,0.5225
+0.0000,0.0000,0.0000,0.5611,0.6365,0.5292
+0.0000,0.0000,0.0000,0.5780,0.6155,0.5358
+0.0000,0.0000,0.0000,0.5940,0.5940,0.5424
+0.0000,0.0000,0.0000,0.6093,0.5721,0.5490
+0.0000,0.0000,0.0000,0.6237,0.5499,0.5556
+0.0000,0.0000,0.0000,0.6373,0.5272,0.5621
+0.0000,0.0000,0.0000,0.6500,0.5042,0.5686
+0.0000,0.0000,0.0000,0.6619,0.4809,0.5750
+0.0000,0.0000,0.0000,0.6729,0.4573,0.5814
+0.0000,0.0000,0.0000,0.6831,0.4335,0.5878
+0.0000,0.0000,0.0000,0.6924,0.4095,0.5941
+0.0000,0.0000,0.0000,0.7008,0.3852,0.6004
+0.0000,0.0000,0.0000,0.7083,0.3609,0.6067
+0.0000,0.0000,0.0000,0.7150,0.3364,0.6129
+0.0000,0.0000,0.0000,0.7207,0.3119,0.6191
+0.0000,0.0000,0.0000,0.7256,0.2873,0.6252
+0.0000,0.0000,0.0000,0.7296,0.2627,0.6314
+0.0000,0.0000,0.0000,0.7328,0.2381,0.6374
+0.0000,0.0000,0.0000,0.7351,0.2136,0.6435
+0.0000,0.0000,0.0000,0.7365,0.1891,0.6494
+0.0000,0.0000,0.0000,0.7371,0.1648,0.6554
+0.0000,0.0000,0.0000,0.7368,0.1406,0.6613
+0.0000,0.0000,0.0000,0.7357,0.1165,0.6672
+0.0000,0.0000,0.0000,0.7338,0.0927,0.6730
+0.0000,0.0000,0.0000,0.7311,0.0691,0.6788
+0.0000,0.0000,0.0000,0.7275,0.0458,0.6845
+0.0000,0.0000,0.0000,0.7232,0.0227,0.6903
+0.0000,0.0000,0.0000,0.7181,-0.0000,0.6959
diff --git a/scripts/trajectories/full-circle-with-up-and-down-4s-ccw-Vector3.csv b/scripts/trajectories/full-circle-with-up-and-down-4s-ccw-Vector3.csv
new file mode 100644
index 0000000000000000000000000000000000000000..63108890206963dbde169465283d8eb28796fc68
--- /dev/null
+++ b/scripts/trajectories/full-circle-with-up-and-down-4s-ccw-Vector3.csv
@@ -0,0 +1,200 @@
+0.0000,0.0000,0.0000,0.7012,0.0220,0.7126
+0.0000,0.0000,0.0000,0.7057,0.0444,0.7071
+0.0000,0.0000,0.0000,0.7095,0.0671,0.7015
+0.0000,0.0000,0.0000,0.7125,0.0900,0.6959
+0.0000,0.0000,0.0000,0.7147,0.1132,0.6903
+0.0000,0.0000,0.0000,0.7161,0.1366,0.6845
+0.0000,0.0000,0.0000,0.7166,0.1602,0.6788
+0.0000,0.0000,0.0000,0.7164,0.1839,0.6730
+0.0000,0.0000,0.0000,0.7153,0.2078,0.6672
+0.0000,0.0000,0.0000,0.7134,0.2318,0.6613
+0.0000,0.0000,0.0000,0.7106,0.2558,0.6554
+0.0000,0.0000,0.0000,0.7070,0.2799,0.6494
+0.0000,0.0000,0.0000,0.7025,0.3040,0.6435
+0.0000,0.0000,0.0000,0.6972,0.3281,0.6374
+0.0000,0.0000,0.0000,0.6910,0.3521,0.6314
+0.0000,0.0000,0.0000,0.6839,0.3760,0.6252
+0.0000,0.0000,0.0000,0.6760,0.3998,0.6191
+0.0000,0.0000,0.0000,0.6671,0.4234,0.6129
+0.0000,0.0000,0.0000,0.6575,0.4468,0.6067
+0.0000,0.0000,0.0000,0.6470,0.4700,0.6004
+0.0000,0.0000,0.0000,0.6356,0.4930,0.5941
+0.0000,0.0000,0.0000,0.6234,0.5157,0.5878
+0.0000,0.0000,0.0000,0.6103,0.5380,0.5814
+0.0000,0.0000,0.0000,0.5964,0.5601,0.5750
+0.0000,0.0000,0.0000,0.5817,0.5817,0.5686
+0.0000,0.0000,0.0000,0.5662,0.6029,0.5621
+0.0000,0.0000,0.0000,0.5499,0.6237,0.5556
+0.0000,0.0000,0.0000,0.5328,0.6440,0.5490
+0.0000,0.0000,0.0000,0.5149,0.6638,0.5424
+0.0000,0.0000,0.0000,0.4963,0.6831,0.5358
+0.0000,0.0000,0.0000,0.4769,0.7018,0.5292
+0.0000,0.0000,0.0000,0.4569,0.7199,0.5225
+0.0000,0.0000,0.0000,0.4361,0.7374,0.5158
+0.0000,0.0000,0.0000,0.4147,0.7543,0.5090
+0.0000,0.0000,0.0000,0.3926,0.7705,0.5023
+0.0000,0.0000,0.0000,0.3698,0.7860,0.4955
+0.0000,0.0000,0.0000,0.3465,0.8007,0.4886
+0.0000,0.0000,0.0000,0.3226,0.8148,0.4818
+0.0000,0.0000,0.0000,0.2981,0.8280,0.4749
+0.0000,0.0000,0.0000,0.2731,0.8405,0.4679
+0.0000,0.0000,0.0000,0.2476,0.8522,0.4610
+0.0000,0.0000,0.0000,0.2216,0.8630,0.4540
+0.0000,0.0000,0.0000,0.1951,0.8730,0.4470
+0.0000,0.0000,0.0000,0.1683,0.8821,0.4399
+0.0000,0.0000,0.0000,0.1410,0.8904,0.4329
+0.0000,0.0000,0.0000,0.1134,0.8977,0.4258
+0.0000,0.0000,0.0000,0.0855,0.9041,0.4187
+0.0000,0.0000,0.0000,0.0572,0.9096,0.4115
+0.0000,0.0000,0.0000,0.0287,0.9142,0.4043
+0.0000,0.0000,0.0000,-0.0000,0.9178,0.3971
+0.0000,0.0000,0.0000,-0.0289,0.9204,0.3899
+0.0000,0.0000,0.0000,-0.0580,0.9221,0.3827
+0.0000,0.0000,0.0000,-0.0872,0.9227,0.3754
+0.0000,0.0000,0.0000,-0.1165,0.9224,0.3681
+0.0000,0.0000,0.0000,-0.1459,0.9212,0.3608
+0.0000,0.0000,0.0000,-0.1753,0.9189,0.3535
+0.0000,0.0000,0.0000,-0.2047,0.9156,0.3461
+0.0000,0.0000,0.0000,-0.2340,0.9113,0.3387
+0.0000,0.0000,0.0000,-0.2632,0.9060,0.3313
+0.0000,0.0000,0.0000,-0.2924,0.8998,0.3239
+0.0000,0.0000,0.0000,-0.3213,0.8925,0.3165
+0.0000,0.0000,0.0000,-0.3501,0.8843,0.3090
+0.0000,0.0000,0.0000,-0.3787,0.8750,0.3015
+0.0000,0.0000,0.0000,-0.4070,0.8648,0.2940
+0.0000,0.0000,0.0000,-0.4350,0.8536,0.2865
+0.0000,0.0000,0.0000,-0.4626,0.8415,0.2790
+0.0000,0.0000,0.0000,-0.4899,0.8284,0.2714
+0.0000,0.0000,0.0000,-0.5168,0.8144,0.2639
+0.0000,0.0000,0.0000,-0.5433,0.7995,0.2563
+0.0000,0.0000,0.0000,-0.5693,0.7836,0.2487
+0.0000,0.0000,0.0000,-0.5948,0.7669,0.2411
+0.0000,0.0000,0.0000,-0.6198,0.7492,0.2334
+0.0000,0.0000,0.0000,-0.6442,0.7307,0.2258
+0.0000,0.0000,0.0000,-0.6681,0.7114,0.2181
+0.0000,0.0000,0.0000,-0.6913,0.6913,0.2105
+0.0000,0.0000,0.0000,-0.7138,0.6703,0.2028
+0.0000,0.0000,0.0000,-0.7357,0.6486,0.1951
+0.0000,0.0000,0.0000,-0.7569,0.6261,0.1874
+0.0000,0.0000,0.0000,-0.7773,0.6029,0.1797
+0.0000,0.0000,0.0000,-0.7970,0.5790,0.1719
+0.0000,0.0000,0.0000,-0.8159,0.5545,0.1642
+0.0000,0.0000,0.0000,-0.8339,0.5292,0.1564
+0.0000,0.0000,0.0000,-0.8512,0.5034,0.1487
+0.0000,0.0000,0.0000,-0.8676,0.4769,0.1409
+0.0000,0.0000,0.0000,-0.8831,0.4499,0.1331
+0.0000,0.0000,0.0000,-0.8977,0.4224,0.1253
+0.0000,0.0000,0.0000,-0.9114,0.3944,0.1175
+0.0000,0.0000,0.0000,-0.9242,0.3659,0.1097
+0.0000,0.0000,0.0000,-0.9360,0.3370,0.1019
+0.0000,0.0000,0.0000,-0.9468,0.3076,0.0941
+0.0000,0.0000,0.0000,-0.9567,0.2779,0.0863
+0.0000,0.0000,0.0000,-0.9656,0.2479,0.0785
+0.0000,0.0000,0.0000,-0.9735,0.2176,0.0706
+0.0000,0.0000,0.0000,-0.9803,0.1870,0.0628
+0.0000,0.0000,0.0000,-0.9862,0.1562,0.0549
+0.0000,0.0000,0.0000,-0.9910,0.1252,0.0471
+0.0000,0.0000,0.0000,-0.9948,0.0940,0.0393
+0.0000,0.0000,0.0000,-0.9975,0.0628,0.0314
+0.0000,0.0000,0.0000,-0.9992,0.0314,0.0236
+0.0000,0.0000,0.0000,-0.9999,-0.0000,0.0157
+0.0000,0.0000,0.0000,-0.9995,-0.0314,0.0079
+0.0000,0.0000,0.0000,-0.9980,-0.0628,-0.0000
+0.0000,0.0000,0.0000,-0.9955,-0.0941,-0.0079
+0.0000,0.0000,0.0000,-0.9920,-0.1253,-0.0157
+0.0000,0.0000,0.0000,-0.9874,-0.1564,-0.0236
+0.0000,0.0000,0.0000,-0.9818,-0.1873,-0.0314
+0.0000,0.0000,0.0000,-0.9752,-0.2180,-0.0393
+0.0000,0.0000,0.0000,-0.9675,-0.2484,-0.0471
+0.0000,0.0000,0.0000,-0.9588,-0.2786,-0.0550
+0.0000,0.0000,0.0000,-0.9492,-0.3084,-0.0628
+0.0000,0.0000,0.0000,-0.9385,-0.3379,-0.0706
+0.0000,0.0000,0.0000,-0.9269,-0.3670,-0.0785
+0.0000,0.0000,0.0000,-0.9143,-0.3957,-0.0863
+0.0000,0.0000,0.0000,-0.9008,-0.4239,-0.0941
+0.0000,0.0000,0.0000,-0.8864,-0.4516,-0.1019
+0.0000,0.0000,0.0000,-0.8710,-0.4788,-0.1097
+0.0000,0.0000,0.0000,-0.8548,-0.5055,-0.1175
+0.0000,0.0000,0.0000,-0.8377,-0.5316,-0.1253
+0.0000,0.0000,0.0000,-0.8197,-0.5571,-0.1331
+0.0000,0.0000,0.0000,-0.8009,-0.5819,-0.1409
+0.0000,0.0000,0.0000,-0.7814,-0.6061,-0.1487
+0.0000,0.0000,0.0000,-0.7610,-0.6296,-0.1564
+0.0000,0.0000,0.0000,-0.7399,-0.6523,-0.1642
+0.0000,0.0000,0.0000,-0.7181,-0.6744,-0.1719
+0.0000,0.0000,0.0000,-0.6956,-0.6956,-0.1797
+0.0000,0.0000,0.0000,-0.6724,-0.7161,-0.1874
+0.0000,0.0000,0.0000,-0.6486,-0.7357,-0.1951
+0.0000,0.0000,0.0000,-0.6242,-0.7545,-0.2028
+0.0000,0.0000,0.0000,-0.5992,-0.7725,-0.2105
+0.0000,0.0000,0.0000,-0.5736,-0.7895,-0.2181
+0.0000,0.0000,0.0000,-0.5476,-0.8057,-0.2258
+0.0000,0.0000,0.0000,-0.5210,-0.8210,-0.2334
+0.0000,0.0000,0.0000,-0.4940,-0.8354,-0.2411
+0.0000,0.0000,0.0000,-0.4666,-0.8488,-0.2487
+0.0000,0.0000,0.0000,-0.4388,-0.8612,-0.2563
+0.0000,0.0000,0.0000,-0.4107,-0.8728,-0.2639
+0.0000,0.0000,0.0000,-0.3822,-0.8833,-0.2714
+0.0000,0.0000,0.0000,-0.3535,-0.8929,-0.2790
+0.0000,0.0000,0.0000,-0.3245,-0.9014,-0.2865
+0.0000,0.0000,0.0000,-0.2954,-0.9090,-0.2940
+0.0000,0.0000,0.0000,-0.2660,-0.9156,-0.3015
+0.0000,0.0000,0.0000,-0.2365,-0.9212,-0.3090
+0.0000,0.0000,0.0000,-0.2069,-0.9258,-0.3165
+0.0000,0.0000,0.0000,-0.1773,-0.9293,-0.3239
+0.0000,0.0000,0.0000,-0.1476,-0.9319,-0.3313
+0.0000,0.0000,0.0000,-0.1179,-0.9335,-0.3387
+0.0000,0.0000,0.0000,-0.0883,-0.9340,-0.3461
+0.0000,0.0000,0.0000,-0.0587,-0.9336,-0.3535
+0.0000,0.0000,0.0000,-0.0293,-0.9322,-0.3608
+0.0000,0.0000,0.0000,0.0000,-0.9298,-0.3681
+0.0000,0.0000,0.0000,0.0291,-0.9264,-0.3754
+0.0000,0.0000,0.0000,0.0580,-0.9221,-0.3827
+0.0000,0.0000,0.0000,0.0867,-0.9168,-0.3899
+0.0000,0.0000,0.0000,0.1150,-0.9105,-0.3971
+0.0000,0.0000,0.0000,0.1431,-0.9033,-0.4043
+0.0000,0.0000,0.0000,0.1708,-0.8953,-0.4115
+0.0000,0.0000,0.0000,0.1981,-0.8863,-0.4187
+0.0000,0.0000,0.0000,0.2250,-0.8764,-0.4258
+0.0000,0.0000,0.0000,0.2515,-0.8657,-0.4329
+0.0000,0.0000,0.0000,0.2775,-0.8541,-0.4399
+0.0000,0.0000,0.0000,0.3030,-0.8417,-0.4470
+0.0000,0.0000,0.0000,0.3280,-0.8284,-0.4540
+0.0000,0.0000,0.0000,0.3524,-0.8144,-0.4610
+0.0000,0.0000,0.0000,0.3763,-0.7997,-0.4679
+0.0000,0.0000,0.0000,0.3995,-0.7841,-0.4749
+0.0000,0.0000,0.0000,0.4222,-0.7679,-0.4818
+0.0000,0.0000,0.0000,0.4441,-0.7510,-0.4886
+0.0000,0.0000,0.0000,0.4654,-0.7334,-0.4955
+0.0000,0.0000,0.0000,0.4860,-0.7152,-0.5023
+0.0000,0.0000,0.0000,0.5059,-0.6964,-0.5090
+0.0000,0.0000,0.0000,0.5251,-0.6769,-0.5158
+0.0000,0.0000,0.0000,0.5435,-0.6570,-0.5225
+0.0000,0.0000,0.0000,0.5611,-0.6365,-0.5292
+0.0000,0.0000,0.0000,0.5780,-0.6155,-0.5358
+0.0000,0.0000,0.0000,0.5940,-0.5940,-0.5424
+0.0000,0.0000,0.0000,0.6093,-0.5721,-0.5490
+0.0000,0.0000,0.0000,0.6237,-0.5499,-0.5556
+0.0000,0.0000,0.0000,0.6373,-0.5272,-0.5621
+0.0000,0.0000,0.0000,0.6500,-0.5042,-0.5686
+0.0000,0.0000,0.0000,0.6619,-0.4809,-0.5750
+0.0000,0.0000,0.0000,0.6729,-0.4573,-0.5814
+0.0000,0.0000,0.0000,0.6831,-0.4335,-0.5878
+0.0000,0.0000,0.0000,0.6924,-0.4095,-0.5941
+0.0000,0.0000,0.0000,0.7008,-0.3852,-0.6004
+0.0000,0.0000,0.0000,0.7083,-0.3609,-0.6067
+0.0000,0.0000,0.0000,0.7150,-0.3364,-0.6129
+0.0000,0.0000,0.0000,0.7207,-0.3119,-0.6191
+0.0000,0.0000,0.0000,0.7256,-0.2873,-0.6252
+0.0000,0.0000,0.0000,0.7296,-0.2627,-0.6314
+0.0000,0.0000,0.0000,0.7328,-0.2381,-0.6374
+0.0000,0.0000,0.0000,0.7351,-0.2136,-0.6435
+0.0000,0.0000,0.0000,0.7365,-0.1891,-0.6494
+0.0000,0.0000,0.0000,0.7371,-0.1648,-0.6554
+0.0000,0.0000,0.0000,0.7368,-0.1406,-0.6613
+0.0000,0.0000,0.0000,0.7357,-0.1165,-0.6672
+0.0000,0.0000,0.0000,0.7338,-0.0927,-0.6730
+0.0000,0.0000,0.0000,0.7311,-0.0691,-0.6788
+0.0000,0.0000,0.0000,0.7275,-0.0458,-0.6845
+0.0000,0.0000,0.0000,0.7232,-0.0227,-0.6903
+0.0000,0.0000,0.0000,0.7181,0.0000,-0.6959
diff --git a/scripts/trajectories/full-circle-with-up-and-down-4s-ccw.csv b/scripts/trajectories/full-circle-with-up-and-down-4s-ccw.csv
new file mode 100644
index 0000000000000000000000000000000000000000..1e4a316720c584ee96394a65340d0e6726332552
--- /dev/null
+++ b/scripts/trajectories/full-circle-with-up-and-down-4s-ccw.csv
@@ -0,0 +1,800 @@
+0.9223,-0.0000,-0.3863,0.0119
+0.9223,-0.0000,-0.3863,0.0119
+0.9223,-0.0000,-0.3863,0.0119
+0.9223,-0.0000,-0.3863,0.0119
+0.9235,-0.0000,-0.3828,0.0240
+0.9235,-0.0000,-0.3828,0.0240
+0.9235,-0.0000,-0.3828,0.0240
+0.9235,-0.0000,-0.3828,0.0240
+0.9245,-0.0000,-0.3794,0.0363
+0.9245,-0.0000,-0.3794,0.0363
+0.9245,-0.0000,-0.3794,0.0363
+0.9245,-0.0000,-0.3794,0.0363
+0.9253,-0.0000,-0.3760,0.0486
+0.9253,-0.0000,-0.3760,0.0486
+0.9253,-0.0000,-0.3760,0.0486
+0.9253,-0.0000,-0.3760,0.0486
+0.9259,-0.0000,-0.3727,0.0611
+0.9259,-0.0000,-0.3727,0.0611
+0.9259,-0.0000,-0.3727,0.0611
+0.9259,-0.0000,-0.3727,0.0611
+0.9263,-0.0000,-0.3695,0.0737
+0.9263,-0.0000,-0.3695,0.0737
+0.9263,-0.0000,-0.3695,0.0737
+0.9263,-0.0000,-0.3695,0.0737
+0.9265,-0.0000,-0.3663,0.0865
+0.9265,-0.0000,-0.3663,0.0865
+0.9265,-0.0000,-0.3663,0.0865
+0.9265,-0.0000,-0.3663,0.0865
+0.9264,-0.0000,-0.3632,0.0993
+0.9264,-0.0000,-0.3632,0.0993
+0.9264,-0.0000,-0.3632,0.0993
+0.9264,-0.0000,-0.3632,0.0993
+0.9261,-0.0000,-0.3602,0.1122
+0.9261,-0.0000,-0.3602,0.1122
+0.9261,-0.0000,-0.3602,0.1122
+0.9261,-0.0000,-0.3602,0.1122
+0.9256,-0.0000,-0.3572,0.1252
+0.9256,-0.0000,-0.3572,0.1252
+0.9256,-0.0000,-0.3572,0.1252
+0.9256,-0.0000,-0.3572,0.1252
+0.9248,-0.0000,-0.3543,0.1383
+0.9248,-0.0000,-0.3543,0.1383
+0.9248,-0.0000,-0.3543,0.1383
+0.9248,-0.0000,-0.3543,0.1383
+0.9239,-0.0000,-0.3515,0.1515
+0.9239,-0.0000,-0.3515,0.1515
+0.9239,-0.0000,-0.3515,0.1515
+0.9239,-0.0000,-0.3515,0.1515
+0.9226,-0.0000,-0.3487,0.1648
+0.9226,-0.0000,-0.3487,0.1648
+0.9226,-0.0000,-0.3487,0.1648
+0.9226,-0.0000,-0.3487,0.1648
+0.9212,-0.0000,-0.3460,0.1781
+0.9212,-0.0000,-0.3460,0.1781
+0.9212,-0.0000,-0.3460,0.1781
+0.9212,-0.0000,-0.3460,0.1781
+0.9195,-0.0000,-0.3433,0.1914
+0.9195,-0.0000,-0.3433,0.1914
+0.9195,-0.0000,-0.3433,0.1914
+0.9195,-0.0000,-0.3433,0.1914
+0.9176,-0.0000,-0.3407,0.2049
+0.9176,-0.0000,-0.3407,0.2049
+0.9176,-0.0000,-0.3407,0.2049
+0.9176,-0.0000,-0.3407,0.2049
+0.9154,-0.0000,-0.3382,0.2183
+0.9154,-0.0000,-0.3382,0.2183
+0.9154,-0.0000,-0.3382,0.2183
+0.9154,-0.0000,-0.3382,0.2183
+0.9130,-0.0000,-0.3357,0.2319
+0.9130,-0.0000,-0.3357,0.2319
+0.9130,-0.0000,-0.3357,0.2319
+0.9130,-0.0000,-0.3357,0.2319
+0.9104,-0.0000,-0.3332,0.2454
+0.9104,-0.0000,-0.3332,0.2454
+0.9104,-0.0000,-0.3332,0.2454
+0.9104,-0.0000,-0.3332,0.2454
+0.9075,-0.0000,-0.3308,0.2590
+0.9075,-0.0000,-0.3308,0.2590
+0.9075,-0.0000,-0.3308,0.2590
+0.9075,-0.0000,-0.3308,0.2590
+0.9043,-0.0000,-0.3285,0.2726
+0.9043,-0.0000,-0.3285,0.2726
+0.9043,-0.0000,-0.3285,0.2726
+0.9043,-0.0000,-0.3285,0.2726
+0.9009,-0.0000,-0.3262,0.2862
+0.9009,-0.0000,-0.3262,0.2862
+0.9009,-0.0000,-0.3262,0.2862
+0.9009,-0.0000,-0.3262,0.2862
+0.8973,-0.0000,-0.3240,0.2998
+0.8973,-0.0000,-0.3240,0.2998
+0.8973,-0.0000,-0.3240,0.2998
+0.8973,-0.0000,-0.3240,0.2998
+0.8934,-0.0000,-0.3218,0.3134
+0.8934,-0.0000,-0.3218,0.3134
+0.8934,-0.0000,-0.3218,0.3134
+0.8934,-0.0000,-0.3218,0.3134
+0.8893,-0.0000,-0.3197,0.3271
+0.8893,-0.0000,-0.3197,0.3271
+0.8893,-0.0000,-0.3197,0.3271
+0.8893,-0.0000,-0.3197,0.3271
+0.8849,-0.0000,-0.3176,0.3407
+0.8849,-0.0000,-0.3176,0.3407
+0.8849,-0.0000,-0.3176,0.3407
+0.8849,-0.0000,-0.3176,0.3407
+0.8803,-0.0000,-0.3156,0.3543
+0.8803,-0.0000,-0.3156,0.3543
+0.8803,-0.0000,-0.3156,0.3543
+0.8803,-0.0000,-0.3156,0.3543
+0.8754,-0.0000,-0.3136,0.3678
+0.8754,-0.0000,-0.3136,0.3678
+0.8754,-0.0000,-0.3136,0.3678
+0.8754,-0.0000,-0.3136,0.3678
+0.8703,-0.0000,-0.3116,0.3814
+0.8703,-0.0000,-0.3116,0.3814
+0.8703,-0.0000,-0.3116,0.3814
+0.8703,-0.0000,-0.3116,0.3814
+0.8650,-0.0000,-0.3097,0.3949
+0.8650,-0.0000,-0.3097,0.3949
+0.8650,-0.0000,-0.3097,0.3949
+0.8650,-0.0000,-0.3097,0.3949
+0.8593,-0.0000,-0.3079,0.4083
+0.8593,-0.0000,-0.3079,0.4083
+0.8593,-0.0000,-0.3079,0.4083
+0.8593,-0.0000,-0.3079,0.4083
+0.8535,-0.0000,-0.3061,0.4217
+0.8535,-0.0000,-0.3061,0.4217
+0.8535,-0.0000,-0.3061,0.4217
+0.8535,-0.0000,-0.3061,0.4217
+0.8474,-0.0000,-0.3043,0.4351
+0.8474,-0.0000,-0.3043,0.4351
+0.8474,-0.0000,-0.3043,0.4351
+0.8474,-0.0000,-0.3043,0.4351
+0.8410,-0.0000,-0.3026,0.4484
+0.8410,-0.0000,-0.3026,0.4484
+0.8410,-0.0000,-0.3026,0.4484
+0.8410,-0.0000,-0.3026,0.4484
+0.8344,-0.0000,-0.3010,0.4617
+0.8344,-0.0000,-0.3010,0.4617
+0.8344,-0.0000,-0.3010,0.4617
+0.8344,-0.0000,-0.3010,0.4617
+0.8276,-0.0000,-0.2993,0.4748
+0.8276,-0.0000,-0.2993,0.4748
+0.8276,-0.0000,-0.2993,0.4748
+0.8276,-0.0000,-0.2993,0.4748
+0.8205,-0.0000,-0.2978,0.4879
+0.8205,-0.0000,-0.2978,0.4879
+0.8205,-0.0000,-0.2978,0.4879
+0.8205,-0.0000,-0.2978,0.4879
+0.8132,-0.0000,-0.2962,0.5010
+0.8132,-0.0000,-0.2962,0.5010
+0.8132,-0.0000,-0.2962,0.5010
+0.8132,-0.0000,-0.2962,0.5010
+0.8056,-0.0000,-0.2947,0.5139
+0.8056,-0.0000,-0.2947,0.5139
+0.8056,-0.0000,-0.2947,0.5139
+0.8056,-0.0000,-0.2947,0.5139
+0.7978,-0.0000,-0.2932,0.5267
+0.7978,-0.0000,-0.2932,0.5267
+0.7978,-0.0000,-0.2932,0.5267
+0.7978,-0.0000,-0.2932,0.5267
+0.7898,-0.0000,-0.2918,0.5395
+0.7898,-0.0000,-0.2918,0.5395
+0.7898,-0.0000,-0.2918,0.5395
+0.7898,-0.0000,-0.2918,0.5395
+0.7815,-0.0000,-0.2904,0.5521
+0.7815,-0.0000,-0.2904,0.5521
+0.7815,-0.0000,-0.2904,0.5521
+0.7815,-0.0000,-0.2904,0.5521
+0.7730,-0.0000,-0.2891,0.5647
+0.7730,-0.0000,-0.2891,0.5647
+0.7730,-0.0000,-0.2891,0.5647
+0.7730,-0.0000,-0.2891,0.5647
+0.7643,-0.0000,-0.2878,0.5771
+0.7643,-0.0000,-0.2878,0.5771
+0.7643,-0.0000,-0.2878,0.5771
+0.7643,-0.0000,-0.2878,0.5771
+0.7553,-0.0000,-0.2865,0.5894
+0.7553,-0.0000,-0.2865,0.5894
+0.7553,-0.0000,-0.2865,0.5894
+0.7553,-0.0000,-0.2865,0.5894
+0.7461,-0.0000,-0.2853,0.6016
+0.7461,-0.0000,-0.2853,0.6016
+0.7461,-0.0000,-0.2853,0.6016
+0.7461,-0.0000,-0.2853,0.6016
+0.7367,-0.0000,-0.2841,0.6136
+0.7367,-0.0000,-0.2841,0.6136
+0.7367,-0.0000,-0.2841,0.6136
+0.7367,-0.0000,-0.2841,0.6136
+0.7271,-0.0000,-0.2830,0.6255
+0.7271,-0.0000,-0.2830,0.6255
+0.7271,-0.0000,-0.2830,0.6255
+0.7271,-0.0000,-0.2830,0.6255
+0.7172,-0.0000,-0.2819,0.6373
+0.7172,-0.0000,-0.2819,0.6373
+0.7172,-0.0000,-0.2819,0.6373
+0.7172,-0.0000,-0.2819,0.6373
+0.7071,-0.0000,-0.2808,0.6490
+0.7071,-0.0000,-0.2808,0.6490
+0.7071,-0.0000,-0.2808,0.6490
+0.7071,-0.0000,-0.2808,0.6490
+0.6968,-0.0000,-0.2798,0.6604
+0.6968,-0.0000,-0.2798,0.6604
+0.6968,-0.0000,-0.2798,0.6604
+0.6968,-0.0000,-0.2798,0.6604
+0.6863,-0.0000,-0.2788,0.6718
+0.6863,-0.0000,-0.2788,0.6718
+0.6863,-0.0000,-0.2788,0.6718
+0.6863,-0.0000,-0.2788,0.6718
+0.6756,-0.0000,-0.2779,0.6829
+0.6756,-0.0000,-0.2779,0.6829
+0.6756,-0.0000,-0.2779,0.6829
+0.6756,-0.0000,-0.2779,0.6829
+0.6646,-0.0000,-0.2769,0.6940
+0.6646,-0.0000,-0.2769,0.6940
+0.6646,-0.0000,-0.2769,0.6940
+0.6646,-0.0000,-0.2769,0.6940
+0.6535,-0.0000,-0.2761,0.7048
+0.6535,-0.0000,-0.2761,0.7048
+0.6535,-0.0000,-0.2761,0.7048
+0.6535,-0.0000,-0.2761,0.7048
+0.6422,-0.0000,-0.2752,0.7155
+0.6422,-0.0000,-0.2752,0.7155
+0.6422,-0.0000,-0.2752,0.7155
+0.6422,-0.0000,-0.2752,0.7155
+0.6306,-0.0000,-0.2744,0.7260
+0.6306,-0.0000,-0.2744,0.7260
+0.6306,-0.0000,-0.2744,0.7260
+0.6306,-0.0000,-0.2744,0.7260
+0.6189,-0.0000,-0.2737,0.7363
+0.6189,-0.0000,-0.2737,0.7363
+0.6189,-0.0000,-0.2737,0.7363
+0.6189,-0.0000,-0.2737,0.7363
+0.6069,-0.0000,-0.2730,0.7464
+0.6069,-0.0000,-0.2730,0.7464
+0.6069,-0.0000,-0.2730,0.7464
+0.6069,-0.0000,-0.2730,0.7464
+0.5948,-0.0000,-0.2723,0.7563
+0.5948,-0.0000,-0.2723,0.7563
+0.5948,-0.0000,-0.2723,0.7563
+0.5948,-0.0000,-0.2723,0.7563
+0.5825,-0.0000,-0.2716,0.7661
+0.5825,-0.0000,-0.2716,0.7661
+0.5825,-0.0000,-0.2716,0.7661
+0.5825,-0.0000,-0.2716,0.7661
+0.5700,-0.0000,-0.2710,0.7756
+0.5700,-0.0000,-0.2710,0.7756
+0.5700,-0.0000,-0.2710,0.7756
+0.5700,-0.0000,-0.2710,0.7756
+0.5574,-0.0000,-0.2705,0.7850
+0.5574,-0.0000,-0.2705,0.7850
+0.5574,-0.0000,-0.2705,0.7850
+0.5574,-0.0000,-0.2705,0.7850
+0.5445,-0.0000,-0.2700,0.7941
+0.5445,-0.0000,-0.2700,0.7941
+0.5445,-0.0000,-0.2700,0.7941
+0.5445,-0.0000,-0.2700,0.7941
+0.5315,-0.0000,-0.2695,0.8030
+0.5315,-0.0000,-0.2695,0.8030
+0.5315,-0.0000,-0.2695,0.8030
+0.5315,-0.0000,-0.2695,0.8030
+0.5184,-0.0000,-0.2691,0.8117
+0.5184,-0.0000,-0.2691,0.8117
+0.5184,-0.0000,-0.2691,0.8117
+0.5184,-0.0000,-0.2691,0.8117
+0.5050,-0.0000,-0.2687,0.8202
+0.5050,-0.0000,-0.2687,0.8202
+0.5050,-0.0000,-0.2687,0.8202
+0.5050,-0.0000,-0.2687,0.8202
+0.4915,-0.0000,-0.2684,0.8285
+0.4915,-0.0000,-0.2684,0.8285
+0.4915,-0.0000,-0.2684,0.8285
+0.4915,-0.0000,-0.2684,0.8285
+0.4779,-0.0000,-0.2682,0.8365
+0.4779,-0.0000,-0.2682,0.8365
+0.4779,-0.0000,-0.2682,0.8365
+0.4779,-0.0000,-0.2682,0.8365
+0.4640,-0.0000,-0.2680,0.8443
+0.4640,-0.0000,-0.2680,0.8443
+0.4640,-0.0000,-0.2680,0.8443
+0.4640,-0.0000,-0.2680,0.8443
+0.4501,-0.0000,-0.2678,0.8519
+0.4501,-0.0000,-0.2678,0.8519
+0.4501,-0.0000,-0.2678,0.8519
+0.4501,-0.0000,-0.2678,0.8519
+0.4360,-0.0000,-0.2677,0.8592
+0.4360,-0.0000,-0.2677,0.8592
+0.4360,-0.0000,-0.2677,0.8592
+0.4360,-0.0000,-0.2677,0.8592
+0.4218,-0.0000,-0.2677,0.8663
+0.4218,-0.0000,-0.2677,0.8663
+0.4218,-0.0000,-0.2677,0.8663
+0.4218,-0.0000,-0.2677,0.8663
+0.4074,-0.0000,-0.2677,0.8731
+0.4074,-0.0000,-0.2677,0.8731
+0.4074,-0.0000,-0.2677,0.8731
+0.4074,-0.0000,-0.2677,0.8731
+0.3929,-0.0000,-0.2678,0.8797
+0.3929,-0.0000,-0.2678,0.8797
+0.3929,-0.0000,-0.2678,0.8797
+0.3929,-0.0000,-0.2678,0.8797
+0.3783,-0.0000,-0.2680,0.8860
+0.3783,-0.0000,-0.2680,0.8860
+0.3783,-0.0000,-0.2680,0.8860
+0.3783,-0.0000,-0.2680,0.8860
+0.3635,-0.0000,-0.2683,0.8921
+0.3635,-0.0000,-0.2683,0.8921
+0.3635,-0.0000,-0.2683,0.8921
+0.3635,-0.0000,-0.2683,0.8921
+0.3487,-0.0000,-0.2687,0.8979
+0.3487,-0.0000,-0.2687,0.8979
+0.3487,-0.0000,-0.2687,0.8979
+0.3487,-0.0000,-0.2687,0.8979
+0.3337,-0.0000,-0.2692,0.9034
+0.3337,-0.0000,-0.2692,0.9034
+0.3337,-0.0000,-0.2692,0.9034
+0.3337,-0.0000,-0.2692,0.9034
+0.3186,-0.0000,-0.2698,0.9087
+0.3186,-0.0000,-0.2698,0.9087
+0.3186,-0.0000,-0.2698,0.9087
+0.3186,-0.0000,-0.2698,0.9087
+0.3034,-0.0000,-0.2705,0.9136
+0.3034,-0.0000,-0.2705,0.9136
+0.3034,-0.0000,-0.2705,0.9136
+0.3034,-0.0000,-0.2705,0.9136
+0.2882,-0.0000,-0.2714,0.9183
+0.2882,-0.0000,-0.2714,0.9183
+0.2882,-0.0000,-0.2714,0.9183
+0.2882,-0.0000,-0.2714,0.9183
+0.2728,-0.0000,-0.2725,0.9227
+0.2728,-0.0000,-0.2725,0.9227
+0.2728,-0.0000,-0.2725,0.9227
+0.2728,-0.0000,-0.2725,0.9227
+0.2573,-0.0000,-0.2738,0.9267
+0.2573,-0.0000,-0.2738,0.9267
+0.2573,-0.0000,-0.2738,0.9267
+0.2573,-0.0000,-0.2738,0.9267
+0.2418,-0.0000,-0.2753,0.9305
+0.2418,-0.0000,-0.2753,0.9305
+0.2418,-0.0000,-0.2753,0.9305
+0.2418,-0.0000,-0.2753,0.9305
+0.2262,-0.0000,-0.2771,0.9339
+0.2262,-0.0000,-0.2771,0.9339
+0.2262,-0.0000,-0.2771,0.9339
+0.2262,-0.0000,-0.2771,0.9339
+0.2105,-0.0000,-0.2792,0.9369
+0.2105,-0.0000,-0.2792,0.9369
+0.2105,-0.0000,-0.2792,0.9369
+0.2105,-0.0000,-0.2792,0.9369
+0.1947,-0.0000,-0.2818,0.9395
+0.1947,-0.0000,-0.2818,0.9395
+0.1947,-0.0000,-0.2818,0.9395
+0.1947,-0.0000,-0.2818,0.9395
+0.1789,-0.0000,-0.2848,0.9417
+0.1789,-0.0000,-0.2848,0.9417
+0.1789,-0.0000,-0.2848,0.9417
+0.1789,-0.0000,-0.2848,0.9417
+0.1630,-0.0000,-0.2886,0.9435
+0.1630,-0.0000,-0.2886,0.9435
+0.1630,-0.0000,-0.2886,0.9435
+0.1630,-0.0000,-0.2886,0.9435
+0.1471,-0.0000,-0.2933,0.9446
+0.1471,-0.0000,-0.2933,0.9446
+0.1471,-0.0000,-0.2933,0.9446
+0.1471,-0.0000,-0.2933,0.9446
+0.1312,-0.0000,-0.2991,0.9452
+0.1312,-0.0000,-0.2991,0.9452
+0.1312,-0.0000,-0.2991,0.9452
+0.1312,-0.0000,-0.2991,0.9452
+0.1152,-0.0000,-0.3067,0.9448
+0.1152,-0.0000,-0.3067,0.9448
+0.1152,-0.0000,-0.3067,0.9448
+0.1152,-0.0000,-0.3067,0.9448
+0.0991,-0.0000,-0.3167,0.9433
+0.0991,-0.0000,-0.3167,0.9433
+0.0991,-0.0000,-0.3167,0.9433
+0.0991,-0.0000,-0.3167,0.9433
+0.0831,-0.0000,-0.3307,0.9401
+0.0831,-0.0000,-0.3307,0.9401
+0.0831,-0.0000,-0.3307,0.9401
+0.0831,-0.0000,-0.3307,0.9401
+0.0670,-0.0000,-0.3514,0.9338
+0.0670,-0.0000,-0.3514,0.9338
+0.0670,-0.0000,-0.3514,0.9338
+0.0670,-0.0000,-0.3514,0.9338
+0.0510,-0.0000,-0.3848,0.9216
+0.0510,-0.0000,-0.3848,0.9216
+0.0510,-0.0000,-0.3848,0.9216
+0.0510,-0.0000,-0.3848,0.9216
+0.0351,-0.0000,-0.4473,0.8937
+0.0351,-0.0000,-0.4473,0.8937
+0.0351,-0.0000,-0.4473,0.8937
+0.0351,-0.0000,-0.4473,0.8937
+0.0196,-0.0000,-0.6000,0.7997
+0.0196,-0.0000,-0.6000,0.7997
+0.0196,-0.0000,-0.6000,0.7997
+0.0196,-0.0000,-0.6000,0.7997
+0.0079,-0.0000,-1.0000,-0.0001
+0.0079,-0.0000,-1.0000,-0.0001
+0.0079,-0.0000,-1.0000,-0.0001
+0.0079,-0.0000,-1.0000,-0.0001
+0.0162,-0.0000,-0.2425,-0.9700
+0.0162,-0.0000,-0.2425,-0.9700
+0.0162,-0.0000,-0.2425,-0.9700
+0.0162,-0.0000,-0.2425,-0.9700
+0.0314,-0.0000,0.0000,-0.9995
+0.0314,-0.0000,0.0000,-0.9995
+0.0314,-0.0000,0.0000,-0.9995
+0.0314,-0.0000,0.0000,-0.9995
+0.0473,-0.0000,0.0831,-0.9954
+0.0473,-0.0000,0.0831,-0.9954
+0.0473,-0.0000,0.0831,-0.9954
+0.0473,-0.0000,0.0831,-0.9954
+0.0633,-0.0000,0.1241,-0.9902
+0.0633,-0.0000,0.1241,-0.9902
+0.0633,-0.0000,0.1241,-0.9902
+0.0633,-0.0000,0.1241,-0.9902
+0.0793,-0.0000,0.1485,-0.9857
+0.0793,-0.0000,0.1485,-0.9857
+0.0793,-0.0000,0.1485,-0.9857
+0.0793,-0.0000,0.1485,-0.9857
+0.0954,-0.0000,0.1646,-0.9817
+0.0954,-0.0000,0.1646,-0.9817
+0.0954,-0.0000,0.1646,-0.9817
+0.0954,-0.0000,0.1646,-0.9817
+0.1114,-0.0000,0.1762,-0.9780
+0.1114,-0.0000,0.1762,-0.9780
+0.1114,-0.0000,0.1762,-0.9780
+0.1114,-0.0000,0.1762,-0.9780
+0.1275,-0.0000,0.1848,-0.9745
+0.1275,-0.0000,0.1848,-0.9745
+0.1275,-0.0000,0.1848,-0.9745
+0.1275,-0.0000,0.1848,-0.9745
+0.1435,-0.0000,0.1915,-0.9709
+0.1435,-0.0000,0.1915,-0.9709
+0.1435,-0.0000,0.1915,-0.9709
+0.1435,-0.0000,0.1915,-0.9709
+0.1594,-0.0000,0.1970,-0.9674
+0.1594,-0.0000,0.1970,-0.9674
+0.1594,-0.0000,0.1970,-0.9674
+0.1594,-0.0000,0.1970,-0.9674
+0.1753,-0.0000,0.2014,-0.9637
+0.1753,-0.0000,0.2014,-0.9637
+0.1753,-0.0000,0.2014,-0.9637
+0.1753,-0.0000,0.2014,-0.9637
+0.1912,-0.0000,0.2052,-0.9599
+0.1912,-0.0000,0.2052,-0.9599
+0.1912,-0.0000,0.2052,-0.9599
+0.1912,-0.0000,0.2052,-0.9599
+0.2070,-0.0000,0.2085,-0.9559
+0.2070,-0.0000,0.2085,-0.9559
+0.2070,-0.0000,0.2085,-0.9559
+0.2070,-0.0000,0.2085,-0.9559
+0.2227,-0.0000,0.2113,-0.9517
+0.2227,-0.0000,0.2113,-0.9517
+0.2227,-0.0000,0.2113,-0.9517
+0.2227,-0.0000,0.2113,-0.9517
+0.2384,-0.0000,0.2138,-0.9473
+0.2384,-0.0000,0.2138,-0.9473
+0.2384,-0.0000,0.2138,-0.9473
+0.2384,-0.0000,0.2138,-0.9473
+0.2540,-0.0000,0.2161,-0.9428
+0.2540,-0.0000,0.2161,-0.9428
+0.2540,-0.0000,0.2161,-0.9428
+0.2540,-0.0000,0.2161,-0.9428
+0.2695,-0.0000,0.2181,-0.9380
+0.2695,-0.0000,0.2181,-0.9380
+0.2695,-0.0000,0.2181,-0.9380
+0.2695,-0.0000,0.2181,-0.9380
+0.2849,-0.0000,0.2200,-0.9330
+0.2849,-0.0000,0.2200,-0.9330
+0.2849,-0.0000,0.2200,-0.9330
+0.2849,-0.0000,0.2200,-0.9330
+0.3002,-0.0000,0.2217,-0.9277
+0.3002,-0.0000,0.2217,-0.9277
+0.3002,-0.0000,0.2217,-0.9277
+0.3002,-0.0000,0.2217,-0.9277
+0.3155,-0.0000,0.2233,-0.9223
+0.3155,-0.0000,0.2233,-0.9223
+0.3155,-0.0000,0.2233,-0.9223
+0.3155,-0.0000,0.2233,-0.9223
+0.3306,-0.0000,0.2248,-0.9166
+0.3306,-0.0000,0.2248,-0.9166
+0.3306,-0.0000,0.2248,-0.9166
+0.3306,-0.0000,0.2248,-0.9166
+0.3457,-0.0000,0.2263,-0.9107
+0.3457,-0.0000,0.2263,-0.9107
+0.3457,-0.0000,0.2263,-0.9107
+0.3457,-0.0000,0.2263,-0.9107
+0.3606,-0.0000,0.2277,-0.9045
+0.3606,-0.0000,0.2277,-0.9045
+0.3606,-0.0000,0.2277,-0.9045
+0.3606,-0.0000,0.2277,-0.9045
+0.3754,-0.0000,0.2290,-0.8981
+0.3754,-0.0000,0.2290,-0.8981
+0.3754,-0.0000,0.2290,-0.8981
+0.3754,-0.0000,0.2290,-0.8981
+0.3901,-0.0000,0.2303,-0.8915
+0.3901,-0.0000,0.2303,-0.8915
+0.3901,-0.0000,0.2303,-0.8915
+0.3901,-0.0000,0.2303,-0.8915
+0.4047,-0.0000,0.2315,-0.8847
+0.4047,-0.0000,0.2315,-0.8847
+0.4047,-0.0000,0.2315,-0.8847
+0.4047,-0.0000,0.2315,-0.8847
+0.4192,-0.0000,0.2327,-0.8776
+0.4192,-0.0000,0.2327,-0.8776
+0.4192,-0.0000,0.2327,-0.8776
+0.4192,-0.0000,0.2327,-0.8776
+0.4335,-0.0000,0.2339,-0.8703
+0.4335,-0.0000,0.2339,-0.8703
+0.4335,-0.0000,0.2339,-0.8703
+0.4335,-0.0000,0.2339,-0.8703
+0.4477,-0.0000,0.2351,-0.8627
+0.4477,-0.0000,0.2351,-0.8627
+0.4477,-0.0000,0.2351,-0.8627
+0.4477,-0.0000,0.2351,-0.8627
+0.4617,-0.0000,0.2362,-0.8550
+0.4617,-0.0000,0.2362,-0.8550
+0.4617,-0.0000,0.2362,-0.8550
+0.4617,-0.0000,0.2362,-0.8550
+0.4756,-0.0000,0.2374,-0.8470
+0.4756,-0.0000,0.2374,-0.8470
+0.4756,-0.0000,0.2374,-0.8470
+0.4756,-0.0000,0.2374,-0.8470
+0.4894,-0.0000,0.2385,-0.8388
+0.4894,-0.0000,0.2385,-0.8388
+0.4894,-0.0000,0.2385,-0.8388
+0.4894,-0.0000,0.2385,-0.8388
+0.5030,-0.0000,0.2396,-0.8304
+0.5030,-0.0000,0.2396,-0.8304
+0.5030,-0.0000,0.2396,-0.8304
+0.5030,-0.0000,0.2396,-0.8304
+0.5164,-0.0000,0.2408,-0.8218
+0.5164,-0.0000,0.2408,-0.8218
+0.5164,-0.0000,0.2408,-0.8218
+0.5164,-0.0000,0.2408,-0.8218
+0.5297,-0.0000,0.2419,-0.8130
+0.5297,-0.0000,0.2419,-0.8130
+0.5297,-0.0000,0.2419,-0.8130
+0.5297,-0.0000,0.2419,-0.8130
+0.5428,-0.0000,0.2431,-0.8039
+0.5428,-0.0000,0.2431,-0.8039
+0.5428,-0.0000,0.2431,-0.8039
+0.5428,-0.0000,0.2431,-0.8039
+0.5558,-0.0000,0.2442,-0.7947
+0.5558,-0.0000,0.2442,-0.7947
+0.5558,-0.0000,0.2442,-0.7947
+0.5558,-0.0000,0.2442,-0.7947
+0.5685,-0.0000,0.2454,-0.7852
+0.5685,-0.0000,0.2454,-0.7852
+0.5685,-0.0000,0.2454,-0.7852
+0.5685,-0.0000,0.2454,-0.7852
+0.5811,-0.0000,0.2465,-0.7756
+0.5811,-0.0000,0.2465,-0.7756
+0.5811,-0.0000,0.2465,-0.7756
+0.5811,-0.0000,0.2465,-0.7756
+0.5936,-0.0000,0.2477,-0.7657
+0.5936,-0.0000,0.2477,-0.7657
+0.5936,-0.0000,0.2477,-0.7657
+0.5936,-0.0000,0.2477,-0.7657
+0.6058,-0.0000,0.2489,-0.7557
+0.6058,-0.0000,0.2489,-0.7557
+0.6058,-0.0000,0.2489,-0.7557
+0.6058,-0.0000,0.2489,-0.7557
+0.6179,-0.0000,0.2501,-0.7455
+0.6179,-0.0000,0.2501,-0.7455
+0.6179,-0.0000,0.2501,-0.7455
+0.6179,-0.0000,0.2501,-0.7455
+0.6297,-0.0000,0.2513,-0.7351
+0.6297,-0.0000,0.2513,-0.7351
+0.6297,-0.0000,0.2513,-0.7351
+0.6297,-0.0000,0.2513,-0.7351
+0.6414,-0.0000,0.2525,-0.7245
+0.6414,-0.0000,0.2525,-0.7245
+0.6414,-0.0000,0.2525,-0.7245
+0.6414,-0.0000,0.2525,-0.7245
+0.6528,-0.0000,0.2538,-0.7137
+0.6528,-0.0000,0.2538,-0.7137
+0.6528,-0.0000,0.2538,-0.7137
+0.6528,-0.0000,0.2538,-0.7137
+0.6641,-0.0000,0.2550,-0.7028
+0.6641,-0.0000,0.2550,-0.7028
+0.6641,-0.0000,0.2550,-0.7028
+0.6641,-0.0000,0.2550,-0.7028
+0.6752,-0.0000,0.2563,-0.6917
+0.6752,-0.0000,0.2563,-0.6917
+0.6752,-0.0000,0.2563,-0.6917
+0.6752,-0.0000,0.2563,-0.6917
+0.6860,-0.0000,0.2576,-0.6804
+0.6860,-0.0000,0.2576,-0.6804
+0.6860,-0.0000,0.2576,-0.6804
+0.6860,-0.0000,0.2576,-0.6804
+0.6967,-0.0000,0.2590,-0.6690
+0.6967,-0.0000,0.2590,-0.6690
+0.6967,-0.0000,0.2590,-0.6690
+0.6967,-0.0000,0.2590,-0.6690
+0.7071,-0.0000,0.2603,-0.6575
+0.7071,-0.0000,0.2603,-0.6575
+0.7071,-0.0000,0.2603,-0.6575
+0.7071,-0.0000,0.2603,-0.6575
+0.7173,-0.0000,0.2617,-0.6457
+0.7173,-0.0000,0.2617,-0.6457
+0.7173,-0.0000,0.2617,-0.6457
+0.7173,-0.0000,0.2617,-0.6457
+0.7273,-0.0000,0.2631,-0.6339
+0.7273,-0.0000,0.2631,-0.6339
+0.7273,-0.0000,0.2631,-0.6339
+0.7273,-0.0000,0.2631,-0.6339
+0.7371,-0.0000,0.2645,-0.6219
+0.7371,-0.0000,0.2645,-0.6219
+0.7371,-0.0000,0.2645,-0.6219
+0.7371,-0.0000,0.2645,-0.6219
+0.7467,-0.0000,0.2659,-0.6097
+0.7467,-0.0000,0.2659,-0.6097
+0.7467,-0.0000,0.2659,-0.6097
+0.7467,-0.0000,0.2659,-0.6097
+0.7560,-0.0000,0.2674,-0.5974
+0.7560,-0.0000,0.2674,-0.5974
+0.7560,-0.0000,0.2674,-0.5974
+0.7560,-0.0000,0.2674,-0.5974
+0.7651,-0.0000,0.2689,-0.5851
+0.7651,-0.0000,0.2689,-0.5851
+0.7651,-0.0000,0.2689,-0.5851
+0.7651,-0.0000,0.2689,-0.5851
+0.7740,-0.0000,0.2705,-0.5725
+0.7740,-0.0000,0.2705,-0.5725
+0.7740,-0.0000,0.2705,-0.5725
+0.7740,-0.0000,0.2705,-0.5725
+0.7826,-0.0000,0.2720,-0.5599
+0.7826,-0.0000,0.2720,-0.5599
+0.7826,-0.0000,0.2720,-0.5599
+0.7826,-0.0000,0.2720,-0.5599
+0.7910,-0.0000,0.2736,-0.5472
+0.7910,-0.0000,0.2736,-0.5472
+0.7910,-0.0000,0.2736,-0.5472
+0.7910,-0.0000,0.2736,-0.5472
+0.7992,-0.0000,0.2752,-0.5343
+0.7992,-0.0000,0.2752,-0.5343
+0.7992,-0.0000,0.2752,-0.5343
+0.7992,-0.0000,0.2752,-0.5343
+0.8072,-0.0000,0.2769,-0.5214
+0.8072,-0.0000,0.2769,-0.5214
+0.8072,-0.0000,0.2769,-0.5214
+0.8072,-0.0000,0.2769,-0.5214
+0.8149,-0.0000,0.2786,-0.5083
+0.8149,-0.0000,0.2786,-0.5083
+0.8149,-0.0000,0.2786,-0.5083
+0.8149,-0.0000,0.2786,-0.5083
+0.8223,-0.0000,0.2803,-0.4952
+0.8223,-0.0000,0.2803,-0.4952
+0.8223,-0.0000,0.2803,-0.4952
+0.8223,-0.0000,0.2803,-0.4952
+0.8295,-0.0000,0.2820,-0.4820
+0.8295,-0.0000,0.2820,-0.4820
+0.8295,-0.0000,0.2820,-0.4820
+0.8295,-0.0000,0.2820,-0.4820
+0.8365,-0.0000,0.2838,-0.4687
+0.8365,-0.0000,0.2838,-0.4687
+0.8365,-0.0000,0.2838,-0.4687
+0.8365,-0.0000,0.2838,-0.4687
+0.8433,-0.0000,0.2857,-0.4553
+0.8433,-0.0000,0.2857,-0.4553
+0.8433,-0.0000,0.2857,-0.4553
+0.8433,-0.0000,0.2857,-0.4553
+0.8497,-0.0000,0.2875,-0.4419
+0.8497,-0.0000,0.2875,-0.4419
+0.8497,-0.0000,0.2875,-0.4419
+0.8497,-0.0000,0.2875,-0.4419
+0.8560,-0.0000,0.2894,-0.4284
+0.8560,-0.0000,0.2894,-0.4284
+0.8560,-0.0000,0.2894,-0.4284
+0.8560,-0.0000,0.2894,-0.4284
+0.8620,-0.0000,0.2913,-0.4148
+0.8620,-0.0000,0.2913,-0.4148
+0.8620,-0.0000,0.2913,-0.4148
+0.8620,-0.0000,0.2913,-0.4148
+0.8677,-0.0000,0.2933,-0.4012
+0.8677,-0.0000,0.2933,-0.4012
+0.8677,-0.0000,0.2933,-0.4012
+0.8677,-0.0000,0.2933,-0.4012
+0.8732,-0.0000,0.2953,-0.3876
+0.8732,-0.0000,0.2953,-0.3876
+0.8732,-0.0000,0.2953,-0.3876
+0.8732,-0.0000,0.2953,-0.3876
+0.8785,-0.0000,0.2974,-0.3739
+0.8785,-0.0000,0.2974,-0.3739
+0.8785,-0.0000,0.2974,-0.3739
+0.8785,-0.0000,0.2974,-0.3739
+0.8835,-0.0000,0.2995,-0.3602
+0.8835,-0.0000,0.2995,-0.3602
+0.8835,-0.0000,0.2995,-0.3602
+0.8835,-0.0000,0.2995,-0.3602
+0.8883,-0.0000,0.3016,-0.3465
+0.8883,-0.0000,0.3016,-0.3465
+0.8883,-0.0000,0.3016,-0.3465
+0.8883,-0.0000,0.3016,-0.3465
+0.8928,-0.0000,0.3038,-0.3327
+0.8928,-0.0000,0.3038,-0.3327
+0.8928,-0.0000,0.3038,-0.3327
+0.8928,-0.0000,0.3038,-0.3327
+0.8970,-0.0000,0.3060,-0.3189
+0.8970,-0.0000,0.3060,-0.3189
+0.8970,-0.0000,0.3060,-0.3189
+0.8970,-0.0000,0.3060,-0.3189
+0.9010,-0.0000,0.3083,-0.3051
+0.9010,-0.0000,0.3083,-0.3051
+0.9010,-0.0000,0.3083,-0.3051
+0.9010,-0.0000,0.3083,-0.3051
+0.9048,-0.0000,0.3106,-0.2913
+0.9048,-0.0000,0.3106,-0.2913
+0.9048,-0.0000,0.3106,-0.2913
+0.9048,-0.0000,0.3106,-0.2913
+0.9083,-0.0000,0.3130,-0.2776
+0.9083,-0.0000,0.3130,-0.2776
+0.9083,-0.0000,0.3130,-0.2776
+0.9083,-0.0000,0.3130,-0.2776
+0.9116,-0.0000,0.3154,-0.2638
+0.9116,-0.0000,0.3154,-0.2638
+0.9116,-0.0000,0.3154,-0.2638
+0.9116,-0.0000,0.3154,-0.2638
+0.9146,-0.0000,0.3179,-0.2500
+0.9146,-0.0000,0.3179,-0.2500
+0.9146,-0.0000,0.3179,-0.2500
+0.9146,-0.0000,0.3179,-0.2500
+0.9174,-0.0000,0.3204,-0.2363
+0.9174,-0.0000,0.3204,-0.2363
+0.9174,-0.0000,0.3204,-0.2363
+0.9174,-0.0000,0.3204,-0.2363
+0.9199,-0.0000,0.3229,-0.2226
+0.9199,-0.0000,0.3229,-0.2226
+0.9199,-0.0000,0.3229,-0.2226
+0.9199,-0.0000,0.3229,-0.2226
+0.9222,-0.0000,0.3256,-0.2089
+0.9222,-0.0000,0.3256,-0.2089
+0.9222,-0.0000,0.3256,-0.2089
+0.9222,-0.0000,0.3256,-0.2089
+0.9242,-0.0000,0.3282,-0.1952
+0.9242,-0.0000,0.3282,-0.1952
+0.9242,-0.0000,0.3282,-0.1952
+0.9242,-0.0000,0.3282,-0.1952
+0.9260,-0.0000,0.3309,-0.1817
+0.9260,-0.0000,0.3309,-0.1817
+0.9260,-0.0000,0.3309,-0.1817
+0.9260,-0.0000,0.3309,-0.1817
+0.9276,-0.0000,0.3337,-0.1681
+0.9276,-0.0000,0.3337,-0.1681
+0.9276,-0.0000,0.3337,-0.1681
+0.9276,-0.0000,0.3337,-0.1681
+0.9289,-0.0000,0.3366,-0.1546
+0.9289,-0.0000,0.3366,-0.1546
+0.9289,-0.0000,0.3366,-0.1546
+0.9289,-0.0000,0.3366,-0.1546
+0.9300,-0.0000,0.3395,-0.1412
+0.9300,-0.0000,0.3395,-0.1412
+0.9300,-0.0000,0.3395,-0.1412
+0.9300,-0.0000,0.3395,-0.1412
+0.9308,-0.0000,0.3424,-0.1279
+0.9308,-0.0000,0.3424,-0.1279
+0.9308,-0.0000,0.3424,-0.1279
+0.9308,-0.0000,0.3424,-0.1279
+0.9314,-0.0000,0.3454,-0.1146
+0.9314,-0.0000,0.3454,-0.1146
+0.9314,-0.0000,0.3454,-0.1146
+0.9314,-0.0000,0.3454,-0.1146
+0.9318,-0.0000,0.3485,-0.1015
+0.9318,-0.0000,0.3485,-0.1015
+0.9318,-0.0000,0.3485,-0.1015
+0.9318,-0.0000,0.3485,-0.1015
+0.9320,-0.0000,0.3516,-0.0884
+0.9320,-0.0000,0.3516,-0.0884
+0.9320,-0.0000,0.3516,-0.0884
+0.9320,-0.0000,0.3516,-0.0884
+0.9319,-0.0000,0.3548,-0.0754
+0.9319,-0.0000,0.3548,-0.0754
+0.9319,-0.0000,0.3548,-0.0754
+0.9319,-0.0000,0.3548,-0.0754
+0.9316,-0.0000,0.3581,-0.0625
+0.9316,-0.0000,0.3581,-0.0625
+0.9316,-0.0000,0.3581,-0.0625
+0.9316,-0.0000,0.3581,-0.0625
+0.9311,-0.0000,0.3614,-0.0498
+0.9311,-0.0000,0.3614,-0.0498
+0.9311,-0.0000,0.3614,-0.0498
+0.9311,-0.0000,0.3614,-0.0498
+0.9303,-0.0000,0.3648,-0.0371
+0.9303,-0.0000,0.3648,-0.0371
+0.9303,-0.0000,0.3648,-0.0371
+0.9303,-0.0000,0.3648,-0.0371
+0.9294,-0.0000,0.3683,-0.0246
+0.9294,-0.0000,0.3683,-0.0246
+0.9294,-0.0000,0.3683,-0.0246
+0.9294,-0.0000,0.3683,-0.0246
+0.9282,-0.0000,0.3718,-0.0122
+0.9282,-0.0000,0.3718,-0.0122
+0.9282,-0.0000,0.3718,-0.0122
+0.9282,-0.0000,0.3718,-0.0122
+0.9269,0.0000,0.3754,0.0000
+0.9269,0.0000,0.3754,0.0000
+0.9269,0.0000,0.3754,0.0000
+0.9269,0.0000,0.3754,0.0000
diff --git a/scripts/trajectories/full-circle-with-up-and-down-4s-fixed-pos-offset-Vector3.csv b/scripts/trajectories/full-circle-with-up-and-down-4s-fixed-pos-offset-Vector3.csv
new file mode 100644
index 0000000000000000000000000000000000000000..c858131d945425a27860315c123758a1544ad922
--- /dev/null
+++ b/scripts/trajectories/full-circle-with-up-and-down-4s-fixed-pos-offset-Vector3.csv
@@ -0,0 +1,200 @@
+10.0000,10.0000,10.0000,10.7012,9.9780,9.2874
+10.0000,10.0000,10.0000,10.7057,9.9556,9.2929
+10.0000,10.0000,10.0000,10.7095,9.9329,9.2985
+10.0000,10.0000,10.0000,10.7125,9.9100,9.3041
+10.0000,10.0000,10.0000,10.7147,9.8868,9.3097
+10.0000,10.0000,10.0000,10.7161,9.8634,9.3155
+10.0000,10.0000,10.0000,10.7166,9.8398,9.3212
+10.0000,10.0000,10.0000,10.7164,9.8161,9.3270
+10.0000,10.0000,10.0000,10.7153,9.7922,9.3328
+10.0000,10.0000,10.0000,10.7134,9.7682,9.3387
+10.0000,10.0000,10.0000,10.7106,9.7442,9.3446
+10.0000,10.0000,10.0000,10.7070,9.7201,9.3506
+10.0000,10.0000,10.0000,10.7025,9.6960,9.3565
+10.0000,10.0000,10.0000,10.6972,9.6719,9.3626
+10.0000,10.0000,10.0000,10.6910,9.6479,9.3686
+10.0000,10.0000,10.0000,10.6839,9.6240,9.3748
+10.0000,10.0000,10.0000,10.6760,9.6002,9.3809
+10.0000,10.0000,10.0000,10.6671,9.5766,9.3871
+10.0000,10.0000,10.0000,10.6575,9.5532,9.3933
+10.0000,10.0000,10.0000,10.6470,9.5300,9.3996
+10.0000,10.0000,10.0000,10.6356,9.5070,9.4059
+10.0000,10.0000,10.0000,10.6234,9.4843,9.4122
+10.0000,10.0000,10.0000,10.6103,9.4620,9.4186
+10.0000,10.0000,10.0000,10.5964,9.4399,9.4250
+10.0000,10.0000,10.0000,10.5817,9.4183,9.4314
+10.0000,10.0000,10.0000,10.5662,9.3971,9.4379
+10.0000,10.0000,10.0000,10.5499,9.3763,9.4444
+10.0000,10.0000,10.0000,10.5328,9.3560,9.4510
+10.0000,10.0000,10.0000,10.5149,9.3362,9.4576
+10.0000,10.0000,10.0000,10.4963,9.3169,9.4642
+10.0000,10.0000,10.0000,10.4769,9.2982,9.4708
+10.0000,10.0000,10.0000,10.4569,9.2801,9.4775
+10.0000,10.0000,10.0000,10.4361,9.2626,9.4842
+10.0000,10.0000,10.0000,10.4147,9.2457,9.4910
+10.0000,10.0000,10.0000,10.3926,9.2295,9.4977
+10.0000,10.0000,10.0000,10.3698,9.2140,9.5045
+10.0000,10.0000,10.0000,10.3465,9.1993,9.5114
+10.0000,10.0000,10.0000,10.3226,9.1852,9.5182
+10.0000,10.0000,10.0000,10.2981,9.1720,9.5251
+10.0000,10.0000,10.0000,10.2731,9.1595,9.5321
+10.0000,10.0000,10.0000,10.2476,9.1478,9.5390
+10.0000,10.0000,10.0000,10.2216,9.1370,9.5460
+10.0000,10.0000,10.0000,10.1951,9.1270,9.5530
+10.0000,10.0000,10.0000,10.1683,9.1179,9.5601
+10.0000,10.0000,10.0000,10.1410,9.1096,9.5671
+10.0000,10.0000,10.0000,10.1134,9.1023,9.5742
+10.0000,10.0000,10.0000,10.0855,9.0959,9.5813
+10.0000,10.0000,10.0000,10.0572,9.0904,9.5885
+10.0000,10.0000,10.0000,10.0287,9.0858,9.5957
+10.0000,10.0000,10.0000,10.0000,9.0822,9.6029
+10.0000,10.0000,10.0000,9.9711,9.0796,9.6101
+10.0000,10.0000,10.0000,9.9420,9.0779,9.6173
+10.0000,10.0000,10.0000,9.9128,9.0773,9.6246
+10.0000,10.0000,10.0000,9.8835,9.0776,9.6319
+10.0000,10.0000,10.0000,9.8541,9.0788,9.6392
+10.0000,10.0000,10.0000,9.8247,9.0811,9.6465
+10.0000,10.0000,10.0000,9.7953,9.0844,9.6539
+10.0000,10.0000,10.0000,9.7660,9.0887,9.6613
+10.0000,10.0000,10.0000,9.7368,9.0940,9.6687
+10.0000,10.0000,10.0000,9.7076,9.1002,9.6761
+10.0000,10.0000,10.0000,9.6787,9.1075,9.6835
+10.0000,10.0000,10.0000,9.6499,9.1157,9.6910
+10.0000,10.0000,10.0000,9.6213,9.1250,9.6985
+10.0000,10.0000,10.0000,9.5930,9.1352,9.7060
+10.0000,10.0000,10.0000,9.5650,9.1464,9.7135
+10.0000,10.0000,10.0000,9.5374,9.1585,9.7210
+10.0000,10.0000,10.0000,9.5101,9.1716,9.7286
+10.0000,10.0000,10.0000,9.4832,9.1856,9.7361
+10.0000,10.0000,10.0000,9.4567,9.2005,9.7437
+10.0000,10.0000,10.0000,9.4307,9.2164,9.7513
+10.0000,10.0000,10.0000,9.4052,9.2331,9.7589
+10.0000,10.0000,10.0000,9.3802,9.2508,9.7666
+10.0000,10.0000,10.0000,9.3558,9.2693,9.7742
+10.0000,10.0000,10.0000,9.3319,9.2886,9.7819
+10.0000,10.0000,10.0000,9.3087,9.3087,9.7895
+10.0000,10.0000,10.0000,9.2862,9.3297,9.7972
+10.0000,10.0000,10.0000,9.2643,9.3514,9.8049
+10.0000,10.0000,10.0000,9.2431,9.3739,9.8126
+10.0000,10.0000,10.0000,9.2227,9.3971,9.8203
+10.0000,10.0000,10.0000,9.2030,9.4210,9.8281
+10.0000,10.0000,10.0000,9.1841,9.4455,9.8358
+10.0000,10.0000,10.0000,9.1661,9.4708,9.8436
+10.0000,10.0000,10.0000,9.1488,9.4966,9.8513
+10.0000,10.0000,10.0000,9.1324,9.5231,9.8591
+10.0000,10.0000,10.0000,9.1169,9.5501,9.8669
+10.0000,10.0000,10.0000,9.1023,9.5776,9.8747
+10.0000,10.0000,10.0000,9.0886,9.6056,9.8825
+10.0000,10.0000,10.0000,9.0758,9.6341,9.8903
+10.0000,10.0000,10.0000,9.0640,9.6630,9.8981
+10.0000,10.0000,10.0000,9.0532,9.6924,9.9059
+10.0000,10.0000,10.0000,9.0433,9.7221,9.9137
+10.0000,10.0000,10.0000,9.0344,9.7521,9.9215
+10.0000,10.0000,10.0000,9.0265,9.7824,9.9294
+10.0000,10.0000,10.0000,9.0197,9.8130,9.9372
+10.0000,10.0000,10.0000,9.0138,9.8438,9.9451
+10.0000,10.0000,10.0000,9.0090,9.8748,9.9529
+10.0000,10.0000,10.0000,9.0052,9.9060,9.9607
+10.0000,10.0000,10.0000,9.0025,9.9372,9.9686
+10.0000,10.0000,10.0000,9.0008,9.9686,9.9764
+10.0000,10.0000,10.0000,9.0001,10.0000,9.9843
+10.0000,10.0000,10.0000,9.0005,10.0314,9.9921
+10.0000,10.0000,10.0000,9.0020,10.0628,10.0000
+10.0000,10.0000,10.0000,9.0045,10.0941,10.0079
+10.0000,10.0000,10.0000,9.0080,10.1253,10.0157
+10.0000,10.0000,10.0000,9.0126,10.1564,10.0236
+10.0000,10.0000,10.0000,9.0182,10.1873,10.0314
+10.0000,10.0000,10.0000,9.0248,10.2180,10.0393
+10.0000,10.0000,10.0000,9.0325,10.2484,10.0471
+10.0000,10.0000,10.0000,9.0412,10.2786,10.0550
+10.0000,10.0000,10.0000,9.0508,10.3084,10.0628
+10.0000,10.0000,10.0000,9.0615,10.3379,10.0706
+10.0000,10.0000,10.0000,9.0731,10.3670,10.0785
+10.0000,10.0000,10.0000,9.0857,10.3957,10.0863
+10.0000,10.0000,10.0000,9.0992,10.4239,10.0941
+10.0000,10.0000,10.0000,9.1136,10.4516,10.1019
+10.0000,10.0000,10.0000,9.1290,10.4788,10.1097
+10.0000,10.0000,10.0000,9.1452,10.5055,10.1175
+10.0000,10.0000,10.0000,9.1623,10.5316,10.1253
+10.0000,10.0000,10.0000,9.1803,10.5571,10.1331
+10.0000,10.0000,10.0000,9.1991,10.5819,10.1409
+10.0000,10.0000,10.0000,9.2186,10.6061,10.1487
+10.0000,10.0000,10.0000,9.2390,10.6296,10.1564
+10.0000,10.0000,10.0000,9.2601,10.6523,10.1642
+10.0000,10.0000,10.0000,9.2819,10.6744,10.1719
+10.0000,10.0000,10.0000,9.3044,10.6956,10.1797
+10.0000,10.0000,10.0000,9.3276,10.7161,10.1874
+10.0000,10.0000,10.0000,9.3514,10.7357,10.1951
+10.0000,10.0000,10.0000,9.3758,10.7545,10.2028
+10.0000,10.0000,10.0000,9.4008,10.7725,10.2105
+10.0000,10.0000,10.0000,9.4264,10.7895,10.2181
+10.0000,10.0000,10.0000,9.4524,10.8057,10.2258
+10.0000,10.0000,10.0000,9.4790,10.8210,10.2334
+10.0000,10.0000,10.0000,9.5060,10.8354,10.2411
+10.0000,10.0000,10.0000,9.5334,10.8488,10.2487
+10.0000,10.0000,10.0000,9.5612,10.8612,10.2563
+10.0000,10.0000,10.0000,9.5893,10.8728,10.2639
+10.0000,10.0000,10.0000,9.6178,10.8833,10.2714
+10.0000,10.0000,10.0000,9.6465,10.8929,10.2790
+10.0000,10.0000,10.0000,9.6755,10.9014,10.2865
+10.0000,10.0000,10.0000,9.7046,10.9090,10.2940
+10.0000,10.0000,10.0000,9.7340,10.9156,10.3015
+10.0000,10.0000,10.0000,9.7635,10.9212,10.3090
+10.0000,10.0000,10.0000,9.7931,10.9258,10.3165
+10.0000,10.0000,10.0000,9.8227,10.9293,10.3239
+10.0000,10.0000,10.0000,9.8524,10.9319,10.3313
+10.0000,10.0000,10.0000,9.8821,10.9335,10.3387
+10.0000,10.0000,10.0000,9.9117,10.9340,10.3461
+10.0000,10.0000,10.0000,9.9413,10.9336,10.3535
+10.0000,10.0000,10.0000,9.9707,10.9322,10.3608
+10.0000,10.0000,10.0000,10.0000,10.9298,10.3681
+10.0000,10.0000,10.0000,10.0291,10.9264,10.3754
+10.0000,10.0000,10.0000,10.0580,10.9221,10.3827
+10.0000,10.0000,10.0000,10.0867,10.9168,10.3899
+10.0000,10.0000,10.0000,10.1150,10.9105,10.3971
+10.0000,10.0000,10.0000,10.1431,10.9033,10.4043
+10.0000,10.0000,10.0000,10.1708,10.8953,10.4115
+10.0000,10.0000,10.0000,10.1981,10.8863,10.4187
+10.0000,10.0000,10.0000,10.2250,10.8764,10.4258
+10.0000,10.0000,10.0000,10.2515,10.8657,10.4329
+10.0000,10.0000,10.0000,10.2775,10.8541,10.4399
+10.0000,10.0000,10.0000,10.3030,10.8417,10.4470
+10.0000,10.0000,10.0000,10.3280,10.8284,10.4540
+10.0000,10.0000,10.0000,10.3524,10.8144,10.4610
+10.0000,10.0000,10.0000,10.3763,10.7997,10.4679
+10.0000,10.0000,10.0000,10.3995,10.7841,10.4749
+10.0000,10.0000,10.0000,10.4222,10.7679,10.4818
+10.0000,10.0000,10.0000,10.4441,10.7510,10.4886
+10.0000,10.0000,10.0000,10.4654,10.7334,10.4955
+10.0000,10.0000,10.0000,10.4860,10.7152,10.5023
+10.0000,10.0000,10.0000,10.5059,10.6964,10.5090
+10.0000,10.0000,10.0000,10.5251,10.6769,10.5158
+10.0000,10.0000,10.0000,10.5435,10.6570,10.5225
+10.0000,10.0000,10.0000,10.5611,10.6365,10.5292
+10.0000,10.0000,10.0000,10.5780,10.6155,10.5358
+10.0000,10.0000,10.0000,10.5940,10.5940,10.5424
+10.0000,10.0000,10.0000,10.6093,10.5721,10.5490
+10.0000,10.0000,10.0000,10.6237,10.5499,10.5556
+10.0000,10.0000,10.0000,10.6373,10.5272,10.5621
+10.0000,10.0000,10.0000,10.6500,10.5042,10.5686
+10.0000,10.0000,10.0000,10.6619,10.4809,10.5750
+10.0000,10.0000,10.0000,10.6729,10.4573,10.5814
+10.0000,10.0000,10.0000,10.6831,10.4335,10.5878
+10.0000,10.0000,10.0000,10.6924,10.4095,10.5941
+10.0000,10.0000,10.0000,10.7008,10.3852,10.6004
+10.0000,10.0000,10.0000,10.7083,10.3609,10.6067
+10.0000,10.0000,10.0000,10.7150,10.3364,10.6129
+10.0000,10.0000,10.0000,10.7207,10.3119,10.6191
+10.0000,10.0000,10.0000,10.7256,10.2873,10.6252
+10.0000,10.0000,10.0000,10.7296,10.2627,10.6314
+10.0000,10.0000,10.0000,10.7328,10.2381,10.6374
+10.0000,10.0000,10.0000,10.7351,10.2136,10.6435
+10.0000,10.0000,10.0000,10.7365,10.1891,10.6494
+10.0000,10.0000,10.0000,10.7371,10.1648,10.6554
+10.0000,10.0000,10.0000,10.7368,10.1406,10.6613
+10.0000,10.0000,10.0000,10.7357,10.1165,10.6672
+10.0000,10.0000,10.0000,10.7338,10.0927,10.6730
+10.0000,10.0000,10.0000,10.7311,10.0691,10.6788
+10.0000,10.0000,10.0000,10.7275,10.0458,10.6845
+10.0000,10.0000,10.0000,10.7232,10.0227,10.6903
+10.0000,10.0000,10.0000,10.7181,10.0000,10.6959
diff --git a/scripts/trajectories/full-circle-with-up-and-down-4s.csv b/scripts/trajectories/full-circle-with-up-and-down-4s.csv
new file mode 100644
index 0000000000000000000000000000000000000000..31692f46736eacc50237c02ec4a532cee6c67927
--- /dev/null
+++ b/scripts/trajectories/full-circle-with-up-and-down-4s.csv
@@ -0,0 +1,800 @@
+0.9223,-0.0000,0.3863,-0.0119
+0.9223,-0.0000,0.3863,-0.0119
+0.9223,-0.0000,0.3863,-0.0119
+0.9223,-0.0000,0.3863,-0.0119
+0.9235,-0.0000,0.3828,-0.0240
+0.9235,-0.0000,0.3828,-0.0240
+0.9235,-0.0000,0.3828,-0.0240
+0.9235,-0.0000,0.3828,-0.0240
+0.9245,-0.0000,0.3794,-0.0363
+0.9245,-0.0000,0.3794,-0.0363
+0.9245,-0.0000,0.3794,-0.0363
+0.9245,-0.0000,0.3794,-0.0363
+0.9253,-0.0000,0.3760,-0.0486
+0.9253,-0.0000,0.3760,-0.0486
+0.9253,-0.0000,0.3760,-0.0486
+0.9253,-0.0000,0.3760,-0.0486
+0.9259,-0.0000,0.3727,-0.0611
+0.9259,-0.0000,0.3727,-0.0611
+0.9259,-0.0000,0.3727,-0.0611
+0.9259,-0.0000,0.3727,-0.0611
+0.9263,-0.0000,0.3695,-0.0737
+0.9263,-0.0000,0.3695,-0.0737
+0.9263,-0.0000,0.3695,-0.0737
+0.9263,-0.0000,0.3695,-0.0737
+0.9265,-0.0000,0.3663,-0.0865
+0.9265,-0.0000,0.3663,-0.0865
+0.9265,-0.0000,0.3663,-0.0865
+0.9265,-0.0000,0.3663,-0.0865
+0.9264,-0.0000,0.3632,-0.0993
+0.9264,-0.0000,0.3632,-0.0993
+0.9264,-0.0000,0.3632,-0.0993
+0.9264,-0.0000,0.3632,-0.0993
+0.9261,-0.0000,0.3602,-0.1122
+0.9261,-0.0000,0.3602,-0.1122
+0.9261,-0.0000,0.3602,-0.1122
+0.9261,-0.0000,0.3602,-0.1122
+0.9256,-0.0000,0.3572,-0.1252
+0.9256,-0.0000,0.3572,-0.1252
+0.9256,-0.0000,0.3572,-0.1252
+0.9256,-0.0000,0.3572,-0.1252
+0.9248,-0.0000,0.3543,-0.1383
+0.9248,-0.0000,0.3543,-0.1383
+0.9248,-0.0000,0.3543,-0.1383
+0.9248,-0.0000,0.3543,-0.1383
+0.9239,-0.0000,0.3515,-0.1515
+0.9239,-0.0000,0.3515,-0.1515
+0.9239,-0.0000,0.3515,-0.1515
+0.9239,-0.0000,0.3515,-0.1515
+0.9226,-0.0000,0.3487,-0.1648
+0.9226,-0.0000,0.3487,-0.1648
+0.9226,-0.0000,0.3487,-0.1648
+0.9226,-0.0000,0.3487,-0.1648
+0.9212,-0.0000,0.3460,-0.1781
+0.9212,-0.0000,0.3460,-0.1781
+0.9212,-0.0000,0.3460,-0.1781
+0.9212,-0.0000,0.3460,-0.1781
+0.9195,-0.0000,0.3433,-0.1914
+0.9195,-0.0000,0.3433,-0.1914
+0.9195,-0.0000,0.3433,-0.1914
+0.9195,-0.0000,0.3433,-0.1914
+0.9176,-0.0000,0.3407,-0.2049
+0.9176,-0.0000,0.3407,-0.2049
+0.9176,-0.0000,0.3407,-0.2049
+0.9176,-0.0000,0.3407,-0.2049
+0.9154,-0.0000,0.3382,-0.2183
+0.9154,-0.0000,0.3382,-0.2183
+0.9154,-0.0000,0.3382,-0.2183
+0.9154,-0.0000,0.3382,-0.2183
+0.9130,-0.0000,0.3357,-0.2319
+0.9130,-0.0000,0.3357,-0.2319
+0.9130,-0.0000,0.3357,-0.2319
+0.9130,-0.0000,0.3357,-0.2319
+0.9104,-0.0000,0.3332,-0.2454
+0.9104,-0.0000,0.3332,-0.2454
+0.9104,-0.0000,0.3332,-0.2454
+0.9104,-0.0000,0.3332,-0.2454
+0.9075,-0.0000,0.3308,-0.2590
+0.9075,-0.0000,0.3308,-0.2590
+0.9075,-0.0000,0.3308,-0.2590
+0.9075,-0.0000,0.3308,-0.2590
+0.9043,-0.0000,0.3285,-0.2726
+0.9043,-0.0000,0.3285,-0.2726
+0.9043,-0.0000,0.3285,-0.2726
+0.9043,-0.0000,0.3285,-0.2726
+0.9009,-0.0000,0.3262,-0.2862
+0.9009,-0.0000,0.3262,-0.2862
+0.9009,-0.0000,0.3262,-0.2862
+0.9009,-0.0000,0.3262,-0.2862
+0.8973,-0.0000,0.3240,-0.2998
+0.8973,-0.0000,0.3240,-0.2998
+0.8973,-0.0000,0.3240,-0.2998
+0.8973,-0.0000,0.3240,-0.2998
+0.8934,-0.0000,0.3218,-0.3134
+0.8934,-0.0000,0.3218,-0.3134
+0.8934,-0.0000,0.3218,-0.3134
+0.8934,-0.0000,0.3218,-0.3134
+0.8893,-0.0000,0.3197,-0.3271
+0.8893,-0.0000,0.3197,-0.3271
+0.8893,-0.0000,0.3197,-0.3271
+0.8893,-0.0000,0.3197,-0.3271
+0.8849,-0.0000,0.3176,-0.3407
+0.8849,-0.0000,0.3176,-0.3407
+0.8849,-0.0000,0.3176,-0.3407
+0.8849,-0.0000,0.3176,-0.3407
+0.8803,-0.0000,0.3156,-0.3543
+0.8803,-0.0000,0.3156,-0.3543
+0.8803,-0.0000,0.3156,-0.3543
+0.8803,-0.0000,0.3156,-0.3543
+0.8754,-0.0000,0.3136,-0.3678
+0.8754,-0.0000,0.3136,-0.3678
+0.8754,-0.0000,0.3136,-0.3678
+0.8754,-0.0000,0.3136,-0.3678
+0.8703,-0.0000,0.3116,-0.3814
+0.8703,-0.0000,0.3116,-0.3814
+0.8703,-0.0000,0.3116,-0.3814
+0.8703,-0.0000,0.3116,-0.3814
+0.8650,-0.0000,0.3097,-0.3949
+0.8650,-0.0000,0.3097,-0.3949
+0.8650,-0.0000,0.3097,-0.3949
+0.8650,-0.0000,0.3097,-0.3949
+0.8593,-0.0000,0.3079,-0.4083
+0.8593,-0.0000,0.3079,-0.4083
+0.8593,-0.0000,0.3079,-0.4083
+0.8593,-0.0000,0.3079,-0.4083
+0.8535,-0.0000,0.3061,-0.4217
+0.8535,-0.0000,0.3061,-0.4217
+0.8535,-0.0000,0.3061,-0.4217
+0.8535,-0.0000,0.3061,-0.4217
+0.8474,-0.0000,0.3043,-0.4351
+0.8474,-0.0000,0.3043,-0.4351
+0.8474,-0.0000,0.3043,-0.4351
+0.8474,-0.0000,0.3043,-0.4351
+0.8410,-0.0000,0.3026,-0.4484
+0.8410,-0.0000,0.3026,-0.4484
+0.8410,-0.0000,0.3026,-0.4484
+0.8410,-0.0000,0.3026,-0.4484
+0.8344,-0.0000,0.3010,-0.4617
+0.8344,-0.0000,0.3010,-0.4617
+0.8344,-0.0000,0.3010,-0.4617
+0.8344,-0.0000,0.3010,-0.4617
+0.8276,-0.0000,0.2993,-0.4748
+0.8276,-0.0000,0.2993,-0.4748
+0.8276,-0.0000,0.2993,-0.4748
+0.8276,-0.0000,0.2993,-0.4748
+0.8205,-0.0000,0.2978,-0.4879
+0.8205,-0.0000,0.2978,-0.4879
+0.8205,-0.0000,0.2978,-0.4879
+0.8205,-0.0000,0.2978,-0.4879
+0.8132,-0.0000,0.2962,-0.5010
+0.8132,-0.0000,0.2962,-0.5010
+0.8132,-0.0000,0.2962,-0.5010
+0.8132,-0.0000,0.2962,-0.5010
+0.8056,-0.0000,0.2947,-0.5139
+0.8056,-0.0000,0.2947,-0.5139
+0.8056,-0.0000,0.2947,-0.5139
+0.8056,-0.0000,0.2947,-0.5139
+0.7978,-0.0000,0.2932,-0.5267
+0.7978,-0.0000,0.2932,-0.5267
+0.7978,-0.0000,0.2932,-0.5267
+0.7978,-0.0000,0.2932,-0.5267
+0.7898,-0.0000,0.2918,-0.5395
+0.7898,-0.0000,0.2918,-0.5395
+0.7898,-0.0000,0.2918,-0.5395
+0.7898,-0.0000,0.2918,-0.5395
+0.7815,-0.0000,0.2904,-0.5521
+0.7815,-0.0000,0.2904,-0.5521
+0.7815,-0.0000,0.2904,-0.5521
+0.7815,-0.0000,0.2904,-0.5521
+0.7730,-0.0000,0.2891,-0.5647
+0.7730,-0.0000,0.2891,-0.5647
+0.7730,-0.0000,0.2891,-0.5647
+0.7730,-0.0000,0.2891,-0.5647
+0.7643,-0.0000,0.2878,-0.5771
+0.7643,-0.0000,0.2878,-0.5771
+0.7643,-0.0000,0.2878,-0.5771
+0.7643,-0.0000,0.2878,-0.5771
+0.7553,-0.0000,0.2865,-0.5894
+0.7553,-0.0000,0.2865,-0.5894
+0.7553,-0.0000,0.2865,-0.5894
+0.7553,-0.0000,0.2865,-0.5894
+0.7461,-0.0000,0.2853,-0.6016
+0.7461,-0.0000,0.2853,-0.6016
+0.7461,-0.0000,0.2853,-0.6016
+0.7461,-0.0000,0.2853,-0.6016
+0.7367,-0.0000,0.2841,-0.6136
+0.7367,-0.0000,0.2841,-0.6136
+0.7367,-0.0000,0.2841,-0.6136
+0.7367,-0.0000,0.2841,-0.6136
+0.7271,-0.0000,0.2830,-0.6255
+0.7271,-0.0000,0.2830,-0.6255
+0.7271,-0.0000,0.2830,-0.6255
+0.7271,-0.0000,0.2830,-0.6255
+0.7172,-0.0000,0.2819,-0.6373
+0.7172,-0.0000,0.2819,-0.6373
+0.7172,-0.0000,0.2819,-0.6373
+0.7172,-0.0000,0.2819,-0.6373
+0.7071,-0.0000,0.2808,-0.6490
+0.7071,-0.0000,0.2808,-0.6490
+0.7071,-0.0000,0.2808,-0.6490
+0.7071,-0.0000,0.2808,-0.6490
+0.6968,-0.0000,0.2798,-0.6604
+0.6968,-0.0000,0.2798,-0.6604
+0.6968,-0.0000,0.2798,-0.6604
+0.6968,-0.0000,0.2798,-0.6604
+0.6863,-0.0000,0.2788,-0.6718
+0.6863,-0.0000,0.2788,-0.6718
+0.6863,-0.0000,0.2788,-0.6718
+0.6863,-0.0000,0.2788,-0.6718
+0.6756,-0.0000,0.2779,-0.6829
+0.6756,-0.0000,0.2779,-0.6829
+0.6756,-0.0000,0.2779,-0.6829
+0.6756,-0.0000,0.2779,-0.6829
+0.6646,-0.0000,0.2769,-0.6940
+0.6646,-0.0000,0.2769,-0.6940
+0.6646,-0.0000,0.2769,-0.6940
+0.6646,-0.0000,0.2769,-0.6940
+0.6535,-0.0000,0.2761,-0.7048
+0.6535,-0.0000,0.2761,-0.7048
+0.6535,-0.0000,0.2761,-0.7048
+0.6535,-0.0000,0.2761,-0.7048
+0.6422,-0.0000,0.2752,-0.7155
+0.6422,-0.0000,0.2752,-0.7155
+0.6422,-0.0000,0.2752,-0.7155
+0.6422,-0.0000,0.2752,-0.7155
+0.6306,-0.0000,0.2744,-0.7260
+0.6306,-0.0000,0.2744,-0.7260
+0.6306,-0.0000,0.2744,-0.7260
+0.6306,-0.0000,0.2744,-0.7260
+0.6189,-0.0000,0.2737,-0.7363
+0.6189,-0.0000,0.2737,-0.7363
+0.6189,-0.0000,0.2737,-0.7363
+0.6189,-0.0000,0.2737,-0.7363
+0.6069,-0.0000,0.2730,-0.7464
+0.6069,-0.0000,0.2730,-0.7464
+0.6069,-0.0000,0.2730,-0.7464
+0.6069,-0.0000,0.2730,-0.7464
+0.5948,-0.0000,0.2723,-0.7563
+0.5948,-0.0000,0.2723,-0.7563
+0.5948,-0.0000,0.2723,-0.7563
+0.5948,-0.0000,0.2723,-0.7563
+0.5825,-0.0000,0.2716,-0.7661
+0.5825,-0.0000,0.2716,-0.7661
+0.5825,-0.0000,0.2716,-0.7661
+0.5825,-0.0000,0.2716,-0.7661
+0.5700,-0.0000,0.2710,-0.7756
+0.5700,-0.0000,0.2710,-0.7756
+0.5700,-0.0000,0.2710,-0.7756
+0.5700,-0.0000,0.2710,-0.7756
+0.5574,-0.0000,0.2705,-0.7850
+0.5574,-0.0000,0.2705,-0.7850
+0.5574,-0.0000,0.2705,-0.7850
+0.5574,-0.0000,0.2705,-0.7850
+0.5445,-0.0000,0.2700,-0.7941
+0.5445,-0.0000,0.2700,-0.7941
+0.5445,-0.0000,0.2700,-0.7941
+0.5445,-0.0000,0.2700,-0.7941
+0.5315,-0.0000,0.2695,-0.8030
+0.5315,-0.0000,0.2695,-0.8030
+0.5315,-0.0000,0.2695,-0.8030
+0.5315,-0.0000,0.2695,-0.8030
+0.5184,-0.0000,0.2691,-0.8117
+0.5184,-0.0000,0.2691,-0.8117
+0.5184,-0.0000,0.2691,-0.8117
+0.5184,-0.0000,0.2691,-0.8117
+0.5050,-0.0000,0.2687,-0.8202
+0.5050,-0.0000,0.2687,-0.8202
+0.5050,-0.0000,0.2687,-0.8202
+0.5050,-0.0000,0.2687,-0.8202
+0.4915,-0.0000,0.2684,-0.8285
+0.4915,-0.0000,0.2684,-0.8285
+0.4915,-0.0000,0.2684,-0.8285
+0.4915,-0.0000,0.2684,-0.8285
+0.4779,-0.0000,0.2682,-0.8365
+0.4779,-0.0000,0.2682,-0.8365
+0.4779,-0.0000,0.2682,-0.8365
+0.4779,-0.0000,0.2682,-0.8365
+0.4640,-0.0000,0.2680,-0.8443
+0.4640,-0.0000,0.2680,-0.8443
+0.4640,-0.0000,0.2680,-0.8443
+0.4640,-0.0000,0.2680,-0.8443
+0.4501,-0.0000,0.2678,-0.8519
+0.4501,-0.0000,0.2678,-0.8519
+0.4501,-0.0000,0.2678,-0.8519
+0.4501,-0.0000,0.2678,-0.8519
+0.4360,-0.0000,0.2677,-0.8592
+0.4360,-0.0000,0.2677,-0.8592
+0.4360,-0.0000,0.2677,-0.8592
+0.4360,-0.0000,0.2677,-0.8592
+0.4218,-0.0000,0.2677,-0.8663
+0.4218,-0.0000,0.2677,-0.8663
+0.4218,-0.0000,0.2677,-0.8663
+0.4218,-0.0000,0.2677,-0.8663
+0.4074,-0.0000,0.2677,-0.8731
+0.4074,-0.0000,0.2677,-0.8731
+0.4074,-0.0000,0.2677,-0.8731
+0.4074,-0.0000,0.2677,-0.8731
+0.3929,-0.0000,0.2678,-0.8797
+0.3929,-0.0000,0.2678,-0.8797
+0.3929,-0.0000,0.2678,-0.8797
+0.3929,-0.0000,0.2678,-0.8797
+0.3783,-0.0000,0.2680,-0.8860
+0.3783,-0.0000,0.2680,-0.8860
+0.3783,-0.0000,0.2680,-0.8860
+0.3783,-0.0000,0.2680,-0.8860
+0.3635,-0.0000,0.2683,-0.8921
+0.3635,-0.0000,0.2683,-0.8921
+0.3635,-0.0000,0.2683,-0.8921
+0.3635,-0.0000,0.2683,-0.8921
+0.3487,-0.0000,0.2687,-0.8979
+0.3487,-0.0000,0.2687,-0.8979
+0.3487,-0.0000,0.2687,-0.8979
+0.3487,-0.0000,0.2687,-0.8979
+0.3337,-0.0000,0.2692,-0.9034
+0.3337,-0.0000,0.2692,-0.9034
+0.3337,-0.0000,0.2692,-0.9034
+0.3337,-0.0000,0.2692,-0.9034
+0.3186,-0.0000,0.2698,-0.9087
+0.3186,-0.0000,0.2698,-0.9087
+0.3186,-0.0000,0.2698,-0.9087
+0.3186,-0.0000,0.2698,-0.9087
+0.3034,-0.0000,0.2705,-0.9136
+0.3034,-0.0000,0.2705,-0.9136
+0.3034,-0.0000,0.2705,-0.9136
+0.3034,-0.0000,0.2705,-0.9136
+0.2882,-0.0000,0.2714,-0.9183
+0.2882,-0.0000,0.2714,-0.9183
+0.2882,-0.0000,0.2714,-0.9183
+0.2882,-0.0000,0.2714,-0.9183
+0.2728,-0.0000,0.2725,-0.9227
+0.2728,-0.0000,0.2725,-0.9227
+0.2728,-0.0000,0.2725,-0.9227
+0.2728,-0.0000,0.2725,-0.9227
+0.2573,-0.0000,0.2738,-0.9267
+0.2573,-0.0000,0.2738,-0.9267
+0.2573,-0.0000,0.2738,-0.9267
+0.2573,-0.0000,0.2738,-0.9267
+0.2418,-0.0000,0.2753,-0.9305
+0.2418,-0.0000,0.2753,-0.9305
+0.2418,-0.0000,0.2753,-0.9305
+0.2418,-0.0000,0.2753,-0.9305
+0.2262,-0.0000,0.2771,-0.9339
+0.2262,-0.0000,0.2771,-0.9339
+0.2262,-0.0000,0.2771,-0.9339
+0.2262,-0.0000,0.2771,-0.9339
+0.2105,-0.0000,0.2792,-0.9369
+0.2105,-0.0000,0.2792,-0.9369
+0.2105,-0.0000,0.2792,-0.9369
+0.2105,-0.0000,0.2792,-0.9369
+0.1947,-0.0000,0.2818,-0.9395
+0.1947,-0.0000,0.2818,-0.9395
+0.1947,-0.0000,0.2818,-0.9395
+0.1947,-0.0000,0.2818,-0.9395
+0.1789,-0.0000,0.2848,-0.9417
+0.1789,-0.0000,0.2848,-0.9417
+0.1789,-0.0000,0.2848,-0.9417
+0.1789,-0.0000,0.2848,-0.9417
+0.1630,-0.0000,0.2886,-0.9435
+0.1630,-0.0000,0.2886,-0.9435
+0.1630,-0.0000,0.2886,-0.9435
+0.1630,-0.0000,0.2886,-0.9435
+0.1471,-0.0000,0.2933,-0.9446
+0.1471,-0.0000,0.2933,-0.9446
+0.1471,-0.0000,0.2933,-0.9446
+0.1471,-0.0000,0.2933,-0.9446
+0.1312,-0.0000,0.2991,-0.9452
+0.1312,-0.0000,0.2991,-0.9452
+0.1312,-0.0000,0.2991,-0.9452
+0.1312,-0.0000,0.2991,-0.9452
+0.1152,-0.0000,0.3067,-0.9448
+0.1152,-0.0000,0.3067,-0.9448
+0.1152,-0.0000,0.3067,-0.9448
+0.1152,-0.0000,0.3067,-0.9448
+0.0991,-0.0000,0.3167,-0.9433
+0.0991,-0.0000,0.3167,-0.9433
+0.0991,-0.0000,0.3167,-0.9433
+0.0991,-0.0000,0.3167,-0.9433
+0.0831,-0.0000,0.3307,-0.9401
+0.0831,-0.0000,0.3307,-0.9401
+0.0831,-0.0000,0.3307,-0.9401
+0.0831,-0.0000,0.3307,-0.9401
+0.0670,-0.0000,0.3514,-0.9338
+0.0670,-0.0000,0.3514,-0.9338
+0.0670,-0.0000,0.3514,-0.9338
+0.0670,-0.0000,0.3514,-0.9338
+0.0510,-0.0000,0.3848,-0.9216
+0.0510,-0.0000,0.3848,-0.9216
+0.0510,-0.0000,0.3848,-0.9216
+0.0510,-0.0000,0.3848,-0.9216
+0.0351,-0.0000,0.4473,-0.8937
+0.0351,-0.0000,0.4473,-0.8937
+0.0351,-0.0000,0.4473,-0.8937
+0.0351,-0.0000,0.4473,-0.8937
+0.0196,-0.0000,0.6000,-0.7997
+0.0196,-0.0000,0.6000,-0.7997
+0.0196,-0.0000,0.6000,-0.7997
+0.0196,-0.0000,0.6000,-0.7997
+0.0079,0.0000,1.0000,0.0001
+0.0079,0.0000,1.0000,0.0001
+0.0079,0.0000,1.0000,0.0001
+0.0079,0.0000,1.0000,0.0001
+0.0162,0.0000,0.2425,0.9700
+0.0162,0.0000,0.2425,0.9700
+0.0162,0.0000,0.2425,0.9700
+0.0162,0.0000,0.2425,0.9700
+0.0314,-0.0000,-0.0000,0.9995
+0.0314,-0.0000,-0.0000,0.9995
+0.0314,-0.0000,-0.0000,0.9995
+0.0314,-0.0000,-0.0000,0.9995
+0.0473,-0.0000,-0.0831,0.9954
+0.0473,-0.0000,-0.0831,0.9954
+0.0473,-0.0000,-0.0831,0.9954
+0.0473,-0.0000,-0.0831,0.9954
+0.0633,-0.0000,-0.1241,0.9902
+0.0633,-0.0000,-0.1241,0.9902
+0.0633,-0.0000,-0.1241,0.9902
+0.0633,-0.0000,-0.1241,0.9902
+0.0793,-0.0000,-0.1485,0.9857
+0.0793,-0.0000,-0.1485,0.9857
+0.0793,-0.0000,-0.1485,0.9857
+0.0793,-0.0000,-0.1485,0.9857
+0.0954,-0.0000,-0.1646,0.9817
+0.0954,-0.0000,-0.1646,0.9817
+0.0954,-0.0000,-0.1646,0.9817
+0.0954,-0.0000,-0.1646,0.9817
+0.1114,-0.0000,-0.1762,0.9780
+0.1114,-0.0000,-0.1762,0.9780
+0.1114,-0.0000,-0.1762,0.9780
+0.1114,-0.0000,-0.1762,0.9780
+0.1275,-0.0000,-0.1848,0.9745
+0.1275,-0.0000,-0.1848,0.9745
+0.1275,-0.0000,-0.1848,0.9745
+0.1275,-0.0000,-0.1848,0.9745
+0.1435,-0.0000,-0.1915,0.9709
+0.1435,-0.0000,-0.1915,0.9709
+0.1435,-0.0000,-0.1915,0.9709
+0.1435,-0.0000,-0.1915,0.9709
+0.1594,-0.0000,-0.1970,0.9674
+0.1594,-0.0000,-0.1970,0.9674
+0.1594,-0.0000,-0.1970,0.9674
+0.1594,-0.0000,-0.1970,0.9674
+0.1753,-0.0000,-0.2014,0.9637
+0.1753,-0.0000,-0.2014,0.9637
+0.1753,-0.0000,-0.2014,0.9637
+0.1753,-0.0000,-0.2014,0.9637
+0.1912,-0.0000,-0.2052,0.9599
+0.1912,-0.0000,-0.2052,0.9599
+0.1912,-0.0000,-0.2052,0.9599
+0.1912,-0.0000,-0.2052,0.9599
+0.2070,-0.0000,-0.2085,0.9559
+0.2070,-0.0000,-0.2085,0.9559
+0.2070,-0.0000,-0.2085,0.9559
+0.2070,-0.0000,-0.2085,0.9559
+0.2227,-0.0000,-0.2113,0.9517
+0.2227,-0.0000,-0.2113,0.9517
+0.2227,-0.0000,-0.2113,0.9517
+0.2227,-0.0000,-0.2113,0.9517
+0.2384,-0.0000,-0.2138,0.9473
+0.2384,-0.0000,-0.2138,0.9473
+0.2384,-0.0000,-0.2138,0.9473
+0.2384,-0.0000,-0.2138,0.9473
+0.2540,-0.0000,-0.2161,0.9428
+0.2540,-0.0000,-0.2161,0.9428
+0.2540,-0.0000,-0.2161,0.9428
+0.2540,-0.0000,-0.2161,0.9428
+0.2695,-0.0000,-0.2181,0.9380
+0.2695,-0.0000,-0.2181,0.9380
+0.2695,-0.0000,-0.2181,0.9380
+0.2695,-0.0000,-0.2181,0.9380
+0.2849,-0.0000,-0.2200,0.9330
+0.2849,-0.0000,-0.2200,0.9330
+0.2849,-0.0000,-0.2200,0.9330
+0.2849,-0.0000,-0.2200,0.9330
+0.3002,-0.0000,-0.2217,0.9277
+0.3002,-0.0000,-0.2217,0.9277
+0.3002,-0.0000,-0.2217,0.9277
+0.3002,-0.0000,-0.2217,0.9277
+0.3155,-0.0000,-0.2233,0.9223
+0.3155,-0.0000,-0.2233,0.9223
+0.3155,-0.0000,-0.2233,0.9223
+0.3155,-0.0000,-0.2233,0.9223
+0.3306,-0.0000,-0.2248,0.9166
+0.3306,-0.0000,-0.2248,0.9166
+0.3306,-0.0000,-0.2248,0.9166
+0.3306,-0.0000,-0.2248,0.9166
+0.3457,-0.0000,-0.2263,0.9107
+0.3457,-0.0000,-0.2263,0.9107
+0.3457,-0.0000,-0.2263,0.9107
+0.3457,-0.0000,-0.2263,0.9107
+0.3606,-0.0000,-0.2277,0.9045
+0.3606,-0.0000,-0.2277,0.9045
+0.3606,-0.0000,-0.2277,0.9045
+0.3606,-0.0000,-0.2277,0.9045
+0.3754,-0.0000,-0.2290,0.8981
+0.3754,-0.0000,-0.2290,0.8981
+0.3754,-0.0000,-0.2290,0.8981
+0.3754,-0.0000,-0.2290,0.8981
+0.3901,-0.0000,-0.2303,0.8915
+0.3901,-0.0000,-0.2303,0.8915
+0.3901,-0.0000,-0.2303,0.8915
+0.3901,-0.0000,-0.2303,0.8915
+0.4047,-0.0000,-0.2315,0.8847
+0.4047,-0.0000,-0.2315,0.8847
+0.4047,-0.0000,-0.2315,0.8847
+0.4047,-0.0000,-0.2315,0.8847
+0.4192,-0.0000,-0.2327,0.8776
+0.4192,-0.0000,-0.2327,0.8776
+0.4192,-0.0000,-0.2327,0.8776
+0.4192,-0.0000,-0.2327,0.8776
+0.4335,-0.0000,-0.2339,0.8703
+0.4335,-0.0000,-0.2339,0.8703
+0.4335,-0.0000,-0.2339,0.8703
+0.4335,-0.0000,-0.2339,0.8703
+0.4477,-0.0000,-0.2351,0.8627
+0.4477,-0.0000,-0.2351,0.8627
+0.4477,-0.0000,-0.2351,0.8627
+0.4477,-0.0000,-0.2351,0.8627
+0.4617,-0.0000,-0.2362,0.8550
+0.4617,-0.0000,-0.2362,0.8550
+0.4617,-0.0000,-0.2362,0.8550
+0.4617,-0.0000,-0.2362,0.8550
+0.4756,-0.0000,-0.2374,0.8470
+0.4756,-0.0000,-0.2374,0.8470
+0.4756,-0.0000,-0.2374,0.8470
+0.4756,-0.0000,-0.2374,0.8470
+0.4894,-0.0000,-0.2385,0.8388
+0.4894,-0.0000,-0.2385,0.8388
+0.4894,-0.0000,-0.2385,0.8388
+0.4894,-0.0000,-0.2385,0.8388
+0.5030,-0.0000,-0.2396,0.8304
+0.5030,-0.0000,-0.2396,0.8304
+0.5030,-0.0000,-0.2396,0.8304
+0.5030,-0.0000,-0.2396,0.8304
+0.5164,-0.0000,-0.2408,0.8218
+0.5164,-0.0000,-0.2408,0.8218
+0.5164,-0.0000,-0.2408,0.8218
+0.5164,-0.0000,-0.2408,0.8218
+0.5297,-0.0000,-0.2419,0.8130
+0.5297,-0.0000,-0.2419,0.8130
+0.5297,-0.0000,-0.2419,0.8130
+0.5297,-0.0000,-0.2419,0.8130
+0.5428,-0.0000,-0.2431,0.8039
+0.5428,-0.0000,-0.2431,0.8039
+0.5428,-0.0000,-0.2431,0.8039
+0.5428,-0.0000,-0.2431,0.8039
+0.5558,-0.0000,-0.2442,0.7947
+0.5558,-0.0000,-0.2442,0.7947
+0.5558,-0.0000,-0.2442,0.7947
+0.5558,-0.0000,-0.2442,0.7947
+0.5685,-0.0000,-0.2454,0.7852
+0.5685,-0.0000,-0.2454,0.7852
+0.5685,-0.0000,-0.2454,0.7852
+0.5685,-0.0000,-0.2454,0.7852
+0.5811,-0.0000,-0.2465,0.7756
+0.5811,-0.0000,-0.2465,0.7756
+0.5811,-0.0000,-0.2465,0.7756
+0.5811,-0.0000,-0.2465,0.7756
+0.5936,-0.0000,-0.2477,0.7657
+0.5936,-0.0000,-0.2477,0.7657
+0.5936,-0.0000,-0.2477,0.7657
+0.5936,-0.0000,-0.2477,0.7657
+0.6058,-0.0000,-0.2489,0.7557
+0.6058,-0.0000,-0.2489,0.7557
+0.6058,-0.0000,-0.2489,0.7557
+0.6058,-0.0000,-0.2489,0.7557
+0.6179,-0.0000,-0.2501,0.7455
+0.6179,-0.0000,-0.2501,0.7455
+0.6179,-0.0000,-0.2501,0.7455
+0.6179,-0.0000,-0.2501,0.7455
+0.6297,-0.0000,-0.2513,0.7351
+0.6297,-0.0000,-0.2513,0.7351
+0.6297,-0.0000,-0.2513,0.7351
+0.6297,-0.0000,-0.2513,0.7351
+0.6414,-0.0000,-0.2525,0.7245
+0.6414,-0.0000,-0.2525,0.7245
+0.6414,-0.0000,-0.2525,0.7245
+0.6414,-0.0000,-0.2525,0.7245
+0.6528,-0.0000,-0.2538,0.7137
+0.6528,-0.0000,-0.2538,0.7137
+0.6528,-0.0000,-0.2538,0.7137
+0.6528,-0.0000,-0.2538,0.7137
+0.6641,-0.0000,-0.2550,0.7028
+0.6641,-0.0000,-0.2550,0.7028
+0.6641,-0.0000,-0.2550,0.7028
+0.6641,-0.0000,-0.2550,0.7028
+0.6752,-0.0000,-0.2563,0.6917
+0.6752,-0.0000,-0.2563,0.6917
+0.6752,-0.0000,-0.2563,0.6917
+0.6752,-0.0000,-0.2563,0.6917
+0.6860,-0.0000,-0.2576,0.6804
+0.6860,-0.0000,-0.2576,0.6804
+0.6860,-0.0000,-0.2576,0.6804
+0.6860,-0.0000,-0.2576,0.6804
+0.6967,-0.0000,-0.2590,0.6690
+0.6967,-0.0000,-0.2590,0.6690
+0.6967,-0.0000,-0.2590,0.6690
+0.6967,-0.0000,-0.2590,0.6690
+0.7071,-0.0000,-0.2603,0.6575
+0.7071,-0.0000,-0.2603,0.6575
+0.7071,-0.0000,-0.2603,0.6575
+0.7071,-0.0000,-0.2603,0.6575
+0.7173,-0.0000,-0.2617,0.6457
+0.7173,-0.0000,-0.2617,0.6457
+0.7173,-0.0000,-0.2617,0.6457
+0.7173,-0.0000,-0.2617,0.6457
+0.7273,-0.0000,-0.2631,0.6339
+0.7273,-0.0000,-0.2631,0.6339
+0.7273,-0.0000,-0.2631,0.6339
+0.7273,-0.0000,-0.2631,0.6339
+0.7371,-0.0000,-0.2645,0.6219
+0.7371,-0.0000,-0.2645,0.6219
+0.7371,-0.0000,-0.2645,0.6219
+0.7371,-0.0000,-0.2645,0.6219
+0.7467,-0.0000,-0.2659,0.6097
+0.7467,-0.0000,-0.2659,0.6097
+0.7467,-0.0000,-0.2659,0.6097
+0.7467,-0.0000,-0.2659,0.6097
+0.7560,-0.0000,-0.2674,0.5974
+0.7560,-0.0000,-0.2674,0.5974
+0.7560,-0.0000,-0.2674,0.5974
+0.7560,-0.0000,-0.2674,0.5974
+0.7651,-0.0000,-0.2689,0.5851
+0.7651,-0.0000,-0.2689,0.5851
+0.7651,-0.0000,-0.2689,0.5851
+0.7651,-0.0000,-0.2689,0.5851
+0.7740,-0.0000,-0.2705,0.5725
+0.7740,-0.0000,-0.2705,0.5725
+0.7740,-0.0000,-0.2705,0.5725
+0.7740,-0.0000,-0.2705,0.5725
+0.7826,-0.0000,-0.2720,0.5599
+0.7826,-0.0000,-0.2720,0.5599
+0.7826,-0.0000,-0.2720,0.5599
+0.7826,-0.0000,-0.2720,0.5599
+0.7910,-0.0000,-0.2736,0.5472
+0.7910,-0.0000,-0.2736,0.5472
+0.7910,-0.0000,-0.2736,0.5472
+0.7910,-0.0000,-0.2736,0.5472
+0.7992,-0.0000,-0.2752,0.5343
+0.7992,-0.0000,-0.2752,0.5343
+0.7992,-0.0000,-0.2752,0.5343
+0.7992,-0.0000,-0.2752,0.5343
+0.8072,-0.0000,-0.2769,0.5214
+0.8072,-0.0000,-0.2769,0.5214
+0.8072,-0.0000,-0.2769,0.5214
+0.8072,-0.0000,-0.2769,0.5214
+0.8149,-0.0000,-0.2786,0.5083
+0.8149,-0.0000,-0.2786,0.5083
+0.8149,-0.0000,-0.2786,0.5083
+0.8149,-0.0000,-0.2786,0.5083
+0.8223,-0.0000,-0.2803,0.4952
+0.8223,-0.0000,-0.2803,0.4952
+0.8223,-0.0000,-0.2803,0.4952
+0.8223,-0.0000,-0.2803,0.4952
+0.8295,-0.0000,-0.2820,0.4820
+0.8295,-0.0000,-0.2820,0.4820
+0.8295,-0.0000,-0.2820,0.4820
+0.8295,-0.0000,-0.2820,0.4820
+0.8365,-0.0000,-0.2838,0.4687
+0.8365,-0.0000,-0.2838,0.4687
+0.8365,-0.0000,-0.2838,0.4687
+0.8365,-0.0000,-0.2838,0.4687
+0.8433,-0.0000,-0.2857,0.4553
+0.8433,-0.0000,-0.2857,0.4553
+0.8433,-0.0000,-0.2857,0.4553
+0.8433,-0.0000,-0.2857,0.4553
+0.8497,-0.0000,-0.2875,0.4419
+0.8497,-0.0000,-0.2875,0.4419
+0.8497,-0.0000,-0.2875,0.4419
+0.8497,-0.0000,-0.2875,0.4419
+0.8560,-0.0000,-0.2894,0.4284
+0.8560,-0.0000,-0.2894,0.4284
+0.8560,-0.0000,-0.2894,0.4284
+0.8560,-0.0000,-0.2894,0.4284
+0.8620,-0.0000,-0.2913,0.4148
+0.8620,-0.0000,-0.2913,0.4148
+0.8620,-0.0000,-0.2913,0.4148
+0.8620,-0.0000,-0.2913,0.4148
+0.8677,-0.0000,-0.2933,0.4012
+0.8677,-0.0000,-0.2933,0.4012
+0.8677,-0.0000,-0.2933,0.4012
+0.8677,-0.0000,-0.2933,0.4012
+0.8732,-0.0000,-0.2953,0.3876
+0.8732,-0.0000,-0.2953,0.3876
+0.8732,-0.0000,-0.2953,0.3876
+0.8732,-0.0000,-0.2953,0.3876
+0.8785,-0.0000,-0.2974,0.3739
+0.8785,-0.0000,-0.2974,0.3739
+0.8785,-0.0000,-0.2974,0.3739
+0.8785,-0.0000,-0.2974,0.3739
+0.8835,-0.0000,-0.2995,0.3602
+0.8835,-0.0000,-0.2995,0.3602
+0.8835,-0.0000,-0.2995,0.3602
+0.8835,-0.0000,-0.2995,0.3602
+0.8883,-0.0000,-0.3016,0.3465
+0.8883,-0.0000,-0.3016,0.3465
+0.8883,-0.0000,-0.3016,0.3465
+0.8883,-0.0000,-0.3016,0.3465
+0.8928,-0.0000,-0.3038,0.3327
+0.8928,-0.0000,-0.3038,0.3327
+0.8928,-0.0000,-0.3038,0.3327
+0.8928,-0.0000,-0.3038,0.3327
+0.8970,-0.0000,-0.3060,0.3189
+0.8970,-0.0000,-0.3060,0.3189
+0.8970,-0.0000,-0.3060,0.3189
+0.8970,-0.0000,-0.3060,0.3189
+0.9010,-0.0000,-0.3083,0.3051
+0.9010,-0.0000,-0.3083,0.3051
+0.9010,-0.0000,-0.3083,0.3051
+0.9010,-0.0000,-0.3083,0.3051
+0.9048,-0.0000,-0.3106,0.2913
+0.9048,-0.0000,-0.3106,0.2913
+0.9048,-0.0000,-0.3106,0.2913
+0.9048,-0.0000,-0.3106,0.2913
+0.9083,-0.0000,-0.3130,0.2776
+0.9083,-0.0000,-0.3130,0.2776
+0.9083,-0.0000,-0.3130,0.2776
+0.9083,-0.0000,-0.3130,0.2776
+0.9116,-0.0000,-0.3154,0.2638
+0.9116,-0.0000,-0.3154,0.2638
+0.9116,-0.0000,-0.3154,0.2638
+0.9116,-0.0000,-0.3154,0.2638
+0.9146,-0.0000,-0.3179,0.2500
+0.9146,-0.0000,-0.3179,0.2500
+0.9146,-0.0000,-0.3179,0.2500
+0.9146,-0.0000,-0.3179,0.2500
+0.9174,-0.0000,-0.3204,0.2363
+0.9174,-0.0000,-0.3204,0.2363
+0.9174,-0.0000,-0.3204,0.2363
+0.9174,-0.0000,-0.3204,0.2363
+0.9199,-0.0000,-0.3229,0.2226
+0.9199,-0.0000,-0.3229,0.2226
+0.9199,-0.0000,-0.3229,0.2226
+0.9199,-0.0000,-0.3229,0.2226
+0.9222,-0.0000,-0.3256,0.2089
+0.9222,-0.0000,-0.3256,0.2089
+0.9222,-0.0000,-0.3256,0.2089
+0.9222,-0.0000,-0.3256,0.2089
+0.9242,-0.0000,-0.3282,0.1952
+0.9242,-0.0000,-0.3282,0.1952
+0.9242,-0.0000,-0.3282,0.1952
+0.9242,-0.0000,-0.3282,0.1952
+0.9260,-0.0000,-0.3309,0.1817
+0.9260,-0.0000,-0.3309,0.1817
+0.9260,-0.0000,-0.3309,0.1817
+0.9260,-0.0000,-0.3309,0.1817
+0.9276,-0.0000,-0.3337,0.1681
+0.9276,-0.0000,-0.3337,0.1681
+0.9276,-0.0000,-0.3337,0.1681
+0.9276,-0.0000,-0.3337,0.1681
+0.9289,-0.0000,-0.3366,0.1546
+0.9289,-0.0000,-0.3366,0.1546
+0.9289,-0.0000,-0.3366,0.1546
+0.9289,-0.0000,-0.3366,0.1546
+0.9300,-0.0000,-0.3395,0.1412
+0.9300,-0.0000,-0.3395,0.1412
+0.9300,-0.0000,-0.3395,0.1412
+0.9300,-0.0000,-0.3395,0.1412
+0.9308,-0.0000,-0.3424,0.1279
+0.9308,-0.0000,-0.3424,0.1279
+0.9308,-0.0000,-0.3424,0.1279
+0.9308,-0.0000,-0.3424,0.1279
+0.9314,-0.0000,-0.3454,0.1146
+0.9314,-0.0000,-0.3454,0.1146
+0.9314,-0.0000,-0.3454,0.1146
+0.9314,-0.0000,-0.3454,0.1146
+0.9318,-0.0000,-0.3485,0.1015
+0.9318,-0.0000,-0.3485,0.1015
+0.9318,-0.0000,-0.3485,0.1015
+0.9318,-0.0000,-0.3485,0.1015
+0.9320,-0.0000,-0.3516,0.0884
+0.9320,-0.0000,-0.3516,0.0884
+0.9320,-0.0000,-0.3516,0.0884
+0.9320,-0.0000,-0.3516,0.0884
+0.9319,-0.0000,-0.3548,0.0754
+0.9319,-0.0000,-0.3548,0.0754
+0.9319,-0.0000,-0.3548,0.0754
+0.9319,-0.0000,-0.3548,0.0754
+0.9316,-0.0000,-0.3581,0.0625
+0.9316,-0.0000,-0.3581,0.0625
+0.9316,-0.0000,-0.3581,0.0625
+0.9316,-0.0000,-0.3581,0.0625
+0.9311,-0.0000,-0.3614,0.0498
+0.9311,-0.0000,-0.3614,0.0498
+0.9311,-0.0000,-0.3614,0.0498
+0.9311,-0.0000,-0.3614,0.0498
+0.9303,-0.0000,-0.3648,0.0371
+0.9303,-0.0000,-0.3648,0.0371
+0.9303,-0.0000,-0.3648,0.0371
+0.9303,-0.0000,-0.3648,0.0371
+0.9294,-0.0000,-0.3683,0.0246
+0.9294,-0.0000,-0.3683,0.0246
+0.9294,-0.0000,-0.3683,0.0246
+0.9294,-0.0000,-0.3683,0.0246
+0.9282,-0.0000,-0.3718,0.0122
+0.9282,-0.0000,-0.3718,0.0122
+0.9282,-0.0000,-0.3718,0.0122
+0.9282,-0.0000,-0.3718,0.0122
+0.9269,-0.0000,-0.3754,-0.0000
+0.9269,-0.0000,-0.3754,-0.0000
+0.9269,-0.0000,-0.3754,-0.0000
+0.9269,-0.0000,-0.3754,-0.0000
diff --git a/tests/renderer/test_renderer.py b/tests/renderer/test_renderer.py
index 866d2eee2c91eb9f231705d4117f5fe5a532dda6..690f495c7fc196c4c552e80a15a0445f74015ec3 100644
--- a/tests/renderer/test_renderer.py
+++ b/tests/renderer/test_renderer.py
@@ -26,12 +26,10 @@
the United Nations Convention on Contracts on the International Sales of Goods.
"""
-
import pytest
from .utils import *
-
""" Ambisonics """
@@ -58,6 +56,156 @@ def test_ambisonics_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file):
)
+# Test compares rendering with just a trajectory file against rendering with a trajectory file + a zero ref rotation.
+# These should be binary equivalent.
+@pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST)
+@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL)
+@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI)
+def test_ambisonics_binaural_headrotation_refrotzero(test_info, in_fmt, out_fmt, trj_file):
+ compare_renderer_args(
+ test_info,
+ in_fmt,
+ out_fmt,
+ ref_kwargs={
+ "name_extension": "refrotzero",
+ "trj_file": HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv")
+ },
+ cut_kwargs={
+ "trj_file": HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"),
+ "refrot_file": HR_TRAJECTORY_DIR.joinpath("const000.csv")
+ }
+ )
+
+
+# Second test compares rendering with no head rotation against rendering with equal ref and head rotation.
+# These should also be binary equivalent.
+# Note that reference rotation is supplied per 4 subframes; head rotation per subframe.
+@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL)
+@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI)
+def test_ambisonics_binaural_headrotation_refrotequal(test_info, in_fmt, out_fmt):
+ compare_renderer_args(
+ test_info,
+ in_fmt,
+ out_fmt,
+ ref_kwargs={
+ "name_extension": "refrotequal",
+ },
+ cut_kwargs={
+ "trj_file": HR_TRAJECTORY_DIR.joinpath("azi_plus_2-ele_plus_2-every-100-frames.csv"),
+ "refrot_file": HR_TRAJECTORY_DIR.joinpath("azi_plus_2-ele_plus_2-every-25-rows.csv")
+ }
+ )
+
+# This test compares rendering with:
+# ref: head rotation trajectory file (OTR=NONE)
+# cut: identical head rotation trajectory file as ref but in addition a constant
+# reference vector in the looking direction of the coordinate system (OTR=REF_VEC)
+@pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST)
+@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL)
+@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI)
+def test_ambisonics_binaural_headrotation_refveczero(test_info, in_fmt, out_fmt, trj_file):
+ compare_renderer_args(
+ test_info,
+ in_fmt,
+ out_fmt,
+ ref_kwargs={
+ "name_extension": "refveczero",
+ "trj_file": HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv")
+ },
+ cut_kwargs={
+ "trj_file": HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"),
+ "refvec_file": HR_TRAJECTORY_DIR.joinpath("const000-Vector3.csv")
+ }
+ )
+
+# This test compares rendering with:
+# ref: no head rotation (OTR=NONE)
+# cut: rendering with head rotation and a ref vector which moves in the
+# looking-direction of the head rotation and therefore compensates it (OTR=REF_VEC)
+@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL)
+@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI)
+def test_ambisonics_binaural_headrotation_refvecequal(test_info, in_fmt, out_fmt):
+ compare_renderer_args(
+ test_info,
+ in_fmt,
+ out_fmt,
+ ref_kwargs={
+ "name_extension": "refvecequal",
+ },
+ cut_kwargs={
+ "trj_file": HR_TRAJECTORY_DIR.joinpath("full-circle-with-up-and-down-4s.csv"),
+ "refvec_file": HR_TRAJECTORY_DIR.joinpath("full-circle-with-up-and-down-4s-Vector3.csv")
+ }
+ )
+
+# This test compares rendering with:
+# ref: a head rotation trajectory with elevation (OTR=NONE)
+# cut: a static head rotation and a reference position trajectory which moves
+# in a way that produces the same acoustic output as the ref head rot trajectory (OTR=REF_VEC)
+@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL)
+@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI)
+def test_ambisonics_binaural_headrotation_refvec_rotating(test_info, in_fmt, out_fmt):
+ compare_renderer_args(
+ test_info,
+ in_fmt,
+ out_fmt,
+ ref_kwargs={
+ "name_extension": "refvec_rotating",
+ "trj_file": HR_TRAJECTORY_DIR.joinpath("full-circle-with-up-and-down-4s.csv"),
+ },
+ cut_kwargs={
+ "trj_file": HR_TRAJECTORY_DIR.joinpath("const000.csv"),
+ "refvec_file": HR_TRAJECTORY_DIR.joinpath("full-circle-with-up-and-down-4s-ccw-Vector3.csv")
+ }
+ )
+
+# This test compares rendering with:
+# ref: a head rotation trajectory with elevation (OTR=NONE)
+# cut: a static head rotation and a reference position trajectory which moves
+# in a way that produces the same acoustic output as the ref head rot trajectory (OTR=REF_VEC)
+# which also contains a fixed position offset between listener and reference position (which
+# gets compensated in the REF_VEV OTR modes)
+@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL)
+@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI)
+def test_ambisonics_binaural_headrotation_refvec_rotating_fixed_pos_offset(test_info, in_fmt, out_fmt):
+ compare_renderer_args(
+ test_info,
+ in_fmt,
+ out_fmt,
+ ref_kwargs={
+ "name_extension": "refvec_rotating",
+ "trj_file": HR_TRAJECTORY_DIR.joinpath("full-circle-with-up-and-down-4s-ccw.csv"),
+ },
+ cut_kwargs={
+ "trj_file": HR_TRAJECTORY_DIR.joinpath("const000.csv"),
+ "refvec_file": HR_TRAJECTORY_DIR.joinpath("full-circle-with-up-and-down-4s-fixed-pos-offset-Vector3.csv")
+ }
+ )
+
+# This test compares rendering with:
+# ref: a reference position trajectory with elevation and REF_VEC_LEV OTR mode (OTR=REF_VEC_LEV)
+# cut: a reference position trajectory without the elevation and REF_VEC OTR mode (OTR=REF_VEC)
+# Since the only difference between REF_VEC_LEV and REF_VEC is that *LEV ignores
+# the height difference in positions, the output must be binary equivalent.
+@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL)
+@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI)
+def test_ambisonics_binaural_headrotation_refveclev_vs_refvec(test_info, in_fmt, out_fmt):
+ compare_renderer_args(
+ test_info,
+ in_fmt,
+ out_fmt,
+ ref_kwargs={
+ "name_extension": "refveclevel",
+ "trj_file": HR_TRAJECTORY_DIR.joinpath("const000.csv"),
+ "refveclev_file": HR_TRAJECTORY_DIR.joinpath("full-circle-with-up-and-down-4s-Vector3.csv"),
+ },
+ cut_kwargs={
+ "trj_file": HR_TRAJECTORY_DIR.joinpath("const000.csv"),
+ "refvec_file": HR_TRAJECTORY_DIR.joinpath("full-circle-4s-Vector3.csv")
+ }
+ )
+
+
""" Multichannel """
@@ -96,6 +244,30 @@ def test_multichannel_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file
trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"),
)
+# This test compares rendering with:
+# ref: a head rotation trajectory with elevation (OTR=NONE)
+# cut: a static head rotation and a reference position trajectory which moves
+# in a way that produces the same acoustic output as the ref head rot trajectory (OTR=REF_VEC)
+@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL)
+@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MC)
+def test_multichannel_binaural_headrotation_refvec_rotating(test_info, in_fmt, out_fmt):
+ if in_fmt in ["MONO", "STEREO"]:
+ pytest.skip("MONO or STEREO to Binaural rendering unsupported")
+
+ compare_renderer_args(
+ test_info,
+ in_fmt,
+ out_fmt,
+ ref_kwargs={
+ "name_extension": "refvec_rotating",
+ "trj_file": HR_TRAJECTORY_DIR.joinpath("full-circle-with-up-and-down-4s.csv"),
+ },
+ cut_kwargs={
+ "trj_file": HR_TRAJECTORY_DIR.joinpath("const000.csv"),
+ "refvec_file": HR_TRAJECTORY_DIR.joinpath("full-circle-with-up-and-down-4s-ccw-Vector3.csv")
+ }
+ )
+
""" ISM """
@@ -144,6 +316,33 @@ def test_ism_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file):
in_meta_files=in_meta_files,
)
+# This test compares rendering with:
+# ref: a head rotation trajectory with elevation (OTR=NONE)
+# cut: a static head rotation and a reference position trajectory which moves
+# in a way that produces the same acoustic output as the ref head rot trajectory (OTR=REF_VEC)
+@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL)
+@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_ISM)
+def test_ism_binaural_headrotation_refvec_rotating(test_info, in_fmt, out_fmt):
+ try:
+ in_meta_files = FORMAT_TO_METADATA_FILES[in_fmt]
+ except:
+ in_meta_files = None
+
+ compare_renderer_args(
+ test_info,
+ in_fmt,
+ out_fmt,
+ ref_kwargs={
+ "name_extension": "refvec_rotating",
+ "trj_file": HR_TRAJECTORY_DIR.joinpath("full-circle-with-up-and-down-4s.csv"),
+ "in_meta_files": in_meta_files
+ },
+ cut_kwargs={
+ "trj_file": HR_TRAJECTORY_DIR.joinpath("const000.csv"),
+ "refvec_file": HR_TRAJECTORY_DIR.joinpath("full-circle-with-up-and-down-4s-ccw-Vector3.csv"),
+ "in_meta_files": in_meta_files
+ }
+ )
""" MASA """
diff --git a/tests/renderer/utils.py b/tests/renderer/utils.py
index 143c33b066eaa5961ad3421ffe0793bea94720d6..7a98dff3006b066bf78c563801a8816553e8498c 100644
--- a/tests/renderer/utils.py
+++ b/tests/renderer/utils.py
@@ -31,12 +31,11 @@ import subprocess as sp
import sys
from pathlib import Path
from tempfile import TemporaryDirectory
-from typing import Optional, Tuple
+from typing import Optional, Tuple, Dict
import numpy as np
import pytest
-
from .compare_audio import compare_audio_arrays
from .constants import *
@@ -106,6 +105,10 @@ def run_renderer(
metadata_input: Optional[str] = None,
in_meta_files: Optional[list] = None,
trj_file: Optional[str] = None,
+ name_extension: Optional[str] = None,
+ refrot_file: Optional[str] = None,
+ refvec_file: Optional[str] = None,
+ refveclev_file: Optional[str] = None,
output_path_base: str = OUTPUT_PATH_CUT,
binary_suffix: str = "",
is_comparetest: Optional[bool] = False,
@@ -116,6 +119,23 @@ def run_renderer(
else:
trj_name = ""
+ if refrot_file is not None:
+ refrot_name = f"_{refrot_file.stem}"
+ else:
+ refrot_name = ""
+
+ if refvec_file is not None:
+ refvec_name = f"_{refvec_file.stem}"
+ else:
+ refvec_name = ""
+
+ if refveclev_file is not None:
+ refveclev_name = f"_{refveclev_file.stem}"
+ else:
+ refveclev_name = ""
+
+
+
if not isinstance(out_fmt, str):
out_name = f"{out_fmt.stem}"
else:
@@ -136,7 +156,7 @@ def run_renderer(
in_file = FORMAT_TO_FILE[in_fmt]
in_name = in_fmt
- out_file = str(output_path_base.joinpath(f"{in_name}_to_{out_name}{trj_name}.wav"))
+ out_file = str(output_path_base.joinpath(f"{in_name}_to_{out_name}{trj_name}{refrot_name}{refvec_name}{refveclev_name}{name_extension}.wav"))
cmd = RENDERER_CMD[:]
cmd[2] = str(in_file)
@@ -152,6 +172,18 @@ def run_renderer(
if trj_file is not None:
cmd.extend(["-tf", str(trj_file)])
+ if refrot_file is not None:
+ cmd.extend(["-rf", str(refrot_file)])
+ cmd.extend(["-otr", "ref"])
+
+ if refvec_file is not None:
+ cmd.extend(["-rvf", str(refvec_file)])
+ cmd.extend(["-otr", "ref_vec"])
+
+ if refveclev_file is not None:
+ cmd.extend(["-rvf", str(refveclev_file)])
+ cmd.extend(["-otr", "ref_vec_lev"])
+
run_cmd(cmd)
return pyaudio3dtools.audiofile.readfile(out_file)
@@ -222,3 +254,8 @@ def compare_renderer_vs_pyscripts(test_info, in_fmt, out_fmt, **kwargs):
ref, ref_fs = run_pyscripts(in_fmt, out_fmt, **kwargs)
cut, cut_fs = run_renderer(in_fmt, out_fmt, **kwargs)
check_BE(test_info, ref, ref_fs, cut, cut_fs)
+
+def compare_renderer_args(test_info, in_fmt, out_fmt, ref_kwargs: Dict, cut_kwargs: Dict):
+ ref, ref_fs = run_renderer(in_fmt, out_fmt, **ref_kwargs)
+ cut, cut_fs = run_renderer(in_fmt, out_fmt, **cut_kwargs)
+ check_BE(test_info, ref, ref_fs, cut, cut_fs)
\ No newline at end of file