UDP ソケットを介して 4 次元のポイント データを取得し、そのデータを 6 つの個別の 2D 散布図にプロットするプログラムを C++ で作成しています。たとえば、次元に A、B、C、D という名前を付けると、6 つの 2D プロットは AxB、AxC、AxD、BxC、BxD、および CxD になります。数時間で、プログラムは最大 5 万ポイントを獲得します。
現在、イミディエイト モードを使用して、各ポイントを 1 回プロットしています。描画呼び出しの間にバッファをクリアしないので、以前にプロットされたポイントはバッファがクリアされるまで保持されます。即時モードは遅く、非推奨であるため、この方法には満足していません。ウィンドウのサイズが変更されたときなど、バッファをクリアする必要がある場合、以前にプロットしたデータはすべて失われます。バッファがクリアされた後もデータを永続化できるソリューションを考えたいと思います。さらに、ウィンドウのサイズ変更でもプロットを簡単にスケーリングできると便利です。
座標系ごとに頂点配列 (2 次元) を維持することを考えましたが、それには 6 つの個別の配列が必要であり、4 次元すべての配列を維持するのに 3 倍のメモリが必要です。
私はこれについて正しい方法で考えていますか?この問題の適切な解決策は何ですか?
最終的な目標は、できるだけリアルタイムに近いデータを表示するアプリケーションを作成することです。
編集ポイントが入ってくると1つずつプロットし続け、画面のサイズを変更する必要があるときに画面の画像を取得して、その画像のサイズを変更したバージョンを表示することは可能でしょうか?