Я работаю над графическим калькулятором, и, конечно же, основной особенностью приложения является отображение графиков.Каков наилучший подход к построению графиков?
Прямо сейчас, так работает мой алгоритм построения графиков: я разделяю холст чертежа в интервале N
(где N
определяется настройками приложения, значение по умолчанию - около 700). Для каждого интервала я оцениваю функцию для двух концов, и я рисую сегмент между двумя точками.
Вот недостатки, которые я нашел этому методу:
- Точность графики не велика (например, функция
sin(tan(x))
) - рендеринга медленно для большего числа интервалов (например, N превышает 1000). Кроме того, пострадали средства масштабирования и навигации.
Итак, есть ли лучший подход к рисованию графиков?
Я программирую на C# (WPF), но я думаю, что это не имеет значения, потому что я ищу алгоритм.
Что такое медленная часть? Вычисление или установка пикселя на экран? Помещение пикселов на экран может быть невероятно медленным, если это проблема, посмотрите на скоростную карту C#. – Carra