qwt中的幻数

magic numbers in qwt

本文关键字:qwt      更新时间:2023-10-16

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. 图纸文件
  2. a1和a2用于计算该函数的startAngle和spanAngle参数
  3. 这些参数的度量是度的1/16(参见#1)
  4. 你可以猜测,这些数字将使原始圆弧旋转一个象限(90度)
相关文章:
  • 没有找到相关文章