qwt 中的幻数
Posted
技术标签:
【中文标题】qwt 中的幻数【英文标题】:magic numbers in qwt 【发布时间】:2012-03-29 14:24:56 【问题描述】: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】:解决方法:
-
Doc of drawArc
a1 和 a2 用于计算该函数的 startAngle 和 spanAngle 参数
这些参数的度量是 1/16 度(参见 #1)
你可以猜到这些数字会将原来的圆弧旋转一个象限(90 度)
【讨论】:
以上是关于qwt 中的幻数的主要内容,如果未能解决你的问题,请参考以下文章