Russian Qt Forum
Ноябрь 23, 2024, 00:48
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Программирование
>
Алгоритмы
>
Наиболее точное представление избыточных данных
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Наиболее точное представление избыточных данных (Прочитано 5974 раз)
once_again_abc
Гость
Наиболее точное представление избыточных данных
«
:
Июнь 18, 2012, 08:26 »
Опять 25 как говорится. Проблема такая - получаю, скажем, 50000 неких значений; все это добро надо отобразить на, к примеру, 800 пикселях. Если брать просто каждый 62-й сэмпл, то теряется информация и не ясно какой именно брать для отображения, если же вычислять среднее по 62 занчениям и рисовать усреденное, то теряется информация о шуме.
Какие есть варианты решения такой задачи? Как один из вариантов предложили брать мин/макс значения из 62-х сэмплов и рисовать по ним горизонтальную в данном пикселе.
Записан
ddrtn
Гость
Re: Наиболее точное представление избыточных данных
«
Ответ #1 :
Июнь 18, 2012, 08:43 »
Рисовать каждую 62 точку и прикрутить зум. тогда любой участок можно "увеличить" и никакая инфа не потеряется.
То, что не влезает в пиксели и на глаз на графике оценить не получается.
Я свое не городил, пользовался Qwt
Записан
once_again_abc
Гость
Re: Наиболее точное представление избыточных данных
«
Ответ #2 :
Июнь 18, 2012, 08:57 »
Цитата: ddrtn от Июнь 18, 2012, 08:43
Рисовать каждую 62 точку и прикрутить зум. тогда любой участок можно "увеличить" и никакая инфа не потеряется.
То, что не влезает в пиксели и на глаз на графике оценить не получается.
Я свое не городил, пользовался Qwt
не пойдет, чтобы делать зум, надо сперва знать на каком участке его делать, а рисуя только каждую избранную точку, возможно оставляешь за кадром важную информацию. т.е. скажем так - можно получить гладкую линию и не увидеть пик, т.к. он был на 47-й точке, а нарисована была 62-ая.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Наиболее точное представление избыточных данных
«
Ответ #3 :
Июнь 18, 2012, 08:59 »
Если речь идет о последовательных данных (т.е. каждому самплу соответствует время t) - то брать nth сампл просто плохо. нужно выбирать случайный сампл из диапазона напр 62
Edit: также часто возникает необходимость самплить адаптивно
«
Последнее редактирование: Июнь 18, 2012, 09:02 от Igors
»
Записан
ddrtn
Гость
Re: Наиболее точное представление избыточных данных
«
Ответ #4 :
Июнь 18, 2012, 09:15 »
Цитировать
не пойдет, чтобы делать зум, надо сперва знать на каком участке его делать, а рисуя только каждую избранную точку, возможно оставляешь за кадром важную информацию. т.е. скажем так - можно получить гладкую линию и не увидеть пик, т.к. он был на 47-й точке, а нарисована была 62-ая.
Зачем. хранить весь набор. при зуме перерисовывать с i по i+n точки. уже с лучшим разрешением.
Зумить картинку действительно бесполезно.
Записан
Syveren
Гость
Re: Наиболее точное представление избыточных данных
«
Ответ #5 :
Июнь 18, 2012, 09:17 »
Цитировать
Какие есть варианты решения такой задачи? Как один из вариантов предложили брать мин/макс значения из 62-х сэмплов и рисовать по ним горизонтальную в данном пикселе.
Я делал так:
n - зум-фактор
Определяем набор значений содержащих мин и макс из n точек. Далее, если минимум i точки больше максимума i+1 точки, то приравниваем минимум i точки к максимуму i+1. Аналогично,если максимум i точки меньше минимума i+1. Это нужно, чтобы не было разрывов. Далее рисуем вертикальные линии от минимумов к максимумам.
Записан
once_again_abc
Гость
Re: Наиболее точное представление избыточных данных
«
Ответ #6 :
Июнь 18, 2012, 09:46 »
Цитировать
Igors
Если речь идет о последовательных данных (т.е. каждому самплу соответствует время t) - то брать nth сампл просто плохо. нужно выбирать случайный сампл из диапазона напр 62
выбор случайного семпла фактически == выборке nth семпла.
Цитировать
ddrtn
Зачем. хранить весь набор. при зуме перерисовывать с i по i+n точки. уже с лучшим разрешением.
Зумить картинку действительно бесполезно.
мне кажется мы не поняли друг друга. сперва надо что-то нарисовать. а что бы что-то нарисовать, надо знать ЧТО рисовать так, чтобы не потерять/не исказить данные. т.е. речь не идет сейчас о зуме, с ним как раз все в порядке - тут проблема узнать какой участок зумить =)
Цитировать
Syveren
Я делал так:
n - зум-фактор
Определяем набор значений содержащих мин и макс из n точек. Далее, если минимум i точки больше максимума i+1 точки, то приравниваем минимум i точки к максимуму i+1. Аналогично,если максимум i точки меньше минимума i+1. Это нужно, чтобы не было разрывов. Далее рисуем вертикальные линии от минимумов к максимумам.
не врубился в идею приравнивания. о каких разрывах речь и зачем еще больше влиять на данные искусственно?
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Наиболее точное представление избыточных данных
«
Ответ #7 :
Июнь 18, 2012, 09:58 »
Цитата: once_again_abc от Июнь 18, 2012, 09:46
выбор случайного семпла фактически == выборке nth семпла.
Совсем не равен. Выбирая N-ый сампл Вы впарываетесь в алиас. Данные - совсем не белый шум, накладывая регулярную решетку Вы увидите "совсем не то". Манипуляции с минимумом-максимумом еще хуже, напр в случае ВЧ шума. А вот случайный выбор обмануть очень трудно.
Записан
once_again_abc
Гость
Re: Наиболее точное представление избыточных данных
«
Ответ #8 :
Июнь 18, 2012, 10:20 »
Цитата: Igors от Июнь 18, 2012, 09:58
Цитата: once_again_abc от Июнь 18, 2012, 09:46
выбор случайного семпла фактически == выборке nth семпла.
Совсем не равен. Выбирая N-ый сампл Вы впарываетесь в алиас. Данные - совсем не белый шум, накладывая регулярную решетку Вы увидите "совсем не то". Манипуляции с минимумом-максимумом еще хуже, напр в случае ВЧ шума. А вот случайный выбор обмануть очень трудно.
извините за, наверное, тупой вопрос, но почему "Манипуляции с минимумом-максимумом еще хуже, напр в случае ВЧ шума."?
пс. реализовать "хорошую" и при этом быструю случайность не очень просто...
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Наиболее точное представление избыточных данных
«
Ответ #9 :
Июнь 18, 2012, 10:37 »
Цитата: once_again_abc от Июнь 18, 2012, 10:20
извините за, наверное, тупой вопрос, но почему "Манипуляции с минимумом-максимумом еще хуже, напр в случае ВЧ шума."?
Напр есть "выбросы" - слишком большие и/или слишком малые значения частота которых соразмерима с шагом отображения. Работая с максимумом мы ловим эти "пики" и получаем отображение ВЧ сигнала - хотя это всего лишь наложенный шум
Цитата: once_again_abc от Июнь 18, 2012, 10:20
пс. реализовать "хорошую" и при этом быструю случайность не очень просто...
http://www.prog.org.ru/index.php?topic=21845.msg152223#msg152223
Записан
once_again_abc
Гость
Re: Наиболее точное представление избыточных данных
«
Ответ #10 :
Июнь 18, 2012, 10:52 »
Цитата: Igors от Июнь 18, 2012, 10:37
Цитата: once_again_abc от Июнь 18, 2012, 10:20
извините за, наверное, тупой вопрос, но почему "Манипуляции с минимумом-максимумом еще хуже, напр в случае ВЧ шума."?
Напр есть "выбросы" - слишком большие и/или слишком малые значения частота которых соразмерима с шагом отображения. Работая с максимумом мы ловим эти "пики" и получаем отображение ВЧ сигнала - хотя это всего лишь наложенный шум
Цитата: once_again_abc от Июнь 18, 2012, 10:20
пс. реализовать "хорошую" и при этом быструю случайность не очень просто...
http://www.prog.org.ru/index.php?topic=21845.msg152223#msg152223
Спасибо!
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...