国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

qt使用q3dsurface繪制三維曲面圖

這篇具有很好參考價值的文章主要介紹了qt使用q3dsurface繪制三維曲面圖。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一. 內(nèi)容簡介

在QT中使用Q3Dsurface繪制三維圖。項目需要,而大部分教程都是比較簡單的繪制,不能滿足需求,本教程將三維數(shù)組數(shù)據(jù)繪制成三維曲面,在繪制三維曲面時,我原本以為是給入數(shù)據(jù),然后由框架擬合出曲面,其實不是,本質(zhì)上是一個一個點連接的,需要按順序連接好節(jié)點,即一行一列連接,否則曲面就會看不出形狀。

二. 軟件環(huán)境

2.1QT 5.14.1

QT編譯器采用的是MSVC2017 64bit

2.2文中測試代碼

鏈接:https://pan.baidu.com/s/1fSvwg6eJzUocXh2vg_clkQ?pwd=1234

三.主要流程

3.1pro文件中添加相關(guān)組件

3.2搭建三維顯示模塊

3.3填入相關(guān)數(shù)據(jù)

3.4其他設置

3.5結(jié)果展示

3.6點擊按鈕更改圖象數(shù)據(jù)以及樣式

3.7案例補充

3.8三維樣式美化

3.9多次繪制三維圖,程序閃退問題

四.具體步驟

4.1pro文件中添加相關(guān)組件

Q3Dsurface屬于datavisualizationd組件,需要添加相應配置

// pro文件添加
QT       += datavisualization
// 頭文件添加
#include <QtDataVisualization>
#include <QSurface>
// 更新一下,還得加兩個東西
// 這個是布局用的
#include <QBoxLayout>
// 不加這個會報錯,定義的變量
using namespace QtDataVisualization;
// 頭文件還要把變量給定義上,方便后邊改圖的數(shù)據(jù)
QSurface3DSeries *series;
Q3DSurface *groupBox;
QSurfaceDataArray * dataArray;

4.2搭建三維顯示模塊

	// 這個寫完,三維的結(jié)構(gòu)就有了
    groupBox = new Q3DSurface;
    groupBox->axisX()->setTitle("X軸");
    groupBox->axisY()->setTitle("Y軸");
    groupBox->axisZ()->setTitle("Z軸");
    groupBox->axisY()->setRange(-5,10);
    groupBox->axisX()->setRange(-11,11);
    groupBox->axisZ()->setRange(-11,11);

    //將三維圖與數(shù)據(jù)進行綁定
    QSurfaceDataProxy * proxy = new QSurfaceDataProxy;
    series = new QSurface3DSeries(proxy);
    /// 這個就已經(jīng)將數(shù)據(jù)和圖綁定了,后邊更改圖數(shù)據(jù)時候,直接改series即可
    groupBox->addSeries(series);

    QVBoxLayout* vLayout = new QVBoxLayout();
    // 還有這個地方,是將groupBox和vLayout綁定到一起,直接改groupBox,頁面里面的三維圖也會跟著改變的
    vLayout->addWidget(createWindowContainer(groupBox));
    ui->widget->setLayout(vLayout);
    dataArray = new QSurfaceDataArray;

4.3填入相關(guān)數(shù)據(jù)

這塊按照自己的三維數(shù)組的數(shù)據(jù),x,y,z填入,但是QT三維圖軸順序和正常不一樣,需要改下數(shù)據(jù)順序。
墨西哥草帽數(shù)據(jù)

    int N = 41;
    dataArray->reserve(N);
    float x=-10,y,z;
    int i,j;
    for(i = 1;i <= N;i++){
         QSurfaceDataRow *newRow = new QSurfaceDataRow(N);
         y = -10;
         int index = 0;
         for(j=1;j<=N;j++){
             z=qSqrt(x*x+y*y);
             if(z!=0)
                 z=10*qSin(z)/z;
             else
                 z=10;
             (*newRow)[index++].setPosition(QVector3D(x,z,y));
             y=y+0.5;
             
         }
         x=x+0.5;
         *dataArray<<newRow;
    }
    series->dataProxy()->resetArray(dataArray);

q3dsurface,QT,qt,開發(fā)語言

感覺qt這個繪圖是把opengl做了一個封裝的

	QSurfaceDataArray * dataArray_p = new QSurfaceDataArray;
    //數(shù)據(jù)
    int N = 73;//根據(jù)行進行設置
    int M =73;//根據(jù)列進行設置
	// 行列設置不好的話,圖像會扭曲
    dataArray_p->reserve(N);
    int i,j;
    for(i = 1;i <= N;i++){
         QSurfaceDataRow *newRow = new QSurfaceDataRow(M);
         int index = 0;
         for(j=1;j<=M;j++){
             //QT三維圖繪制,軸并不是按照x,y,z這個順序走的,具體怎么走的可以試試,中間是數(shù)據(jù)常規(guī)的z軸
             (*newRow)[index++].setPosition(QVector3D(i,out_p[i][j],j));
         }
         *dataArray_p<<newRow;
    }
    series_p->dataProxy()->resetArray(dataArray_p);

再放一個,數(shù)組好像是7272,還是7373,可以試試

        dataArray->clear();
        content_img->axisY()->setRange(min - min * 0.01, max + max * 0.01);
        content_img->axisX()->setRange(0, N + 1 + 1);
        content_img->axisZ()->setRange(0, N + 1 + 1);
        // 按行列填數(shù)據(jù)
        int NN = N + 1;
        dataArray->reserve(NN);
        for (int i = 1; i <= NN; i++)
        {
            QSurfaceDataRow *newRow = new QSurfaceDataRow(NN);
            int index = 0;
            for (int j = 1; j <= NN; j++)
            {
                (*newRow)[index++].setPosition(QVector3D(i, out_h[i][j], j));
            }
            *dataArray << newRow;
        }
        // 更新數(shù)據(jù)
        series->dataProxy()->resetArray(dataArray);
        ui->bottom_console->appendPlainText(QString("氣膜厚度 最大值: %1,最小值: %2.").arg(max).arg(min));

4.4其他設置

設置漸變

    QLinearGradient gr;
   gr.setColorAt(0.0, QColor(247, 41, 0));
   gr.setColorAt(0.25, QColor(212, 168, 0));
   gr.setColorAt(0.50, QColor(12, 235, 13));
   gr.setColorAt(0.75, QColor(0, 134, 212));
   gr.setColorAt(1.0, QColor(174, 15, 245));
   content_img->seriesList().at(0)->setBaseGradient(gr);
   content_img->seriesList().at(0)->setColorStyle(Q3DTheme::ColorStyleRangeGradient);

q3dsurface,QT,qt,開發(fā)語言

設置曲面樣式

    series_p->setDrawMode(QSurface3DSeries::DrawFlags(2));

如果ui文件更改了,編譯卻沒有更新,重新構(gòu)建將出問題的這個ui_widget.h備份后刪除,并將之前編譯產(chǎn)生的release/debug文件夾以及.pro.user文件都刪除,然后重新打開qt,清理項目,重新qmake。

4.5結(jié)果展示

數(shù)據(jù)用自己的數(shù)據(jù)繪制就好,數(shù)據(jù)不太方便展示,就拿墨西哥草帽展示吧,
q3dsurface,QT,qt,開發(fā)語言
這種不全的情況就是范圍給小了,設定范圍要比值稍微大一點點,就可以了,
q3dsurface,QT,qt,開發(fā)語言

      groupBox_h_3D->axisY()->setRange(-5,10);
      groupBox_h_3D->axisX()->setRange(-11,11);
      groupBox_h_3D->axisZ()->setRange(-11,11);

q3dsurface,QT,qt,開發(fā)語言

4.6點擊按鈕更改圖象數(shù)據(jù)以及樣式

這個是后加的,頭文件加的東西都在上邊,下邊代碼我是寫在mainwindow構(gòu)造函數(shù)里面的

    groupBox = new Q3DSurface;
    groupBox->axisX()->setTitle("X軸");
    groupBox->axisY()->setTitle("Y軸");
    groupBox->axisZ()->setTitle("Z軸");
    groupBox->axisY()->setRange(-5,10);
    groupBox->axisX()->setRange(-11,11);
    groupBox->axisZ()->setRange(-11,11);

    //將三維圖與數(shù)據(jù)進行綁定
    QSurfaceDataProxy * proxy = new QSurfaceDataProxy;
    series = new QSurface3DSeries(proxy);
    groupBox->addSeries(series);
    //將三維圖在組中顯示,布局如果需要的話,在添加一個 #include <QBoxLayout>
    QVBoxLayout* vLayout = new QVBoxLayout();
    vLayout->addWidget(createWindowContainer(groupBox));
    ui->widget->setLayout(vLayout);
    dataArray = new QSurfaceDataArray;

    
    int N = 41;
    dataArray->reserve(N);
    float x=-10,y,z;
    int i,j;
    for(i = 1;i <= N;i++){
         QSurfaceDataRow *newRow = new QSurfaceDataRow(N);
         y = -10;
         int index = 0;
         for(j=1;j<=N;j++){
             z=qSqrt(x*x+y*y);
             if(z!=0)
                 z=10*qSin(z)/z;
             else
                 z=10;
             (*newRow)[index++].setPosition(QVector3D(x,z,y));
             y=y+0.5;
             
         }
         x=x+0.5;
         *dataArray<<newRow;
    }
    series->dataProxy()->resetArray(dataArray);

執(zhí)行代碼

q3dsurface,QT,qt,開發(fā)語言
然后開始寫按鈕事件,比較簡單,看下意思,類比一下就好了

void MainWindow::on_pushButton_clicked()
{
	// 這個clear是必寫的,寫在開頭,把dataArray數(shù)據(jù)清一下,不然很容易程序異常退出,還不好找問題
    dataArray->clear();

	// 這個地方是更改圖的尺寸,就上面說的,已經(jīng)綁定在一起了,直接改就可以了
    groupBox->axisY()->setRange(-5,300);
    
    // 這塊的數(shù)據(jù)就假裝換了吧,重新給series換下數(shù)據(jù)
    int N = 41;
    dataArray->reserve(N);
    float x=-10,y,z;
    int i,j;
    for(i = 1;i <= N;i++){
         QSurfaceDataRow *newRow = new QSurfaceDataRow(N);
         y = -10;
         int index = 0;
         for(j=1;j<=N;j++){
             z=qSqrt(x*x+y*y);
             if(z!=0)
                 z=10*qSin(z)/z;
             else
                 z=10;
             (*newRow)[index++].setPosition(QVector3D(x,z,y));
             y=y+0.5;
         }
         x=x+0.5;
         *dataArray<<newRow;
    }
    series->dataProxy()->resetArray(dataArray);
}

執(zhí)行,然后點擊按鈕
q3dsurface,QT,qt,開發(fā)語言
基本上修改圖的數(shù)據(jù)和結(jié)構(gòu)就沒問題了,剩下的就根據(jù)需要填數(shù)據(jù)和更改圖的信息了。

4.7案例補充

來自評論區(qū)的數(shù)據(jù)
頭文件

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QtDataVisualization>
#include <QSurface>
#include <QBoxLayout>
#include "data.h"
using namespace QtDataVisualization;
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
public:
    QSurface3DSeries *series;
    Q3DSurface *groupBox;
    QSurfaceDataArray * dataArray;
    double points[442][3] = {
     {-3.000000 ,-3.000000 ,0.000068},
     {-3.000000 ,-2.700000 ,0.000293},
     {-3.000000 ,-2.400000 ,0.001005},
     {-3.000000 ,-2.100000 ,0.002641},
     {-3.000000 ,-1.800000 ,0.004862},
     {-3.000000 ,-1.500000 ,0.004188},
     {-3.000000 ,-1.200000 ,-0.008477},
     {-3.000000 ,-0.900000 ,-0.045467},
     {-3.000000 ,-0.600000 ,-0.111168},
     {-3.000000 ,-0.300000 ,-0.189170},
     {-3.000000 ,0.000000 ,-0.244939},
     {-3.000000 ,0.300000 ,-0.249505},
     {-3.000000 ,0.600000 ,-0.203007},
     {-3.000000 ,0.900000 ,-0.132861},
     {-3.000000 ,1.200000 ,-0.070095},
     {-3.000000 ,1.500000 ,-0.029760},
     {-3.000000 ,1.800000 ,-0.010103},
     {-3.000000 ,2.100000 ,-0.002704},
     {-3.000000 ,2.400000 ,-0.000554},
     {-3.000000 ,2.700000 ,-0.000080},
     {-3.000000 ,3.000000 ,-0.000006},
     {-2.700000 ,-3.000000 ,0.000186},
     {-2.700000 ,-2.700000 ,0.000800},
     {-2.700000 ,-2.400000 ,0.002701},
     {-2.700000 ,-2.100000 ,0.006842},
     {-2.700000 ,-1.800000 ,0.011387},
     {-2.700000 ,-1.500000 ,0.004427},
     {-2.700000 ,-1.200000 ,-0.043181},
     {-2.700000 ,-0.900000 ,-0.169456},
     {-2.700000 ,-0.600000 ,-0.385742},
     {-2.700000 ,-0.300000 ,-0.637074},
     {-2.700000 ,0.000000 ,-0.812338},
     {-2.700000 ,0.300000 ,-0.820339},
     {-2.700000 ,0.600000 ,-0.664003},
     {-2.700000 ,0.900000 ,-0.433137},
     {-2.700000 ,1.200000 ,-0.227982},
     {-2.700000 ,1.500000 ,-0.096588},
     {-2.700000 ,1.800000 ,-0.032703},
     {-2.700000 ,2.100000 ,-0.008715},
     {-2.700000 ,2.400000 ,-0.001768},
     {-2.700000 ,2.700000 ,-0.000250},
     {-2.700000 ,3.000000 ,-0.000016},
     {-2.400000 ,-3.000000 ,0.000422},
     {-2.400000 ,-2.700000 ,0.001824},
     {-2.400000 ,-2.400000 ,0.006162},
     {-2.400000 ,-2.100000 ,0.015477},
     {-2.400000 ,-1.800000 ,0.024730},
     {-2.400000 ,-1.500000 ,0.003698},
     {-2.400000 ,-1.200000 ,-0.121008},
     {-2.400000 ,-0.900000 ,-0.445265},
     {-2.400000 ,-0.600000 ,-0.997917},
     {-2.400000 ,-0.300000 ,-1.639519},
     {-2.400000 ,0.000000 ,-2.086536},
     {-2.400000 ,0.300000 ,-2.104865},
     {-2.400000 ,0.600000 ,-1.701265},
     {-2.400000 ,0.900000 ,-1.106622},
     {-2.400000 ,1.200000 ,-0.579364},
     {-2.400000 ,1.500000 ,-0.243111},
     {-2.400000 ,1.800000 ,-0.080922},
     {-2.400000 ,2.100000 ,-0.020897},
     {-2.400000 ,2.400000 ,-0.003972},
     {-2.400000 ,2.700000 ,-0.000467},
     {-2.400000 ,3.000000 ,0.000002},
     {-2.100000 ,-3.000000 ,0.000758},
     {-2.100000 ,-2.700000 ,0.003381},
     {-2.100000 ,-2.400000 ,0.011833},
     {-2.100000 ,-2.100000 ,0.031094},
     {-2.100000 ,-1.800000 ,0.054210},
     {-2.100000 ,-1.500000 ,0.026680},
     {-2.100000 ,-1.200000 ,-0.193177},
     {-2.100000 ,-0.900000 ,-0.801436},
     {-2.100000 ,-0.600000 ,-1.873828},
     {-2.100000 ,-0.300000 ,-3.151625},
     {-2.100000 ,0.000000 ,-4.069706},
     {-2.100000 ,0.300000 ,-4.140071},
     {-2.100000 ,0.600000 ,-3.355470},
     {-2.100000 ,0.900000 ,-2.174742},
     {-2.100000 ,1.200000 ,-1.124849},
     {-2.100000 ,1.500000 ,-0.460265},
     {-2.100000 ,1.800000 ,-0.145949},
     {-2.100000 ,2.100000 ,-0.034122},
     {-2.100000 ,2.400000 ,-0.005007},
     {-2.100000 ,2.700000 ,-0.000036},
     {-2.100000 ,3.000000 ,0.000225},
     {-1.800000 ,-3.000000 ,0.000934},
     {-1.800000 ,-2.700000 ,0.004611},
     {-1.800000 ,-2.400000 ,0.017836},
     {-1.800000 ,-2.100000 ,0.052742},
     {-1.800000 ,-1.800000 ,0.111953},
     {-1.800000 ,-1.500000 ,0.135139},
     {-1.800000 ,-1.200000 ,-0.077418},
     {-1.800000 ,-0.900000 ,-0.847329},
     {-1.800000 ,-0.600000 ,-2.363920},
     {-1.800000 ,-0.300000 ,-4.308261},
     {-1.800000 ,0.000000 ,-5.818408},
     {-1.800000 ,0.300000 ,-6.066756},
     {-1.800000 ,0.600000 ,-4.960190},
     {-1.800000 ,0.900000 ,-3.189389},
     {-1.800000 ,1.200000 ,-1.600269},
     {-1.800000 ,1.500000 ,-0.611370},
     {-1.800000 ,1.800000 ,-0.166244},
     {-1.800000 ,2.100000 ,-0.024599},
     {-1.800000 ,2.400000 ,0.002919},
     {-1.800000 ,2.700000 ,0.003185},
     {-1.800000 ,3.000000 ,0.001144},
     {-1.500000 ,-3.000000 ,0.000192},
     {-1.500000 ,-2.700000 ,0.002596},
     {-1.500000 ,-2.400000 ,0.015568},
     {-1.500000 ,-2.100000 ,0.062365},
     {-1.500000 ,-1.800000 ,0.178047},
     {-1.500000 ,-1.500000 ,0.353903},
     {-1.500000 ,-1.200000 ,0.411329},
     {-1.500000 ,-0.900000 ,-0.065832},
     {-1.500000 ,-0.600000 ,-1.481688},
     {-1.500000 ,-0.300000 ,-3.674417},
     {-1.500000 ,0.000000 ,-5.667352},
     {-1.500000 ,0.300000 ,-6.300365},
     {-1.500000 ,0.600000 ,-5.252627},
     {-1.500000 ,0.900000 ,-3.292726},
     {-1.500000 ,1.200000 ,-1.502585},
     {-1.500000 ,1.500000 ,-0.440424},
     {-1.500000 ,1.800000 ,-0.029021},
     {-1.500000 ,2.100000 ,0.050342},
     {-1.500000 ,2.400000 ,0.033528},
     {-1.500000 ,2.700000 ,0.012913},
     {-1.500000 ,3.000000 ,0.003600},
     {-1.200000 ,-3.000000 ,-0.002755},
     {-1.200000 ,-2.700000 ,-0.008045},
     {-1.200000 ,-2.400000 ,-0.013206},
     {-1.200000 ,-2.100000 ,0.010420},
     {-1.200000 ,-1.800000 ,0.146377},
     {-1.200000 ,-1.500000 ,0.509474},
     {-1.200000 ,-1.200000 ,1.073202},
     {-1.200000 ,-0.900000 ,1.427592},
     {-1.200000 ,-0.600000 ,0.876206},
     {-1.200000 ,-0.300000 ,-0.864700},
     {-1.200000 ,0.000000 ,-3.013152},
     {-1.200000 ,0.300000 ,-4.168756},
     {-1.200000 ,0.600000 ,-3.632724},
     {-1.200000 ,0.900000 ,-2.031204},
     {-1.200000 ,1.200000 ,-0.534210},
     {-1.200000 ,1.500000 ,0.222456},
     {-1.200000 ,1.800000 ,0.349102},
     {-1.200000 ,2.100000 ,0.225344},
     {-1.200000 ,2.400000 ,0.098849},
     {-1.200000 ,2.700000 ,0.032608},
     {-1.200000 ,3.000000 ,0.008414},
     {-0.900000 ,-3.000000 ,-0.008953},
     {-0.900000 ,-2.700000 ,-0.032154},
     {-0.900000 ,-2.400000 ,-0.087140},
     {-0.900000 ,-2.100000 ,-0.163045},
     {-0.900000 ,-1.800000 ,-0.144261},
     {-0.900000 ,-1.500000 ,0.237908},
     {-0.900000 ,-1.200000 ,1.215248},
     {-0.900000 ,-0.900000 ,2.514839},
     {-0.900000 ,-0.600000 ,3.174202},
     {-0.900000 ,-0.300000 ,2.320941},
     {-0.900000 ,0.000000 ,0.343307},
     {-0.900000 ,0.300000 ,-1.204810},
     {-0.900000 ,0.600000 ,-1.203180},
     {-0.900000 ,0.900000 ,-0.068894},
     {-0.900000 ,1.200000 ,0.974118},
     {-0.900000 ,1.500000 ,1.243193},
     {-0.900000 ,1.800000 ,0.924921},
     {-0.900000 ,2.100000 ,0.489816},
     {-0.900000 ,2.400000 ,0.197123},
     {-0.900000 ,2.700000 ,0.062171},
     {-0.900000 ,3.000000 ,0.015636},
     {-0.600000 ,-3.000000 ,-0.017750},
     {-0.600000 ,-2.700000 ,-0.067619},
     {-0.600000 ,-2.400000 ,-0.201949},
     {-0.600000 ,-2.100000 ,-0.457725},
     {-0.600000 ,-1.800000 ,-0.731462},
     {-0.600000 ,-1.500000 ,-0.634331},
     {-0.600000 ,-1.200000 ,0.343353},
     {-0.600000 ,-0.900000 ,2.160214},
     {-0.600000 ,-0.600000 ,3.720137},
     {-0.600000 ,-0.300000 ,3.663117},
     {-0.600000 ,0.000000 ,2.013918},
     {-0.600000 ,0.300000 ,0.438600},
     {-0.600000 ,0.600000 ,0.374154},
     {-0.600000 ,0.900000 ,1.473947},
     {-0.600000 ,1.200000 ,2.355339},
     {-0.600000 ,1.500000 ,2.271368},
     {-0.600000 ,1.800000 ,1.537984},
     {-0.600000 ,2.100000 ,0.780755},
     {-0.600000 ,2.400000 ,0.307441},
     {-0.600000 ,2.700000 ,0.095800},
     {-0.600000 ,3.000000 ,0.023925},
     {-0.300000 ,-3.000000 ,-0.026150},
     {-0.300000 ,-2.700000 ,-0.102223},
     {-0.300000 ,-2.400000 ,-0.317416},
     {-0.300000 ,-2.100000 ,-0.767732},
     {-0.300000 ,-1.800000 ,-1.395157},
     {-0.300000 ,-1.500000 ,-1.753722},
     {-0.300000 ,-1.200000 ,-1.119761},
     {-0.300000 ,-0.900000 ,0.709572},
     {-0.300000 ,-0.600000 ,2.654929},
     {-0.300000 ,-0.300000 ,3.094026},
     {-0.300000 ,0.000000 ,1.815670},
     {-0.300000 ,0.300000 ,0.527114},
     {-0.300000 ,0.600000 ,0.801788},
     {-0.300000 ,0.900000 ,2.230365},
     {-0.300000 ,1.200000 ,3.234207},
     {-0.300000 ,1.500000 ,3.008162},
     {-0.300000 ,1.800000 ,2.003795},
     {-0.300000 ,2.100000 ,1.008907},
     {-0.300000 ,2.400000 ,0.395575},
     {-0.300000 ,2.700000 ,0.122985},
     {-0.300000 ,3.000000 ,0.030681},
     {0.000000 ,-3.000000 ,-0.030401},
     {0.000000 ,-2.700000 ,-0.120309},
     {0.000000 ,-2.400000 ,-0.380282},
     {0.000000 ,-2.100000 ,-0.945722},
     {0.000000 ,-1.800000 ,-1.804182},
     {0.000000 ,-1.500000 ,-2.514010},
     {0.000000 ,-1.200000 ,-2.259910},
     {0.000000 ,-0.900000 ,-0.669896},
     {0.000000 ,-0.600000 ,1.301386},
     {0.000000 ,-0.300000 ,2.006214},
     {0.000000 ,0.000000 ,1.103638},
     {0.000000 ,0.300000 ,0.192641},
     {0.000000 ,0.600000 ,0.792967},
     {0.000000 ,0.900000 ,2.447181},
     {0.000000 ,1.200000 ,3.535944},
     {0.000000 ,1.500000 ,3.270106},
     {0.000000 ,1.800000 ,2.170710},
     {0.000000 ,2.100000 ,1.090871},
     {0.000000 ,2.400000 ,0.427301},
     {0.000000 ,2.700000 ,0.132794},
     {0.000000 ,3.000000 ,0.033125},
     {0.300000 ,-3.000000 ,-0.028680},
     {0.300000 ,-2.700000 ,-0.114190},
     {0.300000 ,-2.400000 ,-0.364059},
     {0.300000 ,-2.100000 ,-0.917215},
     {0.300000 ,-1.800000 ,-1.787762},
     {0.300000 ,-1.500000 ,-2.595080},
     {0.300000 ,-1.200000 ,-2.582006},
     {0.300000 ,-0.900000 ,-1.333207},
     {0.300000 ,-0.600000 ,0.392056},
     {0.300000 ,-0.300000 ,1.150931},
     {0.300000 ,0.000000 ,0.575767},
     {0.300000 ,0.300000 ,-0.007444},
     {0.300000 ,0.600000 ,0.689411},
     {0.300000 ,0.900000 ,2.244410},
     {0.300000 ,1.200000 ,3.232559},
     {0.300000 ,1.500000 ,2.979001},
     {0.300000 ,1.800000 ,1.973343},
     {0.300000 ,2.100000 ,0.990557},
     {0.300000 ,2.400000 ,0.387782},
     {0.300000 ,2.700000 ,0.120483},
     {0.300000 ,3.000000 ,0.030052},
     {0.600000 ,-3.000000 ,-0.022206},
     {0.600000 ,-2.700000 ,-0.088593},
     {0.600000 ,-2.400000 ,-0.283204},
     {0.600000 ,-2.100000 ,-0.716066},
     {0.600000 ,-1.800000 ,-1.402699},
     {0.600000 ,-1.500000 ,-2.051234},
     {0.600000 ,-1.200000 ,-2.065167},
     {0.600000 ,-0.900000 ,-1.090133},
     {0.600000 ,-0.600000 ,0.325428},
     {0.600000 ,-0.300000 ,1.064439},
     {0.600000 ,0.000000 ,0.774428},
     {0.600000 ,0.300000 ,0.389260},
     {0.600000 ,0.600000 ,0.871670},
     {0.600000 ,0.900000 ,1.946288},
     {0.600000 ,1.200000 ,2.590382},
     {0.600000 ,1.500000 ,2.324478},
     {0.600000 ,1.800000 ,1.522213},
     {0.600000 ,2.100000 ,0.759755},
     {0.600000 ,2.400000 ,0.296504},
     {0.600000 ,2.700000 ,0.091956},
     {0.600000 ,3.000000 ,0.022912},
     {0.900000 ,-3.000000 ,-0.014009},
     {0.900000 ,-2.700000 ,-0.055556},
     {0.900000 ,-2.400000 ,-0.175822},
     {0.900000 ,-2.100000 ,-0.436652},
     {0.900000 ,-1.800000 ,-0.825556},
     {0.900000 ,-1.500000 ,-1.111468},
     {0.900000 ,-1.200000 ,-0.852904},
     {0.900000 ,-0.900000 ,0.212440},
     {0.900000 ,-0.600000 ,1.679683},
     {0.900000 ,-0.300000 ,2.660271},
     {0.900000 ,0.000000 ,2.707999},
     {0.900000 ,0.300000 ,2.302930},
     {0.900000 ,0.600000 ,2.139698},
     {0.900000 ,0.900000 ,2.255397},
     {0.900000 ,1.200000 ,2.191481},
     {0.900000 ,1.500000 ,1.720801},
     {0.900000 ,1.800000 ,1.058263},
     {0.900000 ,2.100000 ,0.511185},
     {0.900000 ,2.400000 ,0.195834},
     {0.900000 ,2.700000 ,0.060059},
     {0.900000 ,3.000000 ,0.014858},
     {1.200000 ,-3.000000 ,-0.006945},
     {1.200000 ,-2.700000 ,-0.026703},
     {1.200000 ,-2.400000 ,-0.080183},
     {1.200000 ,-2.100000 ,-0.180180},
     {1.200000 ,-1.800000 ,-0.269572},
     {1.200000 ,-1.500000 ,-0.130879},
     {1.200000 ,-1.200000 ,0.588730},
     {1.200000 ,-0.900000 ,2.082124},
     {1.200000 ,-0.600000 ,3.996847},
     {1.200000 ,-0.300000 ,5.496197},
     {1.200000 ,0.000000 ,5.919244},
     {1.200000 ,0.300000 ,5.327268},
     {1.200000 ,0.600000 ,4.274501},
     {1.200000 ,0.900000 ,3.201417},
     {1.200000 ,1.200000 ,2.232322},
     {1.200000 ,1.500000 ,1.389897},
     {1.200000 ,1.800000 ,0.739233},
     {1.200000 ,2.100000 ,0.326622},
     {1.200000 ,2.400000 ,0.118348},
     {1.200000 ,2.700000 ,0.035016},
     {1.200000 ,3.000000 ,0.008458},
     {1.500000 ,-3.000000 ,-0.002435},
     {1.500000 ,-2.700000 ,-0.008252},
     {1.500000 ,-2.400000 ,-0.018887},
     {1.500000 ,-2.100000 ,-0.015303},
     {1.500000 ,-1.800000 ,0.089361},
     {1.500000 ,-1.500000 ,0.505803},
     {1.500000 ,-1.200000 ,1.531370},
     {1.500000 ,-0.900000 ,3.312423},
     {1.500000 ,-0.600000 ,5.523781},
     {1.500000 ,-0.300000 ,7.355614},
     {1.500000 ,0.000000 ,8.009545},
     {1.500000 ,0.300000 ,7.285686},
     {1.500000 ,0.600000 ,5.655269},
     {1.500000 ,0.900000 ,3.817973},
     {1.500000 ,1.200000 ,2.267949},
     {1.500000 ,1.500000 ,1.185343},
     {1.500000 ,1.800000 ,0.539478},
     {1.500000 ,2.100000 ,0.210638},
     {1.500000 ,2.400000 ,0.069575},
     {1.500000 ,2.700000 ,0.019240},
     {1.500000 ,3.000000 ,0.004425},
     {1.800000 ,-3.000000 ,-0.000360},
     {1.800000 ,-2.700000 ,-0.000055},
     {1.800000 ,-2.400000 ,0.006894},
     {1.800000 ,-2.100000 ,0.048003},
     {1.800000 ,-1.800000 ,0.206257},
     {1.800000 ,-1.500000 ,0.653831},
     {1.800000 ,-1.200000 ,1.616615},
     {1.800000 ,-0.900000 ,3.198324},
     {1.800000 ,-0.600000 ,5.138882},
     {1.800000 ,-0.300000 ,6.776986},
     {1.800000 ,0.000000 ,7.401464},
     {1.800000 ,0.300000 ,6.752066},
     {1.800000 ,0.600000 ,5.189364},
     {1.800000 ,0.900000 ,3.387729},
     {1.800000 ,1.200000 ,1.891415},
     {1.800000 ,1.500000 ,0.906946},
     {1.800000 ,1.800000 ,0.373783},
     {1.800000 ,2.100000 ,0.132056},
     {1.800000 ,2.400000 ,0.039794},
     {1.800000 ,2.700000 ,0.010167},
     {1.800000 ,3.000000 ,0.002190},
     {2.100000 ,-3.000000 ,0.000217},
     {2.100000 ,-2.700000 ,0.001801},
     {2.100000 ,-2.400000 ,0.010539},
     {2.100000 ,-2.100000 ,0.047303},
     {2.100000 ,-1.800000 ,0.168434},
     {2.100000 ,-1.500000 ,0.483970},
     {2.100000 ,-1.200000 ,1.133558},
     {2.100000 ,-0.900000 ,2.179044},
     {2.100000 ,-0.600000 ,3.455691},
     {2.100000 ,-0.300000 ,4.541002},
     {2.100000 ,0.000000 ,4.964498},
     {2.100000 ,0.300000 ,4.533449},
     {2.100000 ,0.600000 ,3.471635},
     {2.100000 ,0.900000 ,2.238094},
     {2.100000 ,1.200000 ,1.219034},
     {2.100000 ,1.500000 ,0.562633},
     {2.100000 ,1.800000 ,0.220475},
     {2.100000 ,2.100000 ,0.073407},
     {2.100000 ,2.400000 ,0.020755},
     {2.100000 ,2.700000 ,0.004975},
     {2.100000 ,3.000000 ,0.001009},
     {2.400000 ,-3.000000 ,0.000207},
     {2.400000 ,-2.700000 ,0.001301},
     {2.400000 ,-2.400000 ,0.006583},
     {2.400000 ,-2.100000 ,0.027116},
     {2.400000 ,-1.800000 ,0.091522},
     {2.400000 ,-1.500000 ,0.254264},
     {2.400000 ,-1.200000 ,0.583402},
     {2.400000 ,-0.900000 ,1.108549},
     {2.400000 ,-0.600000 ,1.748488},
     {2.400000 ,-0.300000 ,2.294150},
     {2.400000 ,0.000000 ,2.509140},
     {2.400000 ,0.300000 ,2.292217},
     {2.400000 ,0.600000 ,1.752661},
     {2.400000 ,0.900000 ,1.123894},
     {2.400000 ,1.200000 ,0.605587},
     {2.400000 ,1.500000 ,0.274672},
     {2.400000 ,1.800000 ,0.105020},
     {2.400000 ,2.100000 ,0.033885},
     {2.400000 ,2.400000 ,0.009232},
     {2.400000 ,2.700000 ,0.002124},
     {2.400000 ,3.000000 ,0.000412},
     {2.700000 ,-3.000000 ,0.000099},
     {2.700000 ,-2.700000 ,0.000579},
     {2.700000 ,-2.400000 ,0.002798},
     {2.700000 ,-2.100000 ,0.011168},
     {2.700000 ,-1.800000 ,0.036883},
     {2.700000 ,-1.500000 ,0.100984},
     {2.700000 ,-1.200000 ,0.229566},
     {2.700000 ,-0.900000 ,0.433884},
     {2.700000 ,-0.600000 ,0.682620},
     {2.700000 ,-0.300000 ,0.895009},
     {2.700000 ,0.000000 ,0.979069},
     {2.700000 ,0.300000 ,0.894594},
     {2.700000 ,0.600000 ,0.683528},
     {2.700000 ,0.900000 ,0.437211},
     {2.700000 ,1.200000 ,0.234373},
     {2.700000 ,1.500000 ,0.105404},
     {2.700000 ,1.800000 ,0.039806},
     {2.700000 ,2.100000 ,0.012634},
     {2.700000 ,2.400000 ,0.003372},
     {2.700000 ,2.700000 ,0.000757},
     {2.700000 ,3.000000 ,0.000143},
     {3.000000 ,-3.000000 ,0.000033},
     {3.000000 ,-2.700000 ,0.000189},
     {3.000000 ,-2.400000 ,0.000893},
     {3.000000 ,-2.100000 ,0.003513},
     {3.000000 ,-1.800000 ,0.011480},
     {3.000000 ,-1.500000 ,0.031208},
     {3.000000 ,-1.200000 ,0.070617},
     {3.000000 ,-0.900000 ,0.133106},
     {3.000000 ,-0.600000 ,0.209141},
     {3.000000 ,-0.300000 ,0.274112},
     {3.000000 ,0.000000 ,0.299886},
     {3.000000 ,0.300000 ,0.274038},
     {3.000000 ,0.600000 ,0.209306},
     {3.000000 ,0.900000 ,0.133708},
     {3.000000 ,1.200000 ,0.071486},
     {3.000000 ,1.500000 ,0.032008},
     {3.000000 ,1.800000 ,0.012009},
     {3.000000 ,2.100000 ,0.003778},
     {3.000000 ,2.400000 ,0.000997},
     {3.000000 ,2.700000 ,0.000221},
     {3.000000 ,3.000000 ,0.000041}
    };
private slots:
    void on_pushButton_clicked();
    void on_pushButton_2_clicked();
private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

cpp代碼

    groupBox = new Q3DSurface;
    groupBox->axisX()->setTitle("X軸");
    groupBox->axisY()->setTitle("Y軸");
    groupBox->axisZ()->setTitle("Z軸");
    groupBox->axisY()->setRange(-8,8);

    //將三維圖與數(shù)據(jù)進行綁定
    QSurfaceDataProxy * proxy = new QSurfaceDataProxy;
    series = new QSurface3DSeries(proxy);
    groupBox->addSeries(series);
    //將三維圖在組中顯示,布局如果需要的話,在添加一個 #include <QBoxLayout>
    QVBoxLayout* vLayout = new QVBoxLayout();
    vLayout->addWidget(createWindowContainer(groupBox));
    ui->widget->setLayout(vLayout);
    dataArray = new QSurfaceDataArray;
    dataArray->clear();
    QLinearGradient gr;
    gr.setColorAt(0.0, Qt::darkGreen);
    gr.setColorAt(0.5, Qt::yellow);
    gr.setColorAt(0.8, Qt::red);
    gr.setColorAt(1.0, Qt::darkRed);
    groupBox->seriesList().at(0)->setBaseGradient(gr);
    groupBox->seriesList().at(0)->setColorStyle(Q3DTheme::ColorStyleRangeGradient);
    // 整個數(shù)據(jù)有442個,我取了420個,分為22x20,就22行,20列,
    
    int NN = 21;//設置行
    //放上邊會卡死,不道為啥
    groupBox->axisX()->setRange(-3.5,3.5);
    groupBox->axisZ()->setRange(-3.5,3.5);
    dataArray->reserve(NN);
    for(int i = 0;i <= NN;i++){
         QSurfaceDataRow *newRow = new QSurfaceDataRow(20);
         int index = 0;
         // 19是列
         for(int j=0;j<=19;j++){
             (*newRow)[index++].setPosition(QVector3D(points[j+i*NN][0],points[j+i*NN][2],points[j+i*NN][1]));
         }
         *dataArray<<newRow;
    }
    series->dataProxy()->resetArray(dataArray);

