Multi-touch gear for navigation

Maybe I’m not understanding your question, but if your goal is to always point your “center to top line” to the angle where the longest lines crosses, why dont you pick the midle of the triangle base and calculate from there the angle to the top.
The part of your code below will always take the first toutch in consideration.

float dx = touches[0].x - centreX;
      float dy = touches[0].y - centreY;
      angle = atan2(dy, dx);
      // calculate the end point
      float newX = centreX + cos(angle) * lineLength;
      float newY = centreY + sin(angle) * lineLength;