Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сглаживание графика, необходимо сглаживание по точкам 
:(
    Опции темы
KAMIKAZE
Дата 18.2.2008, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 17.1.2007

Репутация: нет
Всего: нет



Доброго времени суток,

user posted image

График постороен Canvas.Polyline - в него заношу Array[10..500] of TPoint;
Также график может иметь в некторых местах маленькие изгибы и "горбы", которым тоже необходимо сглаживание.

Вот пример "горба"
user posted image

Подскажите как сделать сглаживание smile 
PM MAIL   Вверх
mmvds
Дата 18.2.2008, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 22.12.2007

Репутация: нет
Всего: 6



сделать больше точек, меньше шаг
PM MAIL ICQ   Вверх
KAMIKAZE
Дата 18.2.2008, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 17.1.2007

Репутация: нет
Всего: нет



Может ты имел в виду меньше точек? Чем больше точек и меньше интервал, тем точнее график получается и менее сглаженный.
Я пробовал уменьшать интервал, получается красивый  график, но не видно маленькие изгибы или "горбы", это уже смотря какой array получится и какой шаг. 
PM MAIL   Вверх
mmvds
Дата 19.2.2008, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 22.12.2007

Репутация: нет
Всего: 6



Все зависит от функции, которую строишь, чем больше точек, тем она точнее, по рисунку твоя функция похожа на гиперболический тангенсоид для х>0 для него чем больше точек, тем плавнее график, но опять же все зависит от функции.
Если нужно, могу выложить исходники построителя графиков, правда на паскале, писал еще в школе на конкурс.
PM MAIL ICQ   Вверх
KAMIKAZE
Дата 20.2.2008, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 17.1.2007

Репутация: нет
Всего: нет



Не знаю на что точно похожа похожа функция smile , но графиков которые мне нужно будет сглаживать около 5 видов и они будут самые разнообразные.

Вот примеры - рисовал от руки, но это не важно.
user posted image
PM MAIL   Вверх
mmvds
Дата 20.2.2008, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 22.12.2007

Репутация: нет
Всего: 6



Цитата(KAMIKAZE @  20.2.2008,  13:56 Найти цитируемый пост)
Вот примеры - рисовал от руки, но это не важно.

Значит я не так понял задачу, задача - сглаживать любую линию?
Если так, и одной точке X соответствует один Y, то определяем уровень сглаживания, например 5, теперь для каждой точки (X,Y) ,будем выводить усредненное значение. 
Пусть: 
Ys(X)-значение в точке X сглаженной кривой Y, 
shag-шаг между точками, 
Y(X)-значение в точке X первоначальной кривой Y
тогда Ys(X)=(Y(X)+Y(X+shag)+Y(X+shag*2)+Y(X-shag)+Y(X-shag*2))/5 т.е. среднее арифметическое из значений Y при (X-2*shag)<X<(Х+2*shag)

Единственное что не стоит забывать о крайних точках, для них значение Ys(X)=Y(X)
PM MAIL ICQ   Вверх
morty
Дата 12.5.2008, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 12.5.2008

Репутация: нет
Всего: нет



mmvds, исходничком не поделитесь ? smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0951 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.