Re: Grafico 3D real time
-
Ho guardato i seguenti esempi :
https://doc.qt.io/qt-5.11/qtdatavisualization-audiolevels-example.html
https://doc.qt.io/qt-5.11/q3dscatter.htmlMa:
- 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.
-
Ho guardato i seguenti esempi :
https://doc.qt.io/qt-5.11/qtdatavisualization-audiolevels-example.html
https://doc.qt.io/qt-5.11/q3dscatter.htmlMa:
- 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.
@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
AudioLevelsIODevicecome fosse un file.m_audioInput->start(m_device);fa in modo che l'audio input venga salvato su quel "file" (QAudioInputchiamawriteDataal suo interno). Internamente pero'AudioLevelsIODeviceinvece di salvare l'input lo usa per plottarlo.Anche nel secondo caso il concetto e' sempre lo stesso:
- crea un
QScatterDataArrayche contiene le serie - crea un
QScatterDataRowper ogni serie che contiene i punti - use
QScatterDataProxy::resetArrayper aggiornare il grafico
Se sei piu' praticon con model/view puoi usare
QItemModelScatterDataProxyma internamente usa lo stesso metodo di sopra quindi non e' molto piu' efficiente. -
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:
- QScatterDataProxy::resetArray mi aggiorna il grafico ma tiene memoria anche dei vecchi punti che ho plottato?
- Quando parli di "serie" intendi ad esempio {X=1, Y=0, Z=2}