Эксперт Hardware
 Аватар для Linoge
3205 / 1915 / 324
Регистрация: 25.10.2011
Сообщений: 5,564

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

25.05.2012, 10:11. Показов 6761. Ответов 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,904
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,904
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru