var dat   =  49;   /* Daten fuer 2 Personen  */
var gdat  = 100;   /* Gesamt-Daten           */
var eps   = 1.0e-8;

var csy = new Array(31);                                   /* Koordinatensysteme */
  for (var i = 0; i < csy.length; ++i) csy[i] = new Array(4);
csy[ 1][1] =  0.0; csy[ 1][2] =  4.0; csy[ 1][3] = 26.5;   /*  1 Frau: Hals - Kopf       */
csy[ 2][1] =  0.0; csy[ 2][2] =  4.0; csy[ 2][3] = 20.0;   /*  2 Frau: Bauch - Oberkrp   */
csy[ 3][1] =  0.0; csy[ 3][2] =  4.0; csy[ 3][3] = 20.0;   /*  3 Frau: Bauch - Unterkrp  */
csy[ 4][1] =  1.1; csy[ 4][2] =  4.0; csy[ 4][3] = 15.0;   /*  4 Frau: Huefte links      */
csy[ 5][1] =  1.1; csy[ 5][2] =  4.0; csy[ 5][3] =  8.5;   /*  5 Frau: Knie links        */
csy[ 6][1] =  1.1; csy[ 6][2] =  4.0; csy[ 6][3] =  1.0;   /*  6 Frau: Fussgelenk links  */
csy[ 7][1] = -1.1; csy[ 7][2] =  4.0; csy[ 7][3] = 15.0;   /*  7 Frau: Huefte rechts     */
csy[ 8][1] = -1.1; csy[ 8][2] =  4.0; csy[ 8][3] =  8.5;   /*  8 Frau: Knie rechts       */
csy[ 9][1] = -1.1; csy[ 9][2] =  4.0; csy[ 9][3] =  1.0;   /*  9 Frau: Fussgelenk rechts */
csy[10][1] =  2.7; csy[10][2] =  4.0; csy[10][3] = 24.5;   /* 10 Frau: Schulter links    */
csy[11][1] =  2.7; csy[11][2] =  4.0; csy[11][3] = 19.0;   /* 11 Frau: Ellenbogen links  */
csy[12][1] =  2.7; csy[12][2] =  4.0; csy[12][3] = 14.0;   /* 12 Frau: Handgelenk links  */
csy[13][1] = -2.7; csy[13][2] =  4.0; csy[13][3] = 24.5;   /* 13 Frau: Schulter rechts   */
csy[14][1] = -2.7; csy[14][2] =  4.0; csy[14][3] = 19.0;   /* 14 Frau: Ellenbogen rechts */
csy[15][1] = -2.7; csy[15][2] =  4.0; csy[15][3] = 14.0;   /* 15 Frau: Handgelenk rechts */
csy[16][1] =  0.0; csy[16][2] = -4.0; csy[16][3] = 26.5;   /* 16 Mann: Hals - Kopf       */
csy[17][1] =  0.0; csy[17][2] = -4.0; csy[17][3] = 20.0;   /* 17 Mann: Bauch - Oberkrp   */
csy[18][1] =  0.0; csy[18][2] = -4.0; csy[18][3] = 20.0;   /* 18 Mann: Bauch - Unterkrp  */
csy[19][1] = -1.1; csy[19][2] = -4.0; csy[19][3] = 15.0;   /* 19 Mann: Huefte links      */
csy[20][1] = -1.1; csy[20][2] = -4.0; csy[20][3] =  8.5;   /* 20 Mann: Knie links        */
csy[21][1] = -1.1; csy[21][2] = -4.0; csy[21][3] =  1.0;   /* 21 Mann: Fussgelenk links  */
csy[22][1] =  1.1; csy[22][2] = -4.0; csy[22][3] = 15.0;   /* 22 Mann: Huefte rechts     */
csy[23][1] =  1.1; csy[23][2] = -4.0; csy[23][3] =  8.5;   /* 23 Mann: Knie rechts       */
csy[24][1] =  1.1; csy[24][2] = -4.0; csy[24][3] =  1.0;   /* 24 Mann: Fussgelenk rechts */
csy[25][1] = -2.7; csy[25][2] = -4.0; csy[25][3] = 24.5;   /* 25 Mann: Schulter links    */
csy[26][1] = -2.7; csy[26][2] = -4.0; csy[26][3] = 19.0;   /* 26 Mann: Ellenbogen links  */
csy[27][1] = -2.7; csy[27][2] = -4.0; csy[27][3] = 14.0;   /* 27 Mann: Handgelenk links  */
csy[28][1] =  2.7; csy[28][2] = -4.0; csy[28][3] = 24.5;   /* 28 Mann: Schulter rechts   */
csy[29][1] =  2.7; csy[29][2] = -4.0; csy[29][3] = 19.0;   /* 29 Mann: Ellenbogen rechts */
csy[30][1] =  2.7; csy[30][2] = -4.0; csy[30][3] = 14.0;   /* 30 Mann: Handgelenk rechts */

var cpc = new Array(                           /* Zuordnung Pkt - Csy */
  0,  1, 1, 2, 2, 3, 4, 5, 6, 3, 7, 8, 9, 2,10,11,12, 2,13,14,15,
     16,16,17,17,18,19,20,21,18,22,23,24,17,25,26,27,17,28,29,30,
      6, 9,21,24, 3,18, 1,16, 4);

var org = new Array(50);                                   /* [xyz] relativ zum Csy */
  for (var i = 0; i < org.length; ++i) org[i] = new Array(4);
org[ 1][1] =  0.0; org[ 1][2] =  1.0; org[ 1][3] =  4.5;   /*  0.0, 5.0,31.0,      1 Frau: Kopf hinten       */
org[ 2][1] =  0.0; org[ 2][2] = -1.0; org[ 2][3] =  4.5;   /*  0.0, 3.0,31.0,      2 Frau: Kopf vorne        */
org[ 3][1] =  0.0; org[ 3][2] =  0.0; org[ 3][3] =  6.5;   /*  0.0, 4.0,26.5,      3 Frau: Hals              */
org[ 4][1] =  0.0; org[ 4][2] =  0.0; org[ 4][3] =  0.0;   /*  0.0, 4.0,20.0,      4 Frau: Bauch             */
org[ 5][1] =  1.1; org[ 5][2] =  0.0; org[ 5][3] = -5.0;   /*  1.1, 4.0,15.0,      5 Frau: Huefte links      */
org[ 6][1] =  0.0; org[ 6][2] =  0.0; org[ 6][3] = -6.5;   /*  1.1, 4.0, 8.5,      6 Frau: Knie links        */
org[ 7][1] =  0.0; org[ 7][2] =  0.0; org[ 7][3] = -7.5;   /*  1.1, 4.0, 1.0,      7 Frau: Fussgelenk links  */
org[ 8][1] =  0.0; org[ 8][2] = -3.0; org[ 8][3] = -1.0;   /*  1.1, 1.0, 0.0,      8 Frau: Fusspitze links   */
org[ 9][1] = -1.1; org[ 9][2] =  0.0; org[ 9][3] = -5.0;   /* -1.1, 4.0,15.0,      9 Frau: Huefte rechts     */
org[10][1] =  0.0; org[10][2] =  0.0; org[10][3] = -6.5;   /* -1.1, 4.0, 8.5,     10 Frau: Knie rechts       */
org[11][1] =  0.0; org[11][2] =  0.0; org[11][3] = -7.5;   /* -1.1, 4.0, 1.0,     11 Frau: Fussgelenk rechts */
org[12][1] =  0.0; org[12][2] = -3.0; org[12][3] = -1.0;   /* -1.1, 1.0, 0.0,     12 Frau: Fusspitze rechts  */
org[13][1] =  2.7; org[13][2] =  0.0; org[13][3] =  4.5;   /*  2.7, 4.0,24.5,     13 Frau: Schulter links    */
org[14][1] =  0.0; org[14][2] =  0.0; org[14][3] = -5.5;   /*  2.7, 4.0,19.0,     14 Frau: Ellenbogen links  */
org[15][1] =  0.0; org[15][2] =  0.0; org[15][3] = -5.0;   /*  2.7, 4.0,14.0,     15 Frau: Handgelenk links  */
org[16][1] =  0.0; org[16][2] =  0.0; org[16][3] = -2.5;   /*  2.7, 4.0,11.5,     16 Frau: Handspitze links  */
org[17][1] = -2.7; org[17][2] =  0.0; org[17][3] =  4.5;   /* -2.7, 4.0,24.5,     17 Frau: Schulter rechts   */
org[18][1] =  0.0; org[18][2] =  0.0; org[18][3] = -5.5;   /* -2.7, 4.0,19.0,     18 Frau: Ellenbogen rechts */
org[19][1] =  0.0; org[19][2] =  0.0; org[19][3] = -5.0;   /* -2.7, 4.0,14.0,     19 Frau: Handgelenk rechts */
org[20][1] =  0.0; org[20][2] =  0.0; org[20][3] = -2.5;   /* -2.7, 4.0,11.5,     20 Frau: Handspitze rechts */
org[21][1] =  0.0; org[21][2] = -1.0; org[21][3] =  4.5;   /*  0.0,-5.0,31.0,     21 Mann: Kopf hinten       */
org[22][1] =  0.0; org[22][2] =  1.0; org[22][3] =  4.5;   /*  0.0,-3.0,31.0,     22 Mann: Kopf vorne        */
org[23][1] =  0.0; org[23][2] =  0.0; org[23][3] =  6.5;   /*  0.0,-4.0,26.5,     23 Mann: Hals              */
org[24][1] =  0.0; org[24][2] =  0.0; org[24][3] =  0.0;   /*  0.0,-4.0,20.0,     24 Mann: Bauch             */
org[25][1] = -1.1; org[25][2] =  0.0; org[25][3] = -5.0;   /* -1.1,-4.0,15.0,     25 Mann: Huefte links      */
org[26][1] =  0.0; org[26][2] =  0.0; org[26][3] = -6.5;   /* -1.1,-4.0, 8.5,     26 Mann: Knie links        */
org[27][1] =  0.0; org[27][2] =  0.0; org[27][3] = -7.5;   /* -1.1,-4.0, 1.0,     27 Mann: Fussgelenk links  */
org[28][1] =  0.0; org[28][2] =  3.0; org[28][3] = -1.0;   /* -1.1,-1.0, 0.0,     28 Mann: Fusspitze links   */
org[29][1] =  1.1; org[29][2] =  0.0; org[29][3] = -5.0;   /*  1.1,-4.0,15.0,     29 Mann: Huefte rechts     */
org[30][1] =  0.0; org[30][2] =  0.0; org[30][3] = -6.5;   /*  1.1,-4.0, 8.5,     30 Mann: Knie rechts       */
org[31][1] =  0.0; org[31][2] =  0.0; org[31][3] = -7.5;   /*  1.1,-4.0, 1.0,     31 Mann: Fussgelenk rechts */
org[32][1] =  0.0; org[32][2] =  3.0; org[32][3] = -1.0;   /*  1.1,-1.0, 0.0,     32 Mann: Fusspitze rechts  */
org[33][1] = -2.7; org[33][2] =  0.0; org[33][3] =  4.5;   /* -2.7,-4.0,24.5,     33 Mann: Schulter links    */
org[34][1] =  0.0; org[34][2] =  0.0; org[34][3] = -5.5;   /* -2.7,-4.0,19.0,     34 Mann: Ellenbogen links  */
org[35][1] =  0.0; org[35][2] =  0.0; org[35][3] = -5.0;   /* -2.7,-4.0,14.0,     35 Mann: Handgelenk links  */
org[36][1] =  0.0; org[36][2] =  0.0; org[36][3] = -2.5;   /* -2.7,-4.0,11.5,     36 Mann: Handspitze links  */
org[37][1] =  2.7; org[37][2] =  0.0; org[37][3] =  4.5;   /*  2.7,-4.0,24.5,     37 Mann: Schulter rechts   */
org[38][1] =  0.0; org[38][2] =  0.0; org[38][3] = -5.5;   /*  2.7,-4.0,19.0,     38 Mann: Ellenbogen rechts */
org[39][1] =  0.0; org[39][2] =  0.0; org[39][3] = -5.0;   /*  2.7,-4.0,14.0,     39 Mann: Handgelenk rechts */
org[40][1] =  0.0; org[40][2] =  0.0; org[40][3] = -2.5;   /*  2.7,-4.0,11.5,     40 Mann: Handspitze rechts */
org[41][1] =  0.0; org[41][2] =  1.0; org[41][3] = -1.0;   /*  1.1, 5.0, 0.0,     41 Frau: Ferse links       */
org[42][1] =  0.0; org[42][2] =  1.0; org[42][3] = -1.0;   /* -1.1, 5.0, 0.0,     42 Frau: Ferse rechts      */
org[43][1] =  0.0; org[43][2] = -1.0; org[43][3] = -1.0;   /* -1.1,-5.0, 0.0,     43 Mann: Ferse links       */
org[44][1] =  0.0; org[44][2] = -1.0; org[44][3] = -1.0;   /*  1.1,-5.0, 0.0,     44 Mann: Ferse rechts      */
org[45][1] =  0.0; org[45][2] =  0.0; org[45][3] = -5.0;   /*  0.0, 4.0,15.0,     45 Frau: Schritt           */
org[46][1] =  0.0; org[46][2] =  0.0; org[46][3] = -5.0;   /*  0.0,-4.0,15.0,     46 Mann: Schritt           */
org[47][1] =  0.0; org[47][2] =  0.0; org[47][3] =  4.5;   /*  0.0, 4.0,31.0,     47 Frau: Kopf mitte        */
org[48][1] =  0.0; org[48][2] =  0.0; org[48][3] =  4.5;   /*  0.0,-4.0,31.0,     48 Mann: Kopf mitte        */
org[49][1] =  0.0; org[49][2] = -4.0; org[49][3] =  0.0;   /*  0.0, 0.0,20.0,     49 F/M : Mitte Bauch       */

var xyz = new Array(50);
  for (var i = 0; i < xyz.length; ++i) xyz[i] = new Array(4);      /* [xyz] abs Pkte akt+alt */

var acv = new Array(3);
  for (var i = 0; i < acv.length; ++i) acv[i] = new Array(4);      /* xt,yt,zt Frau/Mann     */
                                                                   /*  1.. 2: aktuelle Daten */
var acd = new Array(31);
  for (var i = 0; i < acd.length; ++i) acd[i] = new Array(4);      /* al,be,ga               */
                                                                   /*  1..30: aktuelle Daten */

var gal,gbe,gga,x0x,y0y;
var CamRad;
var getmaxx1,getmaxy1,ImgMinX1,ImgMinY1,ImgMaxX1,ImgMaxY1;
var xkoord,ykoord;
var RD = new Array(4);
var MOVETOx,MOVETOy;
var gelenkpos = new Array(4)
	 for (var i = 0; i < gelenkpos.length; ++i) {
	   gelenkpos[i] = new Array(50);
	   for (var j = 0; j < gelenkpos[i].length; ++j) gelenkpos[i][j] = new Array(2);
	 }
var mouseposx,mouseposy;
var gelenk = 4;
var AbsWkl;
var AbsDreh = new Boolean(false);


/* Examples */
var foxtr = "0,0,-20,0,0,-20,0,0,-20,0,0,-20,10,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-20,0,0,0,0,0,40,0,0,0,0,0,-10,0,0,0,0,0,0,0,0,20,0,0,0,0,0,-40,0,0,0,0,0,10,0,0,0,0,0,10,0,0,0,0,0,0,108,36,8,-56,26,0,0,104,-2,-106,18,0,0,38,-4,-20,8,10,0,0,0,0,0,0,-64,-4,0,90,-34,0,-86,-18,0,0,-98,-6,-24,-12,0,0,-54,6,-10,-0,-6,10,-0,";

