簡體   English   中英

qwt中的幻數

[英]magic numbers in qwt

Qwt似乎使用了很多魔術數字。 任何人都可以從以下代碼中解釋90和16

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
}

解決問題的步驟:

  1. drawArc文件
  2. a1和a2用於計算該函數的startAngle和spanAngle參數
  3. 這些參數的度量是度的1/16(請參閱#1)
  4. 您可以猜測這些數字將以一個象限(90度)旋轉原始弧

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM