2012-03-29 9 views
0

Qwt scheint eine Menge magischer Zahlen zu verwenden. Könnte jemand bitte erklären, was 90 und 16 aus dem folgenden Codemagische Zahlen in qwt

void QwtRoundScaleDraw::drawBackbone(QPainter *painter) const 
{ 
    const double a1 = qMin(scaleMap().p1(), scaleMap().p2()) - 90 * 16; 
    const double a2 = qMax(scaleMap().p1(), scaleMap().p2()) - 90 * 16; 

    const double radius = d_data->radius; 
    const double x = d_data->center.x() - radius; 
    const double y = d_data->center.y() - radius; 

    painter->drawArc(x, y, 2 * radius, 2 * radius, 
     -a2, a2 - a1 + 1);   // counterclockwise 
} 

Antwort

5

Schritte, um es herauszufinden:

  1. Doc of drawArc
  2. a1 und a2 verwendet wird, um die startangle und spanAngle Parameter dieser Funktion zu berechnen
  3. Das Maß dieser Parameter ist der 1/16 Grad (siehe # 1)
  4. können Sie erraten, dass diese Zahlen den ursprünglichen Bogen mit aq drehen werden Uadrant (90 Grad)