Страница: 1 |
Страница: 1 |
Вопрос: Рисование кривой
Добавлено: 17.04.08 01:13
Автор вопроса: Winand | Web-сайт:
Хочу приделать эквалайзер к аудиоплееру.
Вопрос в том, как мне нарисовать кривую по указанным точкам? В общем я хочу сделать так же как в винампе.
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #1
Добавлено: 17.04.08 01:25
Тебе надо было учить геометрию в школе
Где-то на vbrussian.com видел пример. Вроде назывался spline.
Номер ответа: 2
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #2
Добавлено: 17.04.08 03:04
Кривую следует отображать такую, какую ты используешь в обработке звука. Сплайн при этом чреват тем, что между точками, лежащими почти на одном уровне, может быть резкий пик: такова уж природа сплайновых полиномов. Более гладкой кривой являлась бы кривая Безье n-го порядка, где n это количество твоих опорных частот.
Номер ответа: 3
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #3
Добавлено: 17.04.08 10:05
PolyBezier тебе в помощ.
Номер ответа: 4
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #4
Добавлено: 17.04.08 11:02
Если есть желание, чтобы кривая была всюду гладкой, стандартные функции рисования кривой Безье не подходят, потому что они там используются фиксированного небольшого порядка.
Номер ответа: 5
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #5
Добавлено: 17.04.08 16:56
ща схожу на концерт биллиз бэнд, потом поучу дискретку и лабы по физике (уже осознаю что это всё нереально), а завтра погуглю\почитаю. Ну и плеер выложу. (который никому нах не нужен
Номер ответа: 6
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #6
Добавлено: 18.04.08 01:32
ну я так и думал. Выполнил только первый пункт)
Насчет Безье - кривая не обязательно будет проходить через контрольные точки как я понимаю. А нужно-то чтобы проходила
Номер ответа: 7
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #7
Добавлено: 18.04.08 01:40
А! походу дошло) К примеру если нужна кривая от x1 до x2 и от y1 до y2
y1 = 40: y2 = 20
p(0).x = x1: p(0).y = y1
p(1).x = (x1 + x2) \ 2: p(1).y = y1
p(2).x = (x1 + x2) \ 2: p(2).y = y2
p(3).x = x2: p(3).y = y2
PolyBezier hdc, p(0), 4