QWT学习之正余弦曲线图

       使用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;
        }
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 Qwt 绘制曲线图,需要先在项目中添加 Qwt 库,并且在代码中包含 Qwt 头文件。 以下是一个简单的示例代码,演示如何使用 Qwt 绘制曲线图: ```cpp #include <QApplication> #include <QMainWindow> #include <QVBoxLayout> #include <qwt_plot.h> #include <qwt_plot_curve.h> int main(int argc, char *argv[]) { QApplication a(argc, argv); // 创建主窗口 QMainWindow mainWindow; QWidget* centralWidget = new QWidget(&mainWindow); mainWindow.setCentralWidget(centralWidget); // 创建 Qwt 绘图控件 QwtPlot* plot = new QwtPlot(centralWidget); QVBoxLayout* layout = new QVBoxLayout(centralWidget); layout->addWidget(plot); // 创建曲线 QwtPlotCurve* curve = new QwtPlotCurve(); curve->setTitle("My Curve"); // 设置曲线数据 double xData[5] = {0.0, 1.0, 2.0, 3.0, 4.0}; double yData[5] = {0.0, 2.0, 4.0, 6.0, 8.0}; curve->setSamples(xData, yData, 5); // 将曲线添加到绘图控件中 curve->attach(plot); // 显示窗口 mainWindow.show(); return a.exec(); } ``` 在这个示例代码中,我们首先创建了一个 QMainWindow 对象,并将其设置为主窗口。然后,我们创建了一个 QwtPlot 对象,该对象用于绘制曲线图。我们还创建了一个 QwtPlotCurve 对象,该对象表示要绘制的曲线。设置曲线数据后,我们将曲线添加到 QwtPlot 对象中,并将其显示在主窗口中。 需要注意的是,要使用 Qwt 绘制曲线图,需要在项目中添加 Qwt 库。具体的添加方法可以参考 Qt 文档中的说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值