使用QWT控件可以绘制各种图形,图形一般都有点、线实现,一个图形的怎么通过函数添加对应的点来实现的关键就是要知道图形中点分布的规律,下面列举了正弦分布和五角星图形对应点的分布函数实现,仅供参考,后面会陆续更新
正弦点分布
QPolygonF points( double phase ) const //phase为正弦波幅值(波形平移),0:正好是正弦波 { QPolygonF points; const int numSamples = 15; for ( int i = 0; i < numSamples; i++ ) { const double v = 2 * M_PI * double( i ) / double( numSamples - 1 ); points += QPointF( qSin( v - phase ), v ); } return points; }
五角星点分布
void initSamples() { const int numSamples = 15; for ( int i = 0; i < numSamples; i++ ) { const double angle = i * ( 2.0 * M_PI / ( numSamples - 1 ) ); QPointF p( qCos( angle ), qSin( angle ) ); if ( i % 2 ) p *= 0.4; d_points += p; } }