Нужно отобразить некоторый массив данных. Какое стандартное решение есть для сжимания данных по оси Х, если кол-во данных больше, чем размер (по Х) окна отображения ?
Что такое "размер"? Телепаты-то в отпуске, как обычно...
Мне это напомнило старый анекдот про кого-то из великих физиков (Ферми? -- не помню).
Он нарисовал на доске кривую некоторого сечения, потом сказал: "Нет, немного пониже", стер ее и нарисовал точно такую же кривую, но чуть ниже того, что было.
Студенты громко ржали, а он не сразу понял, над чем -- потом дошло, что _осей_ он не нарисовал...
А один мой знакомый математик совершенно на полном серьезе вставал в тупик, когда у него коврик для мышки кончался -- он не мог добраться до кнопочек на экране...
Отображай только четные элементы массива. Или только нечетные.
Тебе не кажется, что тема твоя напоминает разговор глухого со слепым? В каком виде отображается твой массив? В каком "окошке"? Что это -- гистограмма, просто числа, график или что? Мышкой твое "окошко" увеличить нельзя? ;)
> В каком виде отображается твой массив?
График.
> В каком "окошке"?
GTK'ашное окно с параметрами width height.
> Мышкой твое "окошко" увеличить нельзя? ;)
Можно. Но, если разрешение экрана 1280х1024, то max width = 1280,
а размер массива данных может много больше.
Алгоритм: 1. Поделить размер массива данных на ширину окна в пикселях и получить так называемый шаг. 2. Двигаться с шагом в один пиксель по окну, но с шагом, полученным в пункте 1 по массиву.
> Двигаться с шагом в один пиксель по окну, но с шагом, полученным в пункте 1 по массиву.
Это может некорректно работать для некоторых функций/масштабов. С точки зрения корректности(но не производительности) лучше все же идти по массиву данных и проецировать координаты в реальном мире на координаты окна.