Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. Re: Grafico 3D real time
QtWS25 Last Chance

Re: Grafico 3D real time

Scheduled Pinned Locked Moved Solved Italian
6 Posts 2 Posters 1.3k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    Lorenz_95
    wrote on 4 Dec 2018, 09:02 last edited by Lorenz_95 12 Apr 2018, 10:00
    #1

    Ho guardato i seguenti esempi :
    https://doc.qt.io/qt-5.11/qtdatavisualization-audiolevels-example.html
    https://doc.qt.io/qt-5.11/q3dscatter.html

    Ma:

    • nel primo non capisco quale/i sia/siano la/e funzione/i che mi permettono di leggere i dati nel tempo
    • nel secondo c'è un modo per leggere i dati in maniera dinamica come nel primo esempio (magari da un file che viene aggiornato ogni tot secondi) e fare in modo che vengano plottati sul grafico?

    Quello che devo fare è plottare su un grafico 3D xyz dei punti che rappresentano la posizione nello spazio di un oggetto. I valori di posizione li ho già ricavati da un altro programma che ha come input i dati che mi legge un accellerometro.

    V 1 Reply Last reply 5 Dec 2018, 08:32
    0
    • L Lorenz_95
      4 Dec 2018, 09:02

      Ho guardato i seguenti esempi :
      https://doc.qt.io/qt-5.11/qtdatavisualization-audiolevels-example.html
      https://doc.qt.io/qt-5.11/q3dscatter.html

      Ma:

      • nel primo non capisco quale/i sia/siano la/e funzione/i che mi permettono di leggere i dati nel tempo
      • nel secondo c'è un modo per leggere i dati in maniera dinamica come nel primo esempio (magari da un file che viene aggiornato ogni tot secondi) e fare in modo che vengano plottati sul grafico?

      Quello che devo fare è plottare su un grafico 3D xyz dei punti che rappresentano la posizione nello spazio di un oggetto. I valori di posizione li ho già ricavati da un altro programma che ha come input i dati che mi legge un accellerometro.

      V Offline
      V Offline
      VRonin
      wrote on 5 Dec 2018, 08:32 last edited by
      #2

      @Lorenz_95 said in Re: Grafico 3D real time:

      nel primo non capisco quale/i sia/siano la/e funzione/i che mi permettono di leggere i dati nel tempo

      Concordo non sia un gran bel design. Praticamente puoi immaginare AudioLevelsIODevice come fosse un file. m_audioInput->start(m_device); fa in modo che l'audio input venga salvato su quel "file" (QAudioInput chiama writeData al suo interno). Internamente pero' AudioLevelsIODevice invece di salvare l'input lo usa per plottarlo.

      Anche nel secondo caso il concetto e' sempre lo stesso:

      • crea un QScatterDataArray che contiene le serie
      • crea un QScatterDataRow per ogni serie che contiene i punti
      • use QScatterDataProxy::resetArray per aggiornare il grafico

      Se sei piu' praticon con model/view puoi usare QItemModelScatterDataProxy ma internamente usa lo stesso metodo di sopra quindi non e' molto piu' efficiente.

      "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
      ~Napoleon Bonaparte

      On a crusade to banish setIndexWidget() from the holy land of Qt

      1 Reply Last reply
      0
      • L Offline
        L Offline
        Lorenz_95
        wrote on 7 Dec 2018, 09:54 last edited by
        #3

        Grazie per la risposta, adesso mi è più chiara la situazione. E che sono nuovo e sto appena cercando di capire come usare QT.

        Solo un paio di cosa che non mi sono chiare:

        1. QScatterDataProxy::resetArray mi aggiorna il grafico ma tiene memoria anche dei vecchi punti che ho plottato?
        2. Quando parli di "serie" intendi ad esempio {X=1, Y=0, Z=2}
        1 Reply Last reply
        0
        • V Offline
          V Offline
          VRonin
          wrote on 7 Dec 2018, 10:06 last edited by
          #4
          1. No
          2. Per serie intendo gruppi di punti. per esempio una serie puo' essere un vettore di coordinate xyz che rappresenta posizione di un oggetto nel tempo mentre una seconda serie rappresenta un secondo oggetto e cosi' via

          "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
          ~Napoleon Bonaparte

          On a crusade to banish setIndexWidget() from the holy land of Qt

          1 Reply Last reply
          0
          • L Offline
            L Offline
            Lorenz_95
            wrote on 7 Dec 2018, 13:25 last edited by
            #5
            1. C'è un modo per memorizzare i punti precedenti e che vengano plottati ogni volta che aggiorno?
            2. Ok ho capito
            1 Reply Last reply
            0
            • V Offline
              V Offline
              VRonin
              wrote on 12 Dec 2018, 08:47 last edited by
              #6
              1. certo, QScatterDataRow si ricorda i punti. Quindi ti basta aggiungere un punto alla fine e passare lo stesso array a resetArray

              "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
              ~Napoleon Bonaparte

              On a crusade to banish setIndexWidget() from the holy land of Qt

              1 Reply Last reply
              0

              3/6

              7 Dec 2018, 09:54

              • Login

              • Login or register to search.
              3 out of 6
              • First post
                3/6
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • Users
              • Groups
              • Search
              • Get Qt Extensions
              • Unsolved