Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
3ai4uK papa
Зарегистрирован: 11.07.2008 Сообщения: 111 Откуда: из Н-ска
|
Добавлено: Пн Авг 10, 2009 7:38 pm Заголовок сообщения: Графики с дофига много данными (не матчасть, но матетика) |
|
|
Вот дело, чтоб не скисли
Есть такая задачка - вывести график из миллионов точек на монитор. Но это не про то, как всякие дц, битмапы и лайнту-мувту применять.
А задачка в том, чтобы проредить данные так, что при использовании оных лайнту и мувту основные интуитивно понятные особенности графика сохранились. То есть, например, был где-то пик (или комба из пика-впадины) из десяти точек и надо его сохранить.
Это все по той причине, что на мониторе N пикселей по ширине и чтобы память не забивать этими миллионами, создать массив из N точек с правильно посчитанными величинами на этапе чтения из файла.
Может кто чего посоветовать? |
|
Вернуться к началу |
|
|
ma5ter pr0to papa
Зарегистрирован: 04.03.2008 Сообщения: 232 Откуда: Смоленск
|
Добавлено: Пн Авг 10, 2009 8:56 pm Заголовок сообщения: |
|
|
Да. Тебе тут помогут _________________
|
|
Вернуться к началу |
|
|
jay_bee papa
Зарегистрирован: 14.04.2007 Сообщения: 373
|
Добавлено: Пн Авг 10, 2009 9:49 pm Заголовок сообщения: |
|
|
задаешь критерий и обнуляешь не удовлетворяющие ему пиксели. оставшиеся мона нормализовать типа |
|
Вернуться к началу |
|
|
LazyPlayer papa
Зарегистрирован: 08.05.2008 Сообщения: 525
|
Добавлено: Вт Авг 11, 2009 1:23 am Заголовок сообщения: |
|
|
3ai4uK
Ну первое что приходит в голову.
записываешь первую точку, делаешь обход по всем точкам далее, проверяя является ли координата данной точки больше предидущей, если да то идешь дальше, если нет, значит предидущая точка была пиком, а текущая - начало спада. Ну дальше ты понял :-)
А потом о вершинам можно какойнить сплайн построить чтоб всё закруглённо выглядело. _________________ Before I existed, I was ready. |
|
Вернуться к началу |
|
|
3ai4uK papa
Зарегистрирован: 11.07.2008 Сообщения: 111 Откуда: из Н-ска
|
Добавлено: Вт Авг 11, 2009 10:12 am Заголовок сообщения: |
|
|
ma5ter pr0to
вот теперь будешь в кваку играть и мучиться, а как же там графики поживают
jay_bee
Что-то я не пропарил, какой такой критерий
Lazy
Сплайны не подойдут, так как результирующие пиксели слишком плотно идут, буквально один за одним и сплайн все равно склеится по оси Х.
Я пока придумал разбивать всю шкалу на интервалы по количеству пикселей экрана и в каждый пиксель выводить максимум и минимум на интервале.
Похоже на то, что ты предложил, но решает одну неприятность твоего способа (это если я правильно вник, что каждый пик и впадину выводить на экран)
Неприятность следующая - может так получиться, что пики и впадины идут подряд через каждую точку и тогда придется весь миллион точек рисовать без всякого прореживания. |
|
Вернуться к началу |
|
|
Shaft Мега Отец
Зарегистрирован: 16.12.2004 Сообщения: 1004 Откуда: Novosibirsk
|
Добавлено: Вт Авг 11, 2009 11:01 am Заголовок сообщения: Re: Графики с дофига много данными (не матчасть, но матетика |
|
|
3ai4uK писал(а): |
Вот дело, чтоб не скисли
Есть такая задачка - вывести график из миллионов точек на монитор. Но это не про то, как всякие дц, битмапы и лайнту-мувту применять.
А задачка в том, чтобы проредить данные так, что при использовании оных лайнту и мувту основные интуитивно понятные особенности графика сохранились. То есть, например, был где-то пик (или комба из пика-впадины) из десяти точек и надо его сохранить.
Это все по той причине, что на мониторе N пикселей по ширине и чтобы память не забивать этими миллионами, создать массив из N точек с правильно посчитанными величинами на этапе чтения из файла.
Может кто чего посоветовать? |
Чисто навскидку.
Есть исходный поток из N точек. Есть разрешение экрана, r. И массив конечных результатов размерностью r.
Разбиваем поток на (N/r) квантов.
Дальше.
Можно просто усреднять значения по отрезку, тогда меньше мозгойопства, но не будут видны экстремумы исходного графика (хотя, имхо - самое верное решение).
Если стоит задача продемонстрировать крайние значения на графике - найти min и max на отрезке, и просто вывести пару точек, соединив прямой. _________________ Down the river drifts an axe
From a town Byron
Let it float by itself
Fucking piece of iron |
|
Вернуться к началу |
|
|
bios papa
Зарегистрирован: 17.01.2006 Сообщения: 916 Откуда: Смоленск
|
Добавлено: Вт Авг 11, 2009 1:12 pm Заголовок сообщения: |
|
|
отсыпьте плз _________________
|
|
Вернуться к началу |
|
|
3ai4uK papa
Зарегистрирован: 11.07.2008 Сообщения: 111 Откуда: из Н-ска
|
Добавлено: Вт Авг 11, 2009 1:19 pm Заголовок сообщения: |
|
|
bios писал(а): |
отсыпьте плз |
Да во всяких институтах бывают открытые семинары по всяким (около)научным темам. Найди себе такой и тебе с радостью отсыпят |
|
Вернуться к началу |
|
|
LitRium СЕРЫЙ КАРДИНАЛ (ГОПНИК)
Зарегистрирован: 18.03.2008 Сообщения: 1005 Откуда: Western Siberia
|
Добавлено: Вт Авг 11, 2009 2:47 pm Заголовок сообщения: |
|
|
Шафт, а ты где себе откропалил? |
|
Вернуться к началу |
|
|
Shaft Мега Отец
Зарегистрирован: 16.12.2004 Сообщения: 1004 Откуда: Novosibirsk
|
Добавлено: Вт Авг 11, 2009 2:52 pm Заголовок сообщения: |
|
|
LitRium писал(а): |
Шафт, а ты где себе откропалил? |
_________________ Down the river drifts an axe
From a town Byron
Let it float by itself
Fucking piece of iron |
|
Вернуться к началу |
|
|
|