Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];

Вниз

Построение сглаженных графиков   Найти похожие ветки 

 
ASMiD   (2004-08-26 18:43) [0]

Господа!
Не подскажет-ли кто-нибудь ссылку.
Необходимо по точкам построить сглаженный график.


 
TUser ©   (2004-08-26 18:58) [1]

Аппроксимируй его кривыми Безье. Тебе нужна ф-ция PolyDraw. См. нее в SDK. Про сами кр.Б. - много где есть. Неплохо описано у Ф.Юаня, с примерами.


 
lipskiy ©   (2004-08-26 19:01) [2]

Можно использовать рекурсивный фильтр:
Xout = KXin + (1-K)Xout
K - коеф. рекурсии, от 0 до 1, в данном случае равен примерно 0.1
Этим фильтром нужно пройти отдельно по каждой координате последовательно все точки


 
TUser ©   (2004-08-26 19:02) [3]

2[2]

???


 
wicked ©   (2004-08-26 19:12) [4]


> Аппроксимируй его кривыми Безье. Тебе нужна ф-ция PolyDraw.
> См. нее в SDK. Про сами кр.Б. - много где есть. Неплохо
> описано у Ф.Юаня, с примерами.

функция PolyBezier?...


 
wicked ©   (2004-08-26 19:12) [5]

в смысле далеко читать не надо - в мсдн про PolyBezier много чего написано...


 
TUser ©   (2004-08-26 19:25) [6]


> функция PolyBezier?...

Сам не работал, но насколько я понял сегодня в метро уважаемого Юаня, PolyBelizer рисует крБ. А PolyDraw принимает массив из многих точек и рисует сразу много кривых. + еще прямые. Т.е. для каждой точки там можно задать тип, например, начать крБ, нарисовать в эту точку прямую линию и т.д. В данном случае, PolyDraw позволит нарисовать все кривые сразу, просто переслав в нее массив точек. Не запомнил точно - может она опорные точки требует, но их легко рассчитать.
Причем хорошо то, что эта ф-ция гарантирует, что никакой пиксел не будет прорисовываться дважды.


 
TUser ©   (2004-08-26 19:25) [7]


> PolyBelizer

PolyBezier, конечно.


 
TUser ©   (2004-08-26 19:28) [8]

Хотя, нет. Признаю ошибку. PolyBezier рисует, конечно, много кривый, а преимущества PolyDraw состоят в возможности рисовать несколько отдельных фигур, комбинировании крБ с прямыми линиями, и непрорисовке одного пикселя дважды.


 
wicked ©   (2004-08-26 19:32) [9]

хм... обещают, что нарисует....
только смущает надпись -
Requirements
 Windows NT/2000 or later: Requires Windows NT 3.1 or later.
 Windows 95/98/Me: Unsupported.

не то, чтобы я ратую за использование win9x/ME, но спецификация программы, гласящая "только WinNT", имхо сильно снижает её ценность...


 
MBo ©   (2004-08-27 07:32) [10]

PolyBezier,конечно, рисует кривые, но вот сами эти кривые сначала нужно рассчитать - а как именно - зависит от того, что имеется в виду под словами "построить сглаженный график".
Вполне возможно, что подойдут сплайны (их много видов, в зависимости от задачи) или еще какие-нибудь из методов интерполяции.


 
REA   (2004-08-27 09:47) [11]

Тренды тоже всякие можно



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.035 c
3-1092897049
surkis
2004-08-19 10:30
2004.09.12
SQL(order by)


4-1090929286
help
2004-07-27 15:54
2004.09.12
при попитке запустить сервис видайот сообщениє ошибка 5


14-1093101697
bender
2004-08-21 19:21
2004.09.12
Програмирование LPT порта


1-1093770102
Луарвик
2004-08-29 13:01
2004.09.12
StringGrid: удаление строки


1-1093589612
dim-
2004-08-27 10:53
2004.09.12
Почему повторный вызов dll вызывает ошибку?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский