initVariables();
//////////////////////////////////
function funcionGo(ctx, width, height) {
  if (lInit) {
    jsreinitProcedure();
    jsinitTimer(1);
    txClocalUp = "IA PARA LA POSE DE EESS";
    txClocalDown = "sepárese de la cámara, la cara debe activarse";
  }
  //displaymodulo(0);

  displayPose();

  noStroke();
}

function displayPose() {
  let angle = 0;

  textSize(20)

  strokeWeight(20)
  stroke(200, 200, 200, 128)
  fill(255, 255, 255, 128);

  //cabeza
  beginShape();
  curveVertex((x11 + x12) / 2, (y11 + y12) / 2)
  curveVertex(x9, y9);
  curveVertex(x0, y0);
  curveVertex(x1, y1);
  curveVertex(x2, y2);
  curveVertex(x3, y3);
  curveVertex(x7, y7);
  curveVertex(x0, y0);
  curveVertex(x9, y9);
  curveVertex((x11 + x12) / 2, (y11 + y12) / 2)
  endShape();

  beginShape();
  curveVertex((x11 + x12) / 2, (y11 + y12) / 2)
  curveVertex(x10, y10);
  curveVertex(x0, y0);
  curveVertex(x4, y4);
  curveVertex(x5, y5);
  curveVertex(x6, y6);
  curveVertex(x8, y8);
  curveVertex(x0, y0);
  curveVertex(x10, y10);
  curveVertex((x11 + x12) / 2, (y11 + y12) / 2)
  endShape();

  if (!modoReflejo) {
    //eess
    noStroke();
    fill(0);
    let rshoulder = [x12, y12]
    let relbow = [x14, y14]
    let rwrist = [x16, y16]
    angle = calculate_angle(rshoulder, relbow, rwrist)
    text(parseInt(angle), x14, y14)

    let lshoulder = [x11, y11]
    let lelbow = [x13, y13]
    let lwrist = [x15, y15]
    angle = calculate_angle(lshoulder, lelbow, lwrist)
    text(parseInt(angle), x13, y13)

    let rhip = [x24, y24]
    angle = calculate_angle(rhip, rshoulder, relbow)
    text(parseInt(angle), x12, y12)

    let lhip = [x23, y23]
    angle = calculate_angle(lhip, lshoulder, lelbow)
    text(parseInt(angle), x11, y11)

    strokeWeight(20)
    stroke(200, 200, 200, 128)
    fill(255, 255, 255, 128);

    //eess
    beginShape();
    curveVertex(x0, y0);
    curveVertex((x11 + x12) / 2, (y11 + y12) / 2)
    curveVertex((x11 + (x11 + x12) / 2) / 2, (y11 + (y11 + y12) / 2) / 2)
    curveVertex(x11, y11);
    curveVertex(x13, y13);
    curveVertex(x15, y15);
    curveVertex(x17, y17);
    curveVertex(x19, y19);
    curveVertex(x21, y21);
    curveVertex(x15, y15);
    curveVertex(x13, y13);
    curveVertex((x11 + (x11 + x12) / 2) / 2, (y11 + (y11 + y12) / 2) / 2)
    curveVertex(x12, y12);
    endShape();

    beginShape();
    curveVertex(x0, y0);
    curveVertex((x11 + x12) / 2, (y11 + y12) / 2)
    curveVertex((x12 + (x11 + x12) / 2) / 2, (y12 + (y11 + y12) / 2) / 2)
    curveVertex(x12, y12);
    curveVertex(x14, y14);
    curveVertex(x16, y16);
    curveVertex(x18, y18);
    curveVertex(x20, y20);
    curveVertex(x22, y22);
    curveVertex(x16, y16);
    curveVertex(x14, y14);
    curveVertex((x12 + (x11 + x12) / 2) / 2, (y12 + (y11 + y12) / 2) / 2)
    curveVertex((x11 + x12) / 2, (y11 + y12) / 2)
    endShape();
  }
  else {
    if (modoDiestro) {
      //eess
      noStroke();
      fill(0);
      let rshoulder = [x12, y12]
      let relbow = [x14, y14]
      let rwrist = [x16, y16]
      angle = calculate_angle(rshoulder, relbow, rwrist)
      text(parseInt(angle), x14, y14)

      let rhip = [x24, y24]
      angle = calculate_angle(rhip, rshoulder, relbow)
      text(parseInt(angle), x12, y12)

      strokeWeight(20)
      stroke(200, 200, 200, 128)
      fill(255, 255, 255, 128);

      beginShape();
      curveVertex(x0, y0);
      curveVertex((x11 + x12) / 2, (y11 + y12) / 2)
      curveVertex((x12 + (x11 + x12) / 2) / 2, (y12 + (y11 + y12) / 2) / 2)
      curveVertex(x12, y12);
      curveVertex(x14, y14);
      curveVertex(x16, y16);
      curveVertex(x18, y18);
      curveVertex(x20, y20);
      curveVertex(x22, y22);
      curveVertex(x16, y16);
      curveVertex(x14, y14);
      curveVertex((x12 + (x11 + x12) / 2) / 2, (y12 + (y11 + y12) / 2) / 2)
      curveVertex((x11 + x12) / 2, (y11 + y12) / 2)
      endShape();
      beginShape();
      curveVertex(width - x0, y0);
      curveVertex(width - (x11 + x12) / 2, (y11 + y12) / 2)
      curveVertex(width - (x12 + (x11 + x12) / 2) / 2, (y12 + (y11 + y12) / 2) / 2)
      curveVertex(width - x12, y12);
      curveVertex(width - x14, y14);
      curveVertex(width - x16, y16);
      curveVertex(width - x18, y18);
      curveVertex(width - x20, y20);
      curveVertex(width - x22, y22);
      curveVertex(width - x16, y16);
      curveVertex(width - x14, y14);
      curveVertex(width - (x12 + (x11 + x12) / 2) / 2, (y12 + (y11 + y12) / 2) / 2)
      curveVertex(width - (x11 + x12) / 2, (y11 + y12) / 2)
      endShape();
    }
    else {
      noStroke();
      fill(0);
      let lshoulder = [x11, y11]
      let lelbow = [x13, y13]
      let lwrist = [x15, y15]
      angle = calculate_angle(lshoulder, lelbow, lwrist)
      text(parseInt(angle), x13, y13)

      let lhip = [x23, y23]
      angle = calculate_angle(lhip, lshoulder, lelbow)
      text(parseInt(angle), x11, y11)

      strokeWeight(20)
      stroke(200, 200, 200, 128)
      fill(255, 255, 255, 128);

      beginShape();
      curveVertex(x0, y0);
      curveVertex((x11 + x12) / 2, (y11 + y12) / 2)
      curveVertex((x11 + (x11 + x12) / 2) / 2, (y11 + (y11 + y12) / 2) / 2)
      curveVertex(x11, y11);
      curveVertex(x13, y13);
      curveVertex(x15, y15);
      curveVertex(x17, y17);
      curveVertex(x19, y19);
      curveVertex(x21, y21);
      curveVertex(x15, y15);
      curveVertex(x13, y13);
      curveVertex((x11 + (x11 + x12) / 2) / 2, (y11 + (y11 + y12) / 2) / 2)
      curveVertex(x12, y12);
      endShape();

      beginShape();
      curveVertex(width - x0, y0);
      curveVertex(width - (x11 + x12) / 2, (y11 + y12) / 2)
      curveVertex(width - (x11 + (x11 + x12) / 2) / 2, (y11 + (y11 + y12) / 2) / 2)
      curveVertex(width - x11, y11);
      curveVertex(width - x13, y13);
      curveVertex(width - x15, y15);
      curveVertex(width - x17, y17);
      curveVertex(width - x19, y19);
      curveVertex(width - x21, y21);
      curveVertex(width - x15, y15);
      curveVertex(width - x13, y13);
      curveVertex(width - (x11 + (x11 + x12) / 2) / 2, (y11 + (y11 + y12) / 2) / 2)
      curveVertex(width - x12, y12);
      endShape();
    }

  }


}