var rumba = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-10,0,0,-10,0,20,14,0,0,14,0,-40,0,0,0,0,0,10,0,0,0,0,0,0,-10,0,0,-10,0,0,14,0,-20,14,0,0,0,0,40,0,0,0,0,0,-10,0,0,0,0,0,0,0,0,0,106,40,0,-60,40,0,0,80,0,-120,10,0,0,70,0,-10,0,0,0,0,0,0,0,0,-60,-40,0,90,-50,0,-120,-10,0,0,-80,0,-10,0,0,0,-60,0,0,-1,0,0,-1,";

var walzr = "0,0,-20,0,0,-20,0,0,-20,0,0,-20,10,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,10,0,0,-20,0,0,-20,0,0,40,0,0,10,0,0,-10,0,0,0,0,0,0,0,0,20,0,0,-10,0,0,-40,0,0,20,0,0,10,0,0,-10,0,0,10,0,0,0,0,0,0,108,36,8,-56,26,0,0,104,-2,-106,18,0,0,38,-4,-20,8,10,0,0,0,0,0,0,-64,-4,0,90,-34,0,-86,-18,0,0,-98,-6,-24,-12,0,0,-54,6,-10,-2,-6,10,-2,";

var tgarg = "0,0,20,0,0,-20,0,0,20,0,0,-20,-6,0,0,0,0,0,-6,0,0,0,0,0,-6,0,0,0,0,0,20,0,0,0,0,0,-40,0,0,0,0,0,10,0,0,0,0,0,-6,0,0,0,0,0,0,0,0,-20,0,0,0,0,0,40,0,0,0,0,0,-10,0,0,-6,0,0,0,0,0,0,108,36,8,-56,26,0,0,124,-2,-106,18,0,0,38,-4,-20,8,-6,0,0,0,0,0,10,-62,-4,0,90,-24,0,-90,-20,0,0,-108,-6,-24,-12,0,0,-54,6,-19,2,-6,1,-0,";

var rockn = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-20,0,0,0,0,0,40,0,0,0,0,0,-10,0,0,0,0,0,0,0,0,20,0,0,0,0,0,-40,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,-10,0,0,0,0,0,30,0,0,-90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,90,0,0,-30,0,0,0,0,0,0,0,0,0,34,-0,0,-34,-0,";

var salsa = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-10,0,0,-10,0,20,14,0,0,14,0,-40,0,0,0,0,0,10,0,0,0,0,0,0,-10,0,0,-10,0,0,14,0,-20,14,0,0,0,0,40,0,0,0,0,0,-10,0,0,0,0,0,0,0,0,-10,10,0,10,-10,0,100,0,0,-100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-10,-10,0,10,10,0,100,0,0,-100,0,0,0,0,0,0,0,0,-2,20,-1,-2,-20,-1,";
