private void ConvertKinematic(int datasize)
        {
            int
                iter     = 0,
                DataSize = datasize,
                i        = 0,
                j        = 0,
                k        = 0,
                l        = 0,
                Gen      = 0;

            char[] KinematicChar = Kinematic.ToCharArray();

            double[,]
            Components = new double[DataSize, 6],
            KinData    = new double[DataSize, 6];

            while (iter < 50)
            {
                for (i = 0; i < KinematicChar.Length; i++)
                {
                    if ((KinematicChar[i] == ':') || ((int)Char.GetNumericValue(KinematicChar[i]) == -1))
                    {
                        KinematicChar[i] = ',';
                    }

                    switch (iter)
                    {
                    case 0:
                        WristLX[j]       = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[0, j] = WristLX[j];
                        j++;
                        break;

                    case 1:
                        WristLY[j]       = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[1, j] = WristLY[j];
                        j++;
                        break;

                    case 2:
                        WristLZ[j]       = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[2, j] = WristLZ[j];
                        j++;
                        break;

                    case 3:
                        WristRX[j]       = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[3, j] = WristRX[j];
                        j++;
                        break;

                    case 4:
                        WristRY[j]       = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[4, j] = WristRY[j];
                        j++;
                        break;

                    case 5:
                        WristRZ[j]       = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[5, j] = WristRZ[j];
                        j++;
                        break;

                    case 6:
                        ElbowLX[j]       = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[6, j] = ElbowLX[j];
                        j++;
                        break;

                    case 7:
                        ElbowLY[j]       = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[7, j] = ElbowLY[j];
                        j++;
                        break;

                    case 8:
                        ElbowLZ[j]       = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[8, j] = ElbowLZ[j];
                        j++;
                        break;

                    case 9:
                        ElbowRX[j]       = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[9, j] = ElbowRX[j];
                        j++;
                        break;

                    case 10:
                        ElbowRY[j]        = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[10, j] = ElbowRY[j];
                        j++;
                        break;

                    case 11:
                        ElbowRZ[j]        = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[11, j] = ElbowRZ[j];
                        j++;
                        break;

                    case 12:
                        ShoulderLX[j]     = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[12, j] = ShoulderLX[j];
                        j++;
                        break;

                    case 13:
                        ShoulderLY[j]     = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[13, j] = ShoulderLY[j];
                        j++;
                        break;

                    case 14:
                        ShoulderLZ[j]     = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[14, j] = ShoulderLZ[j];
                        j++;
                        break;

                    case 15:
                        ShoulderRX[j]     = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[15, j] = ShoulderRX[j];
                        j++;
                        break;

                    case 16:
                        ShoulderRY[j]     = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[16, j] = ShoulderRY[j];
                        j++;
                        break;

                    case 17:
                        ShoulderRZ[j]     = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[17, j] = ShoulderRZ[j];
                        j++;
                        break;

                    case 18:
                        CenterX[j]        = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[18, j] = CenterX[j];
                        j++;
                        break;

                    case 19:
                        CenterY[j]        = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[19, j] = CenterY[j];
                        j++;
                        break;

                    case 20:
                        CenterZ[j]        = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[20, j] = CenterZ[j];
                        j++;
                        break;

                    case 21:
                        NeckX[j]          = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[21, j] = NeckX[j];
                        j++;
                        break;

                    case 22:
                        NeckY[j]          = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[22, j] = NeckY[j];
                        j++;
                        break;

                    case 23:
                        NeckZ[j]          = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[23, j] = NeckZ[j];
                        j++;
                        break;

                    case 24:
                        BackX[j]          = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[24, j] = BackX[j];
                        j++;
                        break;

                    case 25:
                        BackY[j]          = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[25, j] = BackY[j];
                        j++;
                        break;

                    case 26:
                        BackZ[j]          = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[26, j] = BackZ[j];
                        j++;
                        break;

                    case 27:
                        PelvisX[j]        = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[27, j] = PelvisX[j];
                        j++;
                        break;

                    case 28:
                        PelvisY[j]        = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[28, j] = PelvisY[j];
                        j++;
                        break;

                    case 29:
                        PelvisZ[j]        = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[29, j] = PelvisZ[j];
                        j++;
                        break;

                    case 30:
                        HipLX[j]          = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[30, j] = HipLX[j];
                        j++;
                        break;

                    case 31:
                        HipLY[j]          = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[31, j] = HipLY[j];
                        j++;
                        break;

                    case 32:
                        HipLY[j]          = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[32, j] = HipLY[j];
                        j++;
                        break;

                    case 33:
                        HipLZ[j]          = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[33, j] = HipLZ[j];
                        j++;
                        break;

                    case 34:
                        HipRX[j]          = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[34, j] = HipRX[j];
                        j++;
                        break;

                    case 35:
                        HipRY[j]          = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[35, j] = HipRY[j];
                        j++;
                        break;

                    case 36:
                        HipRZ[j]          = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[36, j] = HipRZ[j];
                        j++;
                        break;

                    case 37:
                        KneeLX[j]         = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[37, j] = KneeLX[j];
                        j++;
                        break;

                    case 38:
                        KneeLY[j]         = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[38, j] = KneeLY[j];
                        j++;
                        break;

                    case 39:
                        KneeLZ[j]         = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[39, j] = KneeLZ[j];
                        j++;
                        break;

                    case 40:
                        KneeRX[j]         = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[40, j] = KneeRX[j];
                        j++;
                        break;

                    case 41:
                        KneeRY[j]         = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[41, j] = KneeRY[j];
                        j++;
                        break;

                    case 42:
                        KneeRY[j]         = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[42, j] = KneeRY[j];
                        j++;
                        break;

                    case 43:
                        KneeRZ[j]         = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[43, j] = KneeRZ[j];
                        j++;
                        break;

                    case 44:
                        AnkleLX[j]        = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[44, j] = AnkleLX[j];
                        j++;
                        break;

                    case 45:
                        AnkleLY[j]        = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[45, j] = AnkleLY[j];
                        j++;
                        break;

                    case 46:
                        AnkleLZ[j]        = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[46, j] = AnkleLZ[j];
                        j++;
                        break;

                    case 47:
                        AnkleRX[j]        = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[47, j] = AnkleRX[j];
                        j++;
                        break;

                    case 48:
                        AnkleRY[j]        = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[48, j] = AnkleRY[j];
                        j++;
                        break;

                    case 49:
                        AnkleRZ[j]        = (int)Char.GetNumericValue(KinematicChar[i]);
                        Components[49, j] = AnkleRZ[j];
                        j++;
                        break;
                    }

                    if ((KinematicChar[i] == ','))
                    {
                        iter++;
                        //i++;
                        j = 0;
                    }
                    if (iter == 13)
                    {
                        l = j;
                        for (j = 0; j < 14; j++)
                        {
                            for (k = 0; Components[j, k] != 0; k++)
                            {
                                SortedData[0, Gen, j, k] = Components[j, k];
                            }
                        }
                        j = l;
                    }
                }
            }
        }