Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/32: Рейтинг темы: голосов - 32, средняя оценка - 4.97
Эксперт Hardware
 Аватар для Linoge
3205 / 1915 / 324
Регистрация: 25.10.2011
Сообщений: 5,564

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

25.05.2012, 10:11. Показов 6795. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Судари, может у кого есть библиотека или сам писал и не жалко поделиться.
Нужно построение графика произвольной функции с осями, метками, подбором масштаба и значений, перерисовкой при сворачивании и перемещении.
Нужно срочно
Миниатюры
Построение графика произвольной функции с осями, метками, подбором масштаба  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.05.2012, 10:11
Ответы с готовыми решениями:

Построение графика произвольной функции
Построение графика произвольной функции. Поддержка тригонометрических функций. Может у кого-то завалялась такая программа?

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

tchart построение графика с неподвижными осями
мне надо построить график так чтоб задавала значения параметрам и график строился. с помощью tchart-а написала. вот только одна проблема....

4
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,905
25.05.2012, 10:20
Цитата Сообщение от vstz Посмотреть сообщение
перерисовкой при сворачивании и перемещении.
Visual Basic
1
AutoRedraw=Tue
Или я не о том?

Добавлено через 4 минуты
Цитата Сообщение от Mikle
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
'Строит график любой ф-ции 
 'Автоматически подбирает масштаб по X и Y 
 Option Explicit 
 
 Private Sub Form_Load() 
   Dim MinX As Double 
   Dim MaxX As Double 
   Dim MinY As Double 
   Dim MaxY As Double 
   Dim dx As Double 
   Dim x1 As Double 
   Dim x2 As Double 
   Dim y1 As Double 
   Dim y2 As Double 
 
   ScaleMode = vbPixels 
   BackColor = RGB(255, 255, 255) 
   Show 
 
   'Здесь задайте диапазон по X 
   MinX = -3 'минимум 
   MaxX = 3  'максимум 
   dx = (MaxX - MinX) / ScaleWidth 'Шаг X/Pixel 
   'Ищем минимальное и максимальное значения ф-ции в диапазоне 
   MinY = F(MinX) 
   MaxY = F(MinX) 
   For x1 = MinX To MaxX Step dx 
     If MinY > F(x1) Then MinY = F(x1) 
     If MaxY < F(x1) Then MaxY = F(x1) 
   Next x1 
   'Перенастраиваем ScaleMode окна 
   ScaleLeft = MinX 
   ScaleWidth = MaxX - MinX 
   ScaleTop = MaxY 
   ScaleHeight = MinY - MaxY 
   'Отображаем оси координат 
   Line (MinX, 0)-(MaxX, 0), RGB(0, 0, 0) 
   Line (0, MinY)-(0, MaxY), RGB(0, 0, 0) 
   'Строим график 
   For x1 = MinX To MaxX Step dx 
     x2 = x1 + dx 
     y1 = F(x1) 
     y2 = F(x2) 
     Line (x1, y1)-(x2, y2), RGB(0, 0, 255) 
   Next x1 
 End Sub 
 
 'Задайте здесь свою ф-цию 
 Private Function F(ByVal x As Double) As Double 
   F = 1 / (x ^ 2 + 2 * x + 2) - 0.25 
 End Function
Правда без меток
0
Эксперт Hardware
 Аватар для Linoge
3205 / 1915 / 324
Регистрация: 25.10.2011
Сообщений: 5,564
25.05.2012, 10:42  [ТС]
Апострофф, о том.
Писать начал, но чтоб учесть все нюансы нужно оч долго сидеть и проверять.
Поэтому и интересуюсь - мож есть готовое.

Добавлено через 21 минуту
Ладно более конкретная задача.
x1 = -0.1
x2 = 2.7
dx = 2.8
примем количество шагов (меток) 30
шаг напрашивается 0.1

Для
x1 = 370
x2 = 1000
dx = 700
при 30 получим шаг 21
для нормального восприятия взял бы 25 или 20 и изменить количество шагов на 32

Соответственно нужна функция которая будет адекватно подбирать шаг и его количество.
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,905
25.05.2012, 11:34
Процедура изменяет min, max и задаёт s (шаг). n - примерное к-во шагов.
Возвращаемый s (шаг) - целое от 1 до 9 умноженное на 10 в целой степени.
Все параметры, кроме n, д.б. переменными в момент вызова, чтобы результат можно было прочитать-
Visual Basic
1
2
3
4
5
6
7
8
Sub qqq(min#, max#, n%, s#)
Dim k%
s = (max - min) / n
k = Int(Log(s) / Log(10#))
s = Int(s / 10 ^ k) * 10 ^ k
min = Int(min / s) * s
max = (Int(max / s) + 1) * s ' + s
End Sub
Писал на скорую руку
1
Эксперт Hardware
 Аватар для Linoge
3205 / 1915 / 324
Регистрация: 25.10.2011
Сообщений: 5,564
25.05.2012, 13:22  [ТС]
Благодарю
еще добавить n = (max - min) / s
и все ok
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.05.2012, 13:22
Помогаю со студенческими работами здесь

Точки пересечения графика функции с осями координат
Нужно найти точки пересечения графика функции с осями координат. Пишу y(x)=x+2atan(x)solve,x -&gt; solve выделяется красным, хотя делаю...

Найти точки пересечения с осями графика функции. Определить как измениться напряжение в элементе
Я новичек в маткаде, а нам в универе дали задания по нему, что то я смог сам решить, а два задания нет, прошу у вас помощи. 1) Решить...

Построение произвольной функции
Как построить график исходя из произвольного введенного уравнения(!) пользователем, где две неизвестных?

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

Создание 3d графика произвольной функции двух переменных
Здравствуйте, есть пара вопросов, на которые я надеюсь тут найти ответы. Собственно говоря, задача которую мне надо решить - это...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Программный отбор элементов справочника Номенклатура по группе 1С
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор под наименованию группы (на. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор элементов справочника Сотрудники по перечислениям 1С
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru