Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

График по заданной математической функции у(х) в управляемом приложении

График по заданной математической функции у(х) в управляемом приложении
Я
   Reraru
 
14.01.20 - 19:01
Здравствуйте, друзья и все люди. Я хочу понять каким кодом, объектами и элементами можно задать график. График должен задаваться исходя из той  математической функции которую задаст пользователь. Например, пользователь задаст функцию y=х^2+1 и по заданной этой функции построиться график.
Также мне интересно через что лучше и как лучше это реализовывать: макет, поле html. В графике должны быть пределы по осям х и у. Если пользователь нашёл нужную точку но не видит конкретных значений то должно быть небольшое окошко которое подсказывает пользователю координаты по той или иной точке. Например, пользователь задал х=5, он видит в окошке что х=5 и полученный результат у=26
 
 
   Krendel
 
1 - 14.01.20 - 19:02
Расчет мощности тяги от размера сопла делаешь?
   Reraru
 
2 - 14.01.20 - 19:06
   Garykom
 
3 - 14.01.20 - 19:06
(0)
http://1clenta.ru/pattern/162

Через HTML имхо не осилишь из 1С.
Функцию вводить в готовом виде для Вычислить(), делаешь цикл, в нем подставляешь вместо x значение и получаешь y.
Результаты засовываешь в диаграмму типа график.
   Reraru
 
4 - 14.01.20 - 19:07
(1) график по математической функции, вначале хочу разобраться на самом простом
   Reraru
 
5 - 14.01.20 - 19:09
(3) да, спасибо, я смотрел этот пример, но я его не понял. В нём просто приравняли у к х
   Garykom
 
6 - 14.01.20 - 19:11
(5) Может тебе еще и готовое решение дать с кодом?
   Reraru
 
7 - 14.01.20 - 19:15
(6) да, пожалуйста
   ДенисЧ
 
8 - 14.01.20 - 19:19
(4) А зачем это делать на 1с?
   Reraru
 
9 - 14.01.20 - 19:20
(8) развиваюсь по будующей профессии
   ДенисЧ
 
10 - 14.01.20 - 19:25
(9) Ты лучше по русскамц языка поучись сначало. А графики рисовать в 1с - это не професия
   NorthWind
 
11 - 14.01.20 - 19:30
(9) так чтоб развиваться, надо самому делать. Кстати, если точек планируется не сильно много, то может помочь обычная диаграмма... только правильную серию подобрать... тот же тичарт в дельфи позволял рисовать графики.
   NorthWind
 
12 - 14.01.20 - 19:31
то что изображено в (2), с десятком точек - как раз диаграммой и нарисовано имхо в каком-нть экселе
   Reraru
 
13 - 14.01.20 - 19:35
(12) это готовый код внешней обработки, который работает только в обычном приложении
   Йохохо
 
14 - 14.01.20 - 19:37
(13) но это УФ, в обычном не было иконки гамбургер
   Reraru
 
15 - 14.01.20 - 19:38
&НаСервере
Процедура ПостроитьГрафикНаСервере()
    
    Серия = Диаграмма.Серии.Добавить("АБВГД");    
        
    Для Значение = 1 По 10 Цикл
    
        Точка = Диаграмма.УстановитьТочку(Значение);
        Диаграмма.УстановитьЗначение(Точка, Серия, Значение);
            
    КонецЦикла;
    
КонецПроцедуры 

И кто здесь поймёт заданную функцию?
Цикл в идеале использовать нужно для масштаба графика, например х от 0 до 10, а у от 0 до 20
   Reraru
 
16 - 14.01.20 - 19:39
(14) http://www.professional-1c.ru/ news /otobrazhenie_grafikov_s_rasshirennymi_funkcionalnymi_vozmozhnostjami /2013-10-03-1
   NorthWind
 
17 - 14.01.20 - 19:41
(15) что значит "кто поймет"? Рассчитайте и передайте значение, в чем проблема? Рассчитайте на клиенте и передайте массив точек или наоборот. На то голова и дадена.
   Reraru
 
18 - 14.01.20 - 19:43
(17) я не понимаю и любой не прошаренный человек тоже
   Reraru
 
19 - 14.01.20 - 19:44
(18) ещё загадочнее, пример дан на сервере. А делай шишь знаешь как на клиенте, да и ещё и с массивом
   Reraru
 
20 - 14.01.20 - 19:49
Я так полагаю тут никто не знает как задать график через математическую функцию
   NorthWind
 
21 - 14.01.20 - 19:54
(20) вас в поисковиках забанили? Сказали же - использовать диаграмму. Далее https://yandex.ru/search/?text=диаграмма%20на%20управляемой%20форме%201с%208.3&clid=2186620&lr=9&redircnt=1579020791.1 и видим кучу ссылок
   Reraru
 
22 - 14.01.20 - 20:00
(17) (21) эта не та диаграмма
   NorthWind
 
23 - 14.01.20 - 20:02
диаграмма одна и та же. Серии разные. Вам нужна будет серия, которая нарисует точки и график.
   Reraru
 
24 - 14.01.20 - 20:03
(23) и как это лучше сделать? объясните мне пожалуйста
   NorthWind
 
25 - 14.01.20 - 20:06
Почитайте статьи. Добавьте реквизит формы Диаграмма и поработайте с сериями как там рекомендуют. С учетом того что вам не нужно собирать данные из БД, возможно, удастся обойтись вычислениями только на клиенте.
   Reraru
 
26 - 14.01.20 - 20:07
(25) как это происходит? как с сериями поработать? какие вычисления должны выйти?
   Reraru
 
27 - 14.01.20 - 20:10
(21) я использую диаграмму с настройкой график
   NorthWind
 
28 - 14.01.20 - 20:15
(26) когда вы добавляете точку на серию, у вас есть две координаты. Одна х, вторая значение вашей функции от х. В цикле считаете значение и добавляете. Работа с сериями описана в примерах и в синтакс-поиощнике. Можно для начала тупо подобавлять точки 1,1... 2,2... И посмотреть что будет получаться
   Reraru
 
29 - 14.01.20 - 20:20
(28) Серия = Диаграмма.Серии.Добавить("АБВГД");    
точки? тут параметр для того чтобы назвать серию
   Garykom
 
30 - 14.01.20 - 20:23
(29) Если вы впервые открыли конфигуратор то не уверен что сможете справиться с этой простейшей задачкой.
 
 
   Reraru
 
31 - 14.01.20 - 20:47
Точка = Диаграмма.УстановитьТочку(Значение);
но здесь одно значение
   NorthWind
 
32 - 14.01.20 - 21:18
(31) у вас еще есть ОсьТочек, которой вы можете задать минимальное и максимальное значение из выбранного вами диапазона, скажем, минимальное -10, максимальное 10. Далее добавляете точки в цикле от -10 до 10 с шагом 1, значение точки высчитываете по функции, и получаете график. По-моему, это сработает.
   Reraru
 
33 - 14.01.20 - 21:59
я не понимаю вас без кода и скриншотов (32) (6)
   NorthWind
 
34 - 14.01.20 - 22:19
код за вас вряд ли кто-то будет писать. Еще раз повторюсь - добавьте в серию несколько точек с произвольными значениями вроде 1,2,3. Без функции. И посмотрите какой график получится. Может, тогда дойдет.
   H A D G E H O G s
 
35 - 14.01.20 - 22:51
(0) Держи.
https://yadi.sk/d/0spwQw4hrC7K4Q

Не это не поможет тебе писать код
   H A D G E H O G s
 
36 - 14.01.20 - 22:51
Серия = Диаграмма.Серии.Добавить("АБВГД");    
        
    Для x = 1 По 10 Цикл
    
        Точка = Диаграмма.УстановитьТочку(x);
        y=pow(x,2)+1;
        Диаграмма.УстановитьЗначение(Точка, Серия, y);
            
    КонецЦикла
   Reraru
 
37 - 15.01.20 - 09:31
(36) (34) спасибо вам, я быстрее орентируюсь на шаблоне.
   Bigbro
 
38 - 15.01.20 - 09:37
(20) в институте не учился?
это не тривиальная задача на самом деле если не ограничиваться функциями вида y = k*x+c
области определения, значений функции, граничные значения, интервалы возрастания убывания гладкость разрывы, многозначность.
все это игнорируем?
   NorthWind
 
39 - 15.01.20 - 09:43
(38) уровень специалиста такой, что в дебри лучше не лезть. Похоже, что тут просто разместить диаграмму на форме уже будет за счастье.
   Reraru
 
40 - 15.01.20 - 18:31
(38) Не учился, но с радостью выслушаю и посмотрю как их возможно реализовать.
   Irbis
 
41 - 15.01.20 - 18:49
(40) Y=Х^X как будешь реализовывать? Может в институт лучше, ну хотя бы на пару лет.
   Михаил Козлов
 
42 - 15.01.20 - 18:53
(41) А в 1С y=pow(x,x) не сработает?
   Irbis
 
43 - 15.01.20 - 19:00
(42) Неужели сделали? Мне когда-то разложение в ряд пришлось писать.
   NorthWind
 
44 - 15.01.20 - 19:03
(43) любители Паскаля еще могут вспомнить, что была формула через логарифм. Правда, я не знаю как у 1С с логарифмами...
   NorthWind
 
45 - 15.01.20 - 19:05
Впрочем, в восьмерке можно не мучаться. Глобальный контекст (Global context)
Pow (Pow)
Синтаксис:

Pow(<Основание>, <Показатель>)
Параметры:

<Основание> (обязательный)

Тип: Число.
Основание операции возведения в степень. 
<Показатель> (обязательный)

Тип: Число. 
Показатель степени.
Возвращаемое значение:

Тип: Число.
Результат возведения в степень.
Описание:

Возводит число <X> в степень <Y>.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
   Irbis
 
46 - 15.01.20 - 19:06
(44) Ещё в клюшках были логарифмы, а вот возведения в дробную степень не было
   NorthWind
 
47 - 15.01.20 - 19:12
(46) там помимо натурального логарифма еще экспонента нужна была. Дробная степень не проблема.
   Провинциальный 1сник
 
48 - 15.01.20 - 19:18
(47) Экспоненту считать через ряд Маклорена. Долго, а что делать) Альтернативный вариант - таблицы Брадиса в памяти, с поиском и выдачей. Может быстрее будет)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.