Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/27: Рейтинг темы: голосов - 27, средняя оценка - 4.63
Linoge
Эксперт Hardware
2521 / 1817 / 307
Регистрация: 25.10.2011
Сообщений: 5,343
1

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

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

Судари, может у кого есть библиотека или сам писал и не жалко поделиться.
Нужно построение графика произвольной функции с осями, метками, подбором масштаба и значений, перерисовкой при сворачивании и перемещении.
Нужно срочно
0
Изображения
Тип файла: jpg Чертеж.jpg (36.9 Кб, 49 просмотров)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2012, 10:11
Ответы с готовыми решениями:

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

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

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

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

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

4
Апострофф
Заблокирован
25.05.2012, 10:20 2
Цитата Сообщение от 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
Linoge
Эксперт Hardware
2521 / 1817 / 307
Регистрация: 25.10.2011
Сообщений: 5,343
25.05.2012, 10:42  [ТС] 3
Апострофф, о том.
Писать начал, но чтоб учесть все нюансы нужно оч долго сидеть и проверять.
Поэтому и интересуюсь - мож есть готовое.

Добавлено через 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
Апострофф
Заблокирован
25.05.2012, 11:34 4
Процедура изменяет 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
Linoge
Эксперт Hardware
2521 / 1817 / 307
Регистрация: 25.10.2011
Сообщений: 5,343
25.05.2012, 13:22  [ТС] 5
Благодарю
еще добавить n = (max - min) / s
и все ok
0
25.05.2012, 13:22
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2012, 13:22

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

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

Разработать программу вывода графика произвольной функции
Задача №1 Разработать программу вывода графика произвольной функции. Поместите начало координат в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.