|
0 / 0 / 0
Регистрация: 26.05.2019
Сообщений: 1
|
|
Проблема в построении графика посредством Graphics26.05.2019, 23:08. Показов 813. Ответов 1
Необходимо построить график по формуле, которая будет указана в textbox. Она может быть произвольной формы, как простая (x*2), так и сложная (2-4x2+5). Вроде бы примерно представляю, что делать нужно, нашел и отредачил хороший, как показалось, парсер для формулы, но столкнулся с проблемой. График выходит линейный, прямая линия в нижней части окна, что бы я ни вводил в textbox, какая бы формула там ни оказалась. В чем проблема? Уже весь код мысленно прошел, а в чем дело понять не могу...
Код тут: Кликните здесь для просмотра всего текста
namespace Графики_ужас { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } public double Result(float x2) { string form = textBox2.Text; string[] opand = form.Split('+', '-', '*', '/', '^'); string[] opats = form.Split('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'x'); for (int i = 0; i < opand.Length; i++) { if (opand[i] == "x") { opand[i] = Convert.ToString(Convert.ToInt32(x2)); } } int[] opandp = opand.Select(s => int.Parse(s)).ToArray(); double resulted = 0; switch (opats[0]) { case "*": resulted = opandp[0] * opandp[1]; break; case "/": resulted = opandp[0] / opandp[1]; break; case "^": resulted = Math.Pow(Convert.ToDouble(opandp[0]), Convert.ToDouble(opandp[1])); break; } return resulted; } private void button2_Click(object sender, EventArgs e) { Graphics graphs = pictureBox2.CreateGraphics(); Pen myPen = new Pen(Color.Black, Width = 3); int numInt = 100; float xmin = 0, xmax = 2, ymin = 0, ymax = 4; float xstep = (xmax - xmin) / numInt; float kx = pictureBox2.Width / xmax, ky = pictureBox2.Height / ymax; float x1 = xmin, y1 = x1 * x1, x2, y2; for (int i = 0; i < numInt; i++) { x2 = x1 + xstep; y2 = Convert.ToSingle(Result(x2)); graphs.DrawLine(myPen, kx * x1, pictureBox2.Height - ky * y1, kx * x2, pictureBox2.Height - ky * y2); x1 = x2; y1 = y2; } } } } Чего не хватает?
0
|
|
| 26.05.2019, 23:08 | |
|
Ответы с готовыми решениями:
1
Помощь в построении графика Ошибка в построении графика |
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,575
|
|
| 26.05.2019, 23:30 | |
|
У вас как минимум метод Result не работает правильно.
0
|
|
| 26.05.2019, 23:30 | |
|
Помогаю со студенческими работами здесь
2
Проблемы в построении графика
Ошибка в построении графика Ошибка в построении графика
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3.
Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|