結(jié)果展示。
q3dsurface,QT,qt,開發(fā)語言

4.8三維樣式美化

樣式就可以直接拿這個拷一下,三維圖看著會好看一些,我代碼其他地方還在調(diào),就不讓我自己的圖,樣式就和這個差不多,這個圖是QT里面的例子,代碼也是從里面拿的。

    // h表
    // 下面是處理 content_img_h
    content_img_h = new Q3DSurface;
    // 設置陰影的,之前沒有這個,沒有出圖時是有陰影的
    content_img_h->setShadowQuality(QAbstract3DGraph::ShadowQualitySoftMedium);
    // 主題相關(guān)
    content_img_h->activeTheme()->setBackgroundEnabled(false);
    content_img_h->activeTheme()->setFont(QFont("Times New Roman", 60));
    content_img_h->activeTheme()->setLabelBackgroundEnabled(true);

    content_img_h->axisY()->setTitle("無量綱膜厚");
//    content_img_h->axisY()->setSegmentCount(4);
//    content_img_h->axisY()->setSubSegmentCount(3);
//    content_img_h->axisY()->setRange(-20.0f, 20.0f);
    content_img_h->axisY()->setAutoAdjustRange(true); //自動調(diào)整y軸范圍
    content_img_h->axisY()->setLabelFormat(QString(QStringLiteral("%.3f ") + ""));
    content_img_h->axisY()->setLabelAutoRotation(30.0f);
    content_img_h->axisY()->setTitleVisible(true); //顯示y軸標題
    content_img_h->axisY()->setTitleFixed(true); //固定y軸標題位置


    content_img_h->axisX()->setTitle("周向");
    content_img_h->axisX()->setLabelAutoRotation(30.0f);
    content_img_h->axisX()->setTitleVisible(true);
    content_img_h->axisX()->setLabelFormat(QString(QStringLiteral("%.0f ")));

    content_img_h->axisZ()->setTitle("軸向");
    content_img_h->axisZ()->setLabelAutoRotation(30.0f);
    content_img_h->axisZ()->setTitleVisible(true);
    content_img_h->axisZ()->setLabelFormat(QString(QStringLiteral("%.0f ")));
    content_img_h->scene()->activeCamera()->setCameraPosition(-45.0f, 0.0f,0.0f);
    content_img_h->scene()->activeCamera()->setZoomLevel(80);

q3dsurface,QT,qt,開發(fā)語言

4.9多次繪制三維圖,程序閃退問題

多次繪制三維圖程序閃退主要是因為這塊代碼,官方例子里面也是這樣寫的,里面每次都new一個newRow對象,如果數(shù)據(jù)量大的話,就是堆內(nèi)存就不夠了。

        dataArray->reserve(NN);
        for (int i = 1; i <= NN; i++)
        {
            QSurfaceDataRow *newRow = new QSurfaceDataRow(NN);
            int index = 0;
            for (int j = 1; j <= NN; j++)
            {
                (*newRow)[index++].setPosition(QVector3D(i, out_h[i][j], j));
            }
            *dataArray << newRow;
        }

我一開始是想著直接在下面delete newRow,然后會發(fā)現(xiàn)圖就什么數(shù)據(jù)都沒有了,因為dataArry中存放的就是newRow的地址,如果釋放的話,數(shù)據(jù)就丟了。dataArry中存的不是地址,而是數(shù)據(jù)地址的位置,所以不能直接釋放

        dataArray->reserve(NN);
        for (int i = 1; i <= NN; i++)
        {
            QSurfaceDataRow *newRow = new QSurfaceDataRow(NN);
            int index = 0;
            for (int j = 1; j <= NN; j++)
            {
                (*newRow)[index++].setPosition(QVector3D(i, out_h[i][j], j));
            }
            *dataArray << newRow;
            delete newRow;
        }

然后我是在更新完后做的,釋放但是會閃退,我覺著可能是因為series->dataProxy()->resetArray(dataArray);是一個異步處理,在處理時候有一部分內(nèi)存已經(jīng)被釋放了,所以就閃退了。

        dataArray->reserve(NN);
        for (int i = 1; i <= NN; i++)
        {
            QSurfaceDataRow *newRow = new QSurfaceDataRow(NN);
            int index = 0;
            for (int j = 1; j <= NN; j++)
            {
                (*newRow)[index++].setPosition(QVector3D(i, out_h[i][j], j));
            }
            *dataArray << newRow;
        }
        // 更新數(shù)據(jù)
        series->dataProxy()->resetArray(dataArray);
        for (int i = 0; i < dataArray->size(); i++) {
            delete dataArray->at(i);
        }

解決辦法就,每次寫數(shù)據(jù)前,把上次的釋放就可以了文章來源地址http://www.zghlxwxcb.cn/news/detail-822649.html

        // 釋放之前申請的內(nèi)存
        for (int i = 0; i < dataArray->size(); i++) {
            delete dataArray->at(i);
        }
        // 清空保存的地址
        dataArray->clear();

        content_img->axisY()->setRange(min - min * 0.01, max + max * 0.01);
        content_img->axisX()->setRange(0, N + 1 + 1);
        content_img->axisZ()->setRange(0, N + 1 + 1);
        // 按行列填數(shù)據(jù)
        int NN = N + 1;
        dataArray->reserve(NN);
        for (int i = 1; i <= NN; i++)
        {
            QSurfaceDataRow *newRow = new QSurfaceDataRow(NN);
            int index = 0;
            for (int j = 1; j <= NN; j++)
            {
                (*newRow)[index++].setPosition(QVector3D(i, out_h[i][j], j));
            }
            *dataArray << newRow;
        }
        // 更新數(shù)據(jù)
        series->dataProxy()->resetArray(dataArray);

到了這里,關(guān)于qt使用q3dsurface繪制三維曲面圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 利用python繪制二三維曲面和矢量流線圖

    ? ? ? ?為了實現(xiàn)不同數(shù)據(jù)的可視化,最近研究了python環(huán)境下的可視化方案,為后續(xù)的流體運動仿真模擬做好儲備,由于python處理數(shù)據(jù)的便利性,導致目前很多后端處理或者可視化成圖操作都在python中實現(xiàn),比如前端是vue,加上簡單的交互操作,后端搭建webserver,可采用java或

    2024年02月07日
    瀏覽(14)
  • Qt開發(fā)技術(shù):Q3D圖表開發(fā)筆記(二):Q3DBar三維柱狀圖介紹、Demo以及代碼詳解

    Qt開發(fā)技術(shù):Q3D圖表開發(fā)筆記(二):Q3DBar三維柱狀圖介紹、Demo以及代碼詳解

    若該文為原創(chuàng)文章,轉(zhuǎn)載請注明原文出處 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/130150728 各位讀者,知識無窮而人力有窮,要么改需求,要么找專業(yè)人士,要么自己研究 紅胖子網(wǎng)絡科技博文大全:開發(fā)技術(shù)集合(包含Qt實用技術(shù)、樹莓派、三維、OpenCV、OpenGL、ff

    2023年04月22日
    瀏覽(38)
  • Qt 三維柱狀圖 Q3DBar 和 三維條形圖中的數(shù)據(jù)序列 QBar3DSeries

    Qt 三維柱狀圖 Q3DBar 和 三維條形圖中的數(shù)據(jù)序列 QBar3DSeries

    窗口右側(cè)是用 Q3DBars 和 QBar3DSeries 繪制的三維柱狀圖,這個圖只有一個QBar3DSeries序列,數(shù)據(jù)是按行存儲的,可以有多行。水平方向是行坐標軸和列坐標軸,使用OCategory3DAxis 坐標軸類;垂直方向是數(shù)值坐標軸,使用 QValue3DAxis 坐標軸類。在圖上點擊一個棒柱時,可以在圖上 顯示

    2024年02月02日
    瀏覽(17)
  • VS+QT+VTK三維曲面網(wǎng)格點選切割

    VS+QT+VTK三維曲面網(wǎng)格點選切割

    程序示例精選 VS+QT+VTK三維曲面網(wǎng)格點選切割 如需安裝運行環(huán)境或遠程調(diào)試,見文章底部個人 QQ 名片,由專業(yè)技術(shù)人員遠程協(xié)助! 這篇博客針對VS+QT+VTK三維曲面網(wǎng)格點選切割編寫代碼,代碼整潔,規(guī)則,易讀。 學習與應用推薦首選。 功能:讀取三維網(wǎng)格數(shù)據(jù),通過單擊網(wǎng)格

    2024年02月11日
    瀏覽(19)
  • QtOpenGL--使用OpenGL繪制曲面圖(四)

    1. Qt5中的OpenGL OpenGL是用于硬件加速和3D繪圖最廣泛使用的圖形API接口,幾乎所有的桌面平臺系統(tǒng)和大多數(shù)移動和嵌入式平臺都對它提供了支持,有自己對應的實現(xiàn)版本。Qt庫就提供了一系列方便的C++類,來幫助用戶將由OpenGL支持而繪制的圖形集成到自己的應用程序中。 在Qt5

    2024年02月14日
    瀏覽(28)
  • MATLAB三維繪圖---三維曲面圖

    MATLAB三維繪圖---三維曲面圖

    matlab繪制三維圖中,最常見的是 三維曲線圖 和 三維曲面圖 三維曲線圖比較簡單函數(shù)命令為plot3,已經(jīng)詳細介紹過,具體請見Matlab三維繪圖------三維曲線圖 三維曲面圖又分為三維網(wǎng)面和三維網(wǎng)格面圖,其原理相似只是調(diào)用格式不同而已??偨Y(jié)如下: 上面:[X,Y]=meshgrid(x,y)在繪

    2024年02月08日
    瀏覽(19)
  • python擬合三維數(shù)據(jù)的曲面

    用python擬合三維數(shù)據(jù)的曲面,并畫出曲面的等高線圖,求出曲面的波峰和波谷 要擬合三維數(shù)據(jù)的曲面,可以使用Python中的SciPy庫和Matplotlib庫。下面是一個示例代碼,其中使用RBF(徑向基函數(shù))插值來擬合數(shù)據(jù),并使用Matplotlib庫的等高線圖函數(shù)繪制曲面的等高線圖:

    2024年02月09日
    瀏覽(19)
  • Matlab繪圖(第五節(jié)-三維曲面)

    Matlab繪圖(第五節(jié)-三維曲面)

    具體講述了三維曲面繪圖方法等。 此時所有點坐標可以表示為: x=[2 2 2 2 2 2;3 3 3 3 3 3;4 4 4 4 4 4;5 5 5 5 5 5;6 6 6 6 6 6] y=[3 4 5 6 7 8;3 4 5 6 7 8;3 4 5 6 7 8;3 4 5 6 7 8;3 4 5 6 7 8] 矩陣x,y就是該平面內(nèi)的網(wǎng)格坐標矩陣。 (1)利用矩陣運算生成 (2)利用meshgrid函數(shù)生成 [X,Y]=meshgrid(x,y); 其中,

    2023年04月14日
    瀏覽(24)
  • Python繪制3D曲面圖

    Python繪制3D曲面圖

    前些天發(fā)現(xiàn)了一個巨牛的人工智能學習網(wǎng)站,通俗易懂,風趣幽默,忍不住分享一下給大家?!军c擊進入巨牛的人工智能學習網(wǎng)站】。 在數(shù)據(jù)可視化的世界中,3D曲面圖是一種強大的工具,能夠?qū)碗s的數(shù)據(jù)模式以清晰直觀的方式展現(xiàn)出來。Python提供了多種庫和工具,使得創(chuàng)

    2024年04月28日
    瀏覽(25)
  • 用 MATLAB 繪制 3D 數(shù)據(jù)的曲面圖

    用 MATLAB 繪制 3D 數(shù)據(jù)的曲面圖 在數(shù)據(jù)可視化中,曲面圖是一種很有用的圖形,可以幫助我們更好地了解數(shù)據(jù)之間的關(guān)系。MATLAB 中提供了非常簡單的方式來繪制 3D 數(shù)據(jù)的曲面圖。 最基本的曲面圖由數(shù)據(jù)表示的一個網(wǎng)格組成,每個點的高度對應于該點處的數(shù)據(jù)值。在 MATLAB 中,

    2024年02月10日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包