OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 24 Январь, 2019 16:46

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Модуль для графики
СообщениеДобавлено: Суббота, 26 Ноябрь, 2016 17:31 

Зарегистрирован: Суббота, 26 Ноябрь, 2016 17:01
Сообщения: 14
Здравствуйте!

Я увидел, что в описаниях можно встретить модуль упрощенной графики Info21sysTPGraphics, но я его не нашёл в модулях ВВ.

Существует ли на данный момент времени (26.11.2016) простой модуль для создания графиков функций?

Спасибо


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль для графики
СообщениеДобавлено: Суббота, 26 Ноябрь, 2016 17:39 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2247
Попробуйте мою подсистему для графиков!
http://apps.blackboxframework.org/component/DiaPlot
Рад буду ответить на вопросы и выслушать предложения.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль для графики
СообщениеДобавлено: Воскресенье, 27 Ноябрь, 2016 20:45 

Зарегистрирован: Суббота, 26 Ноябрь, 2016 17:01
Сообщения: 14
Спасибо, Иван.
Смотрю ваши видео на youtube
https://www.youtube.com/watch?v=AAp9mVQ ... Elw5&t=11s


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль для графики
СообщениеДобавлено: Понедельник, 28 Ноябрь, 2016 06:19 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2247
qrkx писал(а):
Смотрю ваши видео на youtube

Если смотрите уроки, то в Красноярской сборке и в новой сборке Интрон, которая ее заменила, встроена эта подсистема DiaPlot.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль для графики
СообщениеДобавлено: Суббота, 07 Январь, 2017 16:00 

Зарегистрирован: Суббота, 26 Ноябрь, 2016 17:01
Сообщения: 14
Только сегодня добрался до 5-ой встречи.
Взял blackbox-red по ссылке в уроке.
Почти всё получилось, кроме некоторых моментов:

Не получилось запустить график без этой вот строчки:

1.
Код:
Views.Update(axes, Views.keepFrames);


2.
Код:
axes.xmax := pos;
axes.ymax := -1;
axes.ymax := 1;


Но это мелочи, потому что всё остальное просто фантастика!!!

Спасибо огромное!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль для графики
СообщениеДобавлено: Воскресенье, 08 Январь, 2017 20:42 

Зарегистрирован: Суббота, 26 Ноябрь, 2016 17:01
Сообщения: 14
Иван Денисов писал(а):
qrkx писал(а):
Смотрю ваши видео на youtube

Если смотрите уроки, то в Красноярской сборке и в новой сборке Интрон, которая ее заменила, встроена эта подсистема DiaPlot.


Сборка Интрон не понравилась, пока нравиться Red

В функции SetStyle не поравилось, что компилятор просит ввести все аргументы

Я не разобрался, как сохранять график в стандартный форматах изображения: jpg, png


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль для графики
СообщениеДобавлено: Воскресенье, 15 Январь, 2017 12:24 

Зарегистрирован: Суббота, 26 Ноябрь, 2016 17:01
Сообщения: 14
Получилось с помощью модуля DiaPlot сделать график.
Где бы взять модуль, чтобы odc-график стал картинкой в формате png?

Код программы надо смотреть в другой ветке:
http://forum.oberoncore.ru/viewtopic.php?f=35&t=5991&start=40


Вложения:
fuzzysetgraf.png
fuzzysetgraf.png [ 20.61 КБ | Просмотров: 3584 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль для графики
СообщениеДобавлено: Воскресенье, 15 Январь, 2017 14:08 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2247
Напрямую это возможно делать через библиотеку FreeImage, но это достаточно нетривиально.
В подсистеме Abf есть возможность импорта любых форматов, но в открытом доступе нет экспорта.
Илья, а Вы не делали случайно экспортеры в рамках проекта Abf?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль для графики
СообщениеДобавлено: Воскресенье, 15 Январь, 2017 14:11 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2247
Для быстрого решения проблемы рекомендую сохранять в bmp и потом преобразовывать любым доступным конвертером изображений.


Вложения:
save_bmp.png
save_bmp.png [ 93.21 КБ | Просмотров: 3572 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль для графики
СообщениеДобавлено: Воскресенье, 15 Январь, 2017 18:07 

Зарегистрирован: Суббота, 26 Ноябрь, 2016 17:01
Сообщения: 14
Иван Денисов писал(а):
Для быстрого решения проблемы рекомендую сохранять в bmp и потом преобразовывать любым доступным конвертером изображений.


Что ж вы молчали :D

В сборке Intron нашёл, как сохранить график: Plot -> save raster image

Спасибо!!!


Вложения:
save2bmp.png
save2bmp.png [ 28.01 КБ | Просмотров: 3556 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль для графики
СообщениеДобавлено: Воскресенье, 15 Январь, 2017 18:40 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7947
Откуда: Троицк, Москва
File --> Save as bmp есть (и всегда было) во всех сборках от Информатики-21.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль для графики
СообщениеДобавлено: Вторник, 17 Январь, 2017 21:09 

Зарегистрирован: Суббота, 26 Ноябрь, 2016 17:01
Сообщения: 14
Спасибо за подсказки

Я сделал график нечёткого множества в диалогов окне, теперь пора сложить его в exe-файл
и порадовать мир этим творением :D

Хотя для нормальной работы с вводом придётся писать парсер

Есть в BB регулярные выражения?


Вложения:
FuzzySetDialog.png
FuzzySetDialog.png [ 28.07 КБ | Просмотров: 3412 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль для графики
СообщениеДобавлено: Вторник, 17 Январь, 2017 21:32 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2247
Поддержка регулярных выражений в языке не предусмотрена.

Есть некая подсистема с поддержкой регулярных выражений, которая использует технологии на грани моего понимания... Какое-то наихитрейшее метарапрограммирование :-)
http://zinnamturm.eu/downloadsAC.htm#CpcRegul

Однако для Вашей задачи в качестве парсера отлично подойдет модуль TextMappers.
Вот накидал пример, который вам поможет сделать удобный ввод данных:

Код:
MODULE DemoMappers;
   IMPORT  Log, TextModels, TextMappers;
   
   VAR
      a: POINTER TO ARRAY OF REAL;
      input*: ARRAY 256 OF CHAR;
      
   PROCEDURE Do*;
      VAR s: TextMappers.Scanner; m: TextModels.Model; i: INTEGER;
   BEGIN
      m := TextModels.dir.NewFromString(input);
      s.ConnectTo(m);
      i := 0;
      REPEAT
         s.Scan();
         IF (s.type = TextMappers.real) OR (s.type = TextMappers.int) THEN
            INC(i)
         END;
      UNTIL s.type = TextMappers.eot;

      NEW(a, i);
      i := 0;
      s.SetPos(0);
      REPEAT
         s.Scan();
         IF s.type = TextMappers.real THEN
            a[i] := s.real;
            INC(i)
         ELSIF s.type = TextMappers.int THEN
            a[i] := s.int;
            INC(i)
         END;
      UNTIL s.type = TextMappers.eot;
      
      
      FOR i := 0 TO LEN(a) - 1 DO
         Log.Real(a[i]); Log.Ln
      END
   END Do;

BEGIN
   input := "6 7 8 9 9.356 5.6 4.4534"
   
   
END DemoMappers.

DemoMappers.Do


Сначала идет подсчет числа элементов, потом для них создается массив, и затем заново сканируется строка, заполняя массив. После заполнения, данные выводятся в журнал.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB