LINUX.ORG.RU

отображение данных


0

0

Нужно отобразить некоторый массив данных. Какое стандартное решение есть для сжимания данных по оси Х, если кол-во данных больше, чем размер (по Х) окна отображения ?

anonymous

Что такое "размер"? Телепаты-то в отпуске, как обычно...

Мне это напомнило старый анекдот про кого-то из великих физиков (Ферми? -- не помню).

Он нарисовал на доске кривую некоторого сечения, потом сказал: "Нет, немного пониже", стер ее и нарисовал точно такую же кривую, но чуть ниже того, что было.

Студенты громко ржали, а он не сразу понял, над чем -- потом дошло, что _осей_ он не нарисовал...

А один мой знакомый математик совершенно на полном серьезе вставал в тупик, когда у него коврик для мышки кончался -- он не мог добраться до кнопочек на экране...

Die-Hard ★★★★★
()
Ответ на: комментарий от Die-Hard

> Что такое "размер"? Телепаты-то в отпуске, как обычно...

Размер - ширина окна отображения в пикселях. А кол-во данных больше.

anonymous
()
Ответ на: комментарий от anonymous

Отображай только четные элементы массива. Или только нечетные.

Тебе не кажется, что тема твоя напоминает разговор глухого со слепым? В каком виде отображается твой массив? В каком "окошке"? Что это -- гистограмма, просто числа, график или что? Мышкой твое "окошко" увеличить нельзя? ;)

Uncle_Theodore ★★
()
Ответ на: комментарий от Uncle_Theodore

> В каком виде отображается твой массив?

График.

> В каком "окошке"?

GTK'ашное окно с параметрами width height. 

> Мышкой твое "окошко" увеличить нельзя? ;)

Можно. Но, если разрешение экрана 1280х1024, то max width = 1280,
а размер массива данных может много больше.

anonymous
()
Ответ на: комментарий от WerNA

> в чем сложности - найти максимум X

Так это известно - N - ширина окна в пикселях, М - размерность массива данных. M>N.

> отмасштабировать

Как ?

anonymous
()
Ответ на: комментарий от anonymous

Подумать головой?

Алгоритм: 1. Поделить размер массива данных на ширину окна в пикселях и получить так называемый шаг. 2. Двигаться с шагом в один пиксель по окну, но с шагом, полученным в пункте 1 по массиву.

Неужели не очевидно?

anonymous
()
Ответ на: комментарий от Die-Hard

Если это функция, то просто увеличь аргумент в max_x / width раз :)

anonymous
()
Ответ на: комментарий от anonymous

> Двигаться с шагом в один пиксель по окну, но с шагом, полученным в пункте 1 по массиву.

Это может некорректно работать для некоторых функций/масштабов. С точки зрения корректности(но не производительности) лучше все же идти по массиву данных и проецировать координаты в реальном мире на координаты окна.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.