как построить график в windows forms c

Как построить график функции в windows forms c#?

Мне нужно нарисовать график функции циссоиды Диокла. как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms c
как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms c
Так как я не очень понимаю как эту функцию вставить в windows forms c#, я использовал уравнение циссоиды в прямоугольной системе координат:
как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms c
Вот мой код:

К сожалению, получается совсем не то, что нужно:
как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms c
Я думаю, что проблема в том, как я записываю функцию. Может ли кто-то помочь мне решить это?

как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms c

Тут у вас сразу несколько ошибок:

1. Нужно явно приводить к double иначе при делении двух int получите тоже целое.
2. Вы берете очень большие границы. Рост знаменателя намного превышает скорость роста числителя. Сами посмотрите: возведите 50 в куб, что получите? График вы конечно построите, но наглядности будет немного.

Что более важно: ваш отрезок OA = 2*a, а это значит что ваша правая граница точно должна быть меньше чем 2*a;

Собирая все вместе, попробуйте что-то вроде такого:

Источник

BestProg

Разработка программы рисования графика функции двух переменных ( 3D )

В работе описывается разработка программы построения графика функции двух переменных

z = f(x, y)

В качестве примера, выбрана функция

z = sin(x) + cos(y)

Используя данный пример, можно создавать собственные программы для построения графиков других функций. По желанию можно модернизировать работу программы по своему усмотрению.

Содержание

Поиск на других ресурсах:

Условие задачи

Математическая постановка задачи

Построение графика функции двух переменных есть математически решаемой задачей, в которой используются известные формулы вычисления.

Также возникает понятие углов:

как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms c

После перемножения матриц получаем формулу для вычисления:

как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms c По этой формуле будет происходить преобразование системы координат и масштабирование (рисунок 1).

как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms c

Рис. 1. Сдвиг и поворот системы координат

Координаты расчетной точки (x, y) прижимаются к точке (0, 0) по формулам:

Выполнение

1. Создание проекта как Windows Forms Application

Создать форму по образцу, как показано на рисунке 2.

как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms cРис. 2. Вид основной формы программы

Настроить следующие свойства компонент и формы:

Создать новую форму. Подробный процесс создания новой формы описывается здесь .

Имена файлов формы « Form2.cs » и « Form2.Designer.cs «.

Разместить на форме четыре компонента типа Button. Автоматически создается четыре объекта с именами button1, button2, button3, button4.

Настроить свойства компонент и формы следующим образом:

Приблизительный вид формы Form2 изображен на рисунке 3.

как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms cРис. 3. Форма Form2 приложения

Все внутренние переменные, использующиеся для организации вывода графика, размещаются в классе формы Form2. Поэтому, сначала надо активизировать модуль « Form2.pas ».

В модуль формы Form2 вводятся следующие внутренние переменные с классом видимости private:

В разделе public вводятся:

После введения переменных в текст программы, фрагмент класса формы Form2 имеет вид:

В текст класса Form2 вводятся три дополнительных метода:

Листинг метода преобразования системы координат следующий:

Листинг метода func() следующий.

В этом методе вместо строки

можно сделать вставку собственной функции.

Объясним некоторые фрагменты кода в методе Show_Graphic().

Область определения функции z = f(x,y) разбивается на прямоугольники, на любом из которых функция экстраполируется с ребрами четырехугольника. Построение четырехугольников на экране реализуется с помощью метода DrawLine().

После очистки канвы происходит рисование осей координат и методом DrawLine() выводятся фрагменты поверхности.

При рисовании поверхности, из метода Show_Graphic() вызывается метод Zoom_XY(), что осуществляет преобразование и масштабирование из реальных координат в экранные координаты.

6. Программирование события Paint формы Form2.

Чтобы получить объект Graphics, нужно запрограммировать событие Paint формы Form2. Пример программирования события в MS Visual Studio – C# описывается здесь подробно.

Параметр типа PaintEventArgs содержит объект Graphics, необходимый для рисования на поверхности формы.

Листинг обработчика события Form2_Paint() следующий.

7. Программирование обработчиков событий клика на кнопках button1, button2, button3, button4.

Поворот графика происходит в момент, когда пользователь делает клик на одной из кнопок, размещенных на форме Form2 (элементы управления button1, button2, button3, button4).

Поэтому, в обработчиках событий происходит изменение значений alfa и beta на некоторую величину. По желанию, можно установить собственную величину изменения alfa и beta.

Листинг обработчиков событий приведен ниже.

В вышеприведенных обработчиках событий, событие Paint генерируется явно с помощью унаследованного метода Invalidate(). Этот метод делает перерисовывание всей клиентской области программным путем.

Метод Invalidate() имеет несколько перегруженных вариантов. Например, если нужно обновить заданный прямоугольник, то нужно создать такой код:

8. Программирование обработчиков событий MouseDown, MouseMove и MouseUp.

Для осуществления поворота графика с помощью мышки нужно запрограммировать соответствующие обработчики событий.

Если нажать клавишу мыши и удерживать ее нажатой над формой Form2, а потом отпустить, то генерируются такие события (рисунок 4):

как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms cРис. 4. События MouseDown, MouseMove, MouseUp

9. Листинг модуля « Form2.cs ».

Ниже приведен полный текст файла ” Form2.cs ”, который соответствует форме Form2.

10. Программирование события клика на кнопке button1 формы Form1 (вызов формы рисования графика функции).

При клике на кнопке button1 из формы Form1 может выводиться график функции.

Обработчик события клика на кнопке Button1 имеет вид.

11. Запуск программы.

После запуска программы на выполнение, форма графика функции изображена на рисунке 5.

как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms cРис. 5. Результат выполнения программы

Программирование: теория и практика

Рубрики

Свежие записи

При использовании материалов сайта, ссылка на сайт обязательна.

Источник

Построение графика произвольной функции c#

подскажите библиотеку для построения произвольных графиков функции в C#. т.е передаёшь например f(x)=sin(x) и на какой-нибудь канвас выводит синусоиду.

как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms c

как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms c

3 ответа 3

Все-таки здесь два этапа:

Рассчитать координаты точек на графике. Для этого есть mXparser http://mathparser.org/

Построить сам график из этих точек. Здесь миллион вариантов, выбирайте на вкус https://www.nuget.org/packages?q=Tags%3A%22plotting%22

как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms c

Данный пример позволяет построить график функции, задаваемой любым JS-выражением:

Если перенастроить WebBrowser на новую версию IE через реестр, можно и прямо в нем графики строить, через HTML5 Canvas.

как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms c

Хоть это и не точный ответ на вопрос по поводу библиотек, т.к. сам тоже не нашел.
Есть один запасной для вас вариант:
Создаете функцию которая принимает x и строку фукнции, вида «x^2+2*x-3»
В строке, символ ‘x’ заменяете на значение переменной x что бы вышло что то типа:

Алгоритмом польской нотации считаете выражение, и возвращаете ответ. Примеры и объяснения польской записи хорошо доступны. Создаете массив для отображения графика. И в своем массиве для каждого элемента вызываете функцию, передавая x на промежутке (xmin;xmax), и сам вид функции как string.

как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms c

Всё ещё ищете ответ? Посмотрите другие вопросы с метками c# winforms поиск-библиотек или задайте свой вопрос.

Связанные

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.11.10.40715

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

Рисование графиков элемент chart

На форме расположены 3 элемента: char1, char2,char3.
На каждом char надо построить 2 графика. По оси X градуировка 1,2,3,4,5. По оси Y данные берутся их пяти text.Box для одного графика и из 5-ти textBox для другого графика. Надо построить по 2 графика на char1, char2,char3.
Еще вопрос можно ли название serios, которое находится справа от графика поместить вверху, а то эта надпись отбирает лишнее место у элемента char.

Добавлено через 19 часов 42 минуты
Разобрался может кому пригодится. Все делается через свойства компонента chart.
Для одного компонента chart1 будет выглядеть так

как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms cРисование графиков в Chart
Добрый день. Пытаюсь нарисовать на одном Chart динамическое количество графиков, которое зависит.

как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms cПересечение графиков Chart
День добрый. Подскажите пожалуйста как автоматически высчитать или узнать точку пересечения линий.

как построить график в windows forms c. Смотреть фото как построить график в windows forms c. Смотреть картинку как построить график в windows forms c. Картинка про как построить график в windows forms c. Фото как построить график в windows forms cПостроение графиков в Chart
доброго времени суток уважаемые форумчане. у меня возник вопрос связанный с построением графиков.

Chart и чтение графиков
Всем привет, возник такой вопрос. Как сделать график читабельным? Чтобы при наведении всплывали.

Источник

Как построить график в windows forms c

БлогNot. Visual C++: построение графиков с интерпретацией введённой пользователем функции

Visual C++: построение графиков с интерпретацией введённой пользователем функции

В принципе, вся нужная информация есть вот здесь, сделаем по ней законченный проект.

Структура основной формы показана на рисунке, компоненты в panel1 перечислены по порядку в форме слева направо, что обеспечивает и нормальный порядок обхода полей по клавише табуляции.

Как альтернатива, можно формировать вещественные значения полей динамически в зависимости от текущего разделителя (например, по событию Load формы 1):

В форму также добавлено глобальное свойство типа NumberFormatInfo

которое проинициализировано в её конструкторе:

Основная работа выполняется по нажатию на кнопку OK ( button1_Click ). Сначала проверяем допустимость введённых данных с помощью пары служебных методов Parse (получить число) и Check (проверить правильность записи функции, попробовав получить её значение от 1-го аргумента). Потом метод Go делает цикл по нужным значениям аргумента, формируя диаграмму. Если возникает ошибка парсера, о ней выводится сообщение, но программа не завершается. Просто в данных не будет какой-то пары значений.

Парсер тот же, что по ссылке выше. Вот полный код фрагмента:

Если национальные стандарты предполагают, что дробная часть вещественного числа отделяется от целой запятой, а не точкой, вместо оператора

Такой код метода Do работает при установке свойства

так как при значении true в таблице есть «дополнительная» пустая строка, которая тоже участвует в нумерации.

Чтобы это сработало, заинклудьте заголовки второй формы в начале кода Form1.h :

Разумеется, сам парсер тоже подлючён. Это весь проект, можно собирать. Вот пример работы программы:

Выражения в парсере пишутся «не совсем на C++», загляните в файл parser.cpp и увидите это, ещё лучше, можете модифицировать код парсера под свои нужды. Ну и ещё много что можно улучшить, а я выложу проект в текущем «образовательном» состоянии.

P.S. Для совместимости с Visual Studio 2015 достаточно сделать вот такой главный файл проекта Lab4.cpp :

Вот набросок чуть «улучшенного» проекта для Studio 2015:

А вот архив с этим проектом Visual Studio 2015, с точностью до платформы (выбирается вверху из списков «Конфигурации решения», «Платформы решения») должно работать везде 🙂 Конечно же, выражение для нужной функции от аргумента «x» малое и нужные пределы изменения аргумента вы можете не только задать константами, но и прочитать откуда-то (с той же консоли или из файла).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *