Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
11 / 11 / 1
Регистрация: 08.12.2011
Сообщений: 148

Посторение графиков в Forms (PictureBox)

08.12.2011, 22:08. Показов 2123. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Я написал программу в Forms, которая через pictureBox рисует график по заданной функции - y[i]=Math::Sin((x[i]*3.14/180)); , НО дело в том что мне нужно вводить функцию не внутри программы, а через textBox! Скажите пожалуйста, как это сделать?!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.12.2011, 22:08
Ответы с готовыми решениями:

Функции.Посторение графиков
Как построить много функций на одном графике?Просто уже алфавита не хватает:wall:

Рисование графиков в pictureBox
Как нарисовать график функции (например f(x) = 1/x)? Пробовал рисовать по пикселям с помощью Graphics.DrawLine (от 0 до pictureBox.Width) -...

Несколько графиков в одном PictureBox
Привет! В общем проблема в следующем. С помощью цикла на одном пикчербоксе создается несколько (не известно сколько) графиков. Нужно...

4
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
09.12.2011, 01:01
Что значит, вводить функцию?
1. Если нужно вводить пользовательскими идентификаторами, типа Sin, Cos, Ln, Exp ... , операторами +, -, х ..., знаками итерации типа () и отношения = и литералами типа 1,2,3,4
то задача тянет на легкий интерпретатор, и находится с задачей построения графика в разных весовых категориях. Kогда Вы сможете её решить,- думаю желания уже не будет.
2. Если есть предполагаемый набор готовых функций типа Y=Cos^2(x)+Sin^2(x) (а что? со значениями этой функции приходится сталкиваться на каждом шагу), то забейте их в список, отобразите в ListBox кажется... или DataGridVieW и обрабатывайте выбор по click_eventHndlr()-----
3. Если это - учебное задание, то
3.1 В обработчике click вашей кнопки задайте строковые константы типа "Sin" , "Cos", "Ln" и.т.п. потом сравните введенную строку с каждой (if, switch...) и ...
в этом случае стоит отыскать кого-л. по близости умеющего это делать и выставить бутылку пива
1
11 / 11 / 1
Регистрация: 08.12.2011
Сообщений: 148
09.12.2011, 12:51  [ТС]
Ну это не совсем то. Есть же ведь программы, где в поле вводишь функцию, а потом по ней рисуется график. Вот и мне нужно, чтобы через textBox функцию вводить, я пробовал вот что, но это нерокатило - char f;
C#
1
2
3
                   String^text_fun;
                   fun=textBox4->Text;
                   f=Convert::ToDouble(text_fun);
вот сам график строится, куда и надо вбивать фу-ю - y[i]=Math::f; ну или y[i]=f;
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
09.12.2011, 22:57
Мне жаль Bllaa, что Вы не прочли, внимательно предыдущий пост...
Теперь о Вашем коде:
char f и дaлее по тексту...
Char - целое (байт причем) интерпретируемое как символ, по-этому, если Вы пишете

C#
1
f=Convert::ToDouble(text_fun);
то вариант решения под п.3.1 предыдущего поста не так уж плох.

Ну, смотрите:
1.
C#
1
2
Double x=Math::Pi/4;
Double y=Math::Sin(x);
Во второй строке вызывается функция из библиотеки Math то есть на стадии компиляции компилятор интерпретирует строку
C#
1
Math::Sin(x)
(распознает от оператора "=" до ";") и подставляет готовый двоичный код в сигмент исполняемого кода выходного, двоичного, в Вашем случае exe файла...
Но получая строку там где ожидается выражение, компилятор не имеет встроенной логики для интерпритации. Да и не все интерпретирующие языкы это могут. Писать интерпретатор... А как же Mathlabs с их MathCad-ом
2.
свойство textBox-а Text имеет тип String^ - класс предоставляющий различные методы работы с, грубо говоря, массивами типа w_chart, (всё как всегда - приём, хранение, переработка...), подробности - в MSDN.
3.
C#
1
Convert::ToDouble()
если принимает String^ то нормально работает только со строками типа
1,2345 или 5,43 е-5
и возвращает соответственно величины которые в коде могли бы выглядеть как
1.2345 или 5.43 е-5
Строка из четырех операторов и три ошибки т.к. знак = здесь семантически скорее подходит, чем не подходит.
Не расстраивайтесь
Если это учебное задание и времени мало, то могу лишь посоветовать п.3.1 предыдущего поста.
Если, учитесь для себя, - советую прочесть:
Б.И.Пахомов C++ и MS Visual C++ 2008 для начинающих.
А. Хортон Visual C++ 2005. Базовый курс.
1
11 / 11 / 1
Регистрация: 08.12.2011
Сообщений: 148
10.12.2011, 23:33  [ТС]
Спасибо большое! Почитаю эти учебники наверное.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.12.2011, 23:33
Помогаю со студенческими работами здесь

Рисование трех графиков в picturebox
использую следующие формулы B = (sin (2pi*t/P))*100 % где P = {23,28,33} t — количество дней, прошедших с даты рождения до текущего...

Windows Forms и рисование в PictureBox
Задание задать параметры прямоугольника и вывести его на экран. Не получается нарисовать что-либо, при таком варианте кода выдает ошибку ...

Масштабирование графика в PictureBox (Forms)
Скажите пожалйста - вот у меня строиться график по заданной в pictureBox функции, но отображается лишь "кусок" этого графика....

Графика Windows Forms. Способы построения графиков функций и анимации
Visual C++. Работаю, разумеется, в Студии. Какие есть способы построения графиков функций на форме? И как работать с анимацией. Допустим,...

Посторение матрицы порядка n
Дано натуральное число n. Написать программу построения матрицы порядка n: (Над диагональю стоят нули)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru