2013-01-17 6 views
0

Я работаю над научным калькулятором на C#. У меня есть механизм синтаксического анализа и т. Д., Теперь я хотел бы добавить график, чтобы пользователь мог построить линию. Есть ли какой-либо контроль, который позволит мне ввести функцию, и она будет отображать линию на диаграмме? Я не говорю о том, чтобы заговорить отдельные точки.Построить линию (y = 2x + 7) на графике

Возьмем это линейное уравнение в форме наклона-перехвата, например:

f(x) = 2x + 7 

Основная цель состоит в том, чтобы позволить пользователю писать 2x + 7 в текстовом поле, а затем он будет график линии. Было бы предпочтительнее, если пользовательские функции могут быть использованы другие, чем просто линейных функций, таких как:

((x - 8) * 4^2)/(7.136 + x) 

Но это не является обязательным требованием. Есть ли для этого сторонний контроль? Если бы не кто-нибудь мог мне помочь, как бы я создал такой контроль?

Я скачал программу, которая граф таких функций, как это:

Desktop Graphing Calculator

Может кто-нибудь поможет мне о том, как я могу достичь этой функциональности в моем C# 2010 WinForms приложения Визуального?

+0

Вы можете [грубо] сделать такой график самостоятельно в собственных WinForms, обработав событие «Paint». Просто перейдите к каждому 'x' (скажем, с шагом 0,01 для выше), чтобы получить' y' (предположим, что функция определена как 'float f (float x)' и формула жестко запрограммирована) - затем нарисуйте строка между символами '(x, f (x)) и' (prev_x, f (prev_x)) '. Конечно, лучше просто использовать * существующий * графический контроль (он не обязательно должен быть коммерческим) - в любом случае, пожалуйста, * поиск * [первый] для таких существующих решений: google * и * codeplex - два хороших отправные точки. –

+0

@pst Сначала я искал, но у меня были такие вещи, как бизнес-диаграммы, ничего для графических математических формул. –

+0

Это первое, что появилось в Google в моем быстром образе: http://www.codeproject.com/Articles/25191/Graphic-Calculator – Tebc

ответ

2

Я искал mathematical function plot library for windows и нашел это:

  • FPlot «библиотека .NET для построения функций и данных измерений» (проект по CodeProject)

и вы можете попробовать использовать исходный код:

Вам необходимо будет проверить лицензии. Я, кстати, не пробовал ни одного из них.

Смежные вопросы