0

我有一个大数组,有 640000 个元素类型为 double。我需要绘制值,但数组的长度很大,而且会消耗处理器资源。

我的屏幕分辨率只有 600x600。

如何缩小我的大数组以仅使用 400 个可能值(边框为 200 个点)绘制它。

我试图使用Java,但我不知道beging ...嗨

我正在绘制 X,t(时间)..

    double BigArray = new double[640000];
    //...
    filling the vector
    //...
    calculating resolution available (dots)
    int n = 400;
    //...
    double LitArray = new double[n];
    double TimeArray = new double[n];
    //...
    calculating new values for LitArray and TimeArray.
    //...

谢谢

4

1 回答 1

0

你还没有说明你需要什么样的情节......酒吧?线?分散?

我假设它是一个线图,并且您有 640000 个 y 值用于线性增加的 x 系列。

您通常会做的是将阵列划分为 400 个存储桶。所以创建一个包含 400 个元素的数组。每个存储桶将有 1600 个值,因此您只需要决定如何处理它们。

正常情况是平均每个桶中的 1600 个元素,为每个像素位置生成一个值。但是,如果您需要非常快,您可以只取一个有代表性的样本(例如,16 个均匀分布的元素),或者甚至只从每个桶中提取一个值。

您可能实际上想要每个桶的最小值和最大值,并且您会在每个像素位置从一个到另一个绘制一条线。这样,您的缩小图仍将覆盖每个存储桶的范围,并且最终不会传达错误的信息......

于 2012-07-26T02:17:03.367 回答