Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > WPF и Silverlight > Поле давления в WPF |
Автор: Greenberet 22.5.2011, 22:02 |
Добрый день. Стоит следующая задача: Задано поле давления(функция от двух переменных, которая каждой точке на плоскости ставит в соответсвие какое то число). Необходимо разрисовать квадратную область в зависимости от значений в точках(какому цвету какое число соответствует не суть важно). Разумеется, придется вводить апроксимацию. Самый простой способ,который я вижу, это просто разбить область на 'n' квадратов и каждому из них ставить фон в зависимости от значения функции в центральной точке. Функция непрерывная, по этому переход между цветами плавный. Но, что б при апроксимации достичь хоть небольшой плавности перехода цветов придется вводить большое количество квадратов разбиения, что сущетвенно повлияет на производительность. Вопрос - можно ли это как то по другому реализовать? Например с помощью GradientBrush? Буду благодарен за любую помощь. Best regards, Greenberet |
Автор: -Mikle- 22.5.2011, 23:32 |
Все равно мало понял, картинку нарисуй, что хочешь получить на выходе. |
Автор: likegift 23.5.2011, 07:44 |
график типа этого?![]() |
Автор: -Mikle- 23.5.2011, 17:00 |
Если хочешь градиентно, то наверное лучшим способом будет отрисовывать все в битмапе. Только не по координатам пикселей, а напрямую записью в буфер. Других идей у меня нет. Рисовать векторно средствами WPF - не лучший способ по производительности. |
Автор: Greenberet 23.5.2011, 20:06 |
likegift, да, что то вроде этого |
Автор: DenWPF 24.5.2011, 00:59 |
Я не сильно в этом разбираюсь. Но как вариант пускать пути по вершинам, наверное даже лучше фигуры, делать прозрачность и каждую отдельно градиентить. хотя...ну не знаю, сложно мне это представить, но кажется можно. |
Автор: likegift 24.5.2011, 05:20 |
Greenberet, ну тогда гугли контрол по wpf surface graph |
Автор: Greenberet 24.5.2011, 09:00 |
хм, а это хорошая идея рисовать все на viewport3d, производительность должна быть хорошая. Спасибо за помощь. |