OberonCore https://forum.oberoncore.ru/ |
|
Модуль для графики https://forum.oberoncore.ru/viewtopic.php?f=35&t=5961 |
Страница 1 из 1 |
Автор: | Sergey Volkov [ Суббота, 26 Ноябрь, 2016 17:31 ] |
Заголовок сообщения: | Модуль для графики |
Здравствуйте! Я увидел, что в описаниях можно встретить модуль упрощенной графики Info21sysTPGraphics, но я его не нашёл в модулях ВВ. Существует ли на данный момент времени (26.11.2016) простой модуль для создания графиков функций? Спасибо |
Автор: | Иван Денисов [ Суббота, 26 Ноябрь, 2016 17:39 ] |
Заголовок сообщения: | Re: Модуль для графики |
Попробуйте мою подсистему для графиков! http://apps.blackboxframework.org/component/DiaPlot Рад буду ответить на вопросы и выслушать предложения. |
Автор: | Sergey Volkov [ Воскресенье, 27 Ноябрь, 2016 20:45 ] |
Заголовок сообщения: | Re: Модуль для графики |
Спасибо, Иван. Смотрю ваши видео на youtube https://www.youtube.com/watch?v=AAp9mVQ ... Elw5&t=11s |
Автор: | Иван Денисов [ Понедельник, 28 Ноябрь, 2016 06:19 ] |
Заголовок сообщения: | Re: Модуль для графики |
qrkx писал(а): Смотрю ваши видео на youtube Если смотрите уроки, то в Красноярской сборке и в новой сборке Интрон, которая ее заменила, встроена эта подсистема DiaPlot. |
Автор: | Sergey Volkov [ Суббота, 07 Январь, 2017 16:00 ] |
Заголовок сообщения: | Re: Модуль для графики |
Только сегодня добрался до 5-ой встречи. Взял blackbox-red по ссылке в уроке. Почти всё получилось, кроме некоторых моментов: Не получилось запустить график без этой вот строчки: 1. Код: Views.Update(axes, Views.keepFrames); 2. Код: axes.xmax := pos; axes.ymax := -1; axes.ymax := 1; Но это мелочи, потому что всё остальное просто фантастика!!! Спасибо огромное! |
Автор: | Sergey Volkov [ Воскресенье, 08 Январь, 2017 20:42 ] |
Заголовок сообщения: | Re: Модуль для графики |
Иван Денисов писал(а): qrkx писал(а): Смотрю ваши видео на youtube Если смотрите уроки, то в Красноярской сборке и в новой сборке Интрон, которая ее заменила, встроена эта подсистема DiaPlot. Сборка Интрон не понравилась, пока нравиться Red В функции SetStyle не поравилось, что компилятор просит ввести все аргументы Я не разобрался, как сохранять график в стандартный форматах изображения: jpg, png |
Автор: | Sergey Volkov [ Воскресенье, 15 Январь, 2017 12:24 ] | ||
Заголовок сообщения: | Re: Модуль для графики | ||
Получилось с помощью модуля DiaPlot сделать график. Где бы взять модуль, чтобы odc-график стал картинкой в формате png? Код программы надо смотреть в другой ветке: http://forum.oberoncore.ru/viewtopic.php?f=35&t=5991&start=40
|
Автор: | Иван Денисов [ Воскресенье, 15 Январь, 2017 14:08 ] |
Заголовок сообщения: | Re: Модуль для графики |
Напрямую это возможно делать через библиотеку FreeImage, но это достаточно нетривиально. В подсистеме Abf есть возможность импорта любых форматов, но в открытом доступе нет экспорта. Илья, а Вы не делали случайно экспортеры в рамках проекта Abf? |
Автор: | Sergey Volkov [ Воскресенье, 15 Январь, 2017 18:07 ] | ||
Заголовок сообщения: | Re: Модуль для графики | ||
Иван Денисов писал(а): Для быстрого решения проблемы рекомендую сохранять в bmp и потом преобразовывать любым доступным конвертером изображений. Что ж вы молчали В сборке Intron нашёл, как сохранить график: Plot -> save raster image Спасибо!!!
|
Автор: | Info21 [ Воскресенье, 15 Январь, 2017 18:40 ] |
Заголовок сообщения: | Re: Модуль для графики |
File --> Save as bmp есть (и всегда было) во всех сборках от Информатики-21. |
Автор: | Sergey Volkov [ Вторник, 17 Январь, 2017 21:09 ] | ||
Заголовок сообщения: | Re: Модуль для графики | ||
Спасибо за подсказки Я сделал график нечёткого множества в диалогов окне, теперь пора сложить его в exe-файл и порадовать мир этим творением Хотя для нормальной работы с вводом придётся писать парсер Есть в BB регулярные выражения?
|
Автор: | Иван Денисов [ Вторник, 17 Январь, 2017 21:32 ] |
Заголовок сообщения: | Re: Модуль для графики |
Поддержка регулярных выражений в языке не предусмотрена. Есть некая подсистема с поддержкой регулярных выражений, которая использует технологии на грани моего понимания... Какое-то наихитрейшее метарапрограммирование 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 Сначала идет подсчет числа элементов, потом для них создается массив, и затем заново сканируется строка, заполняя массив. После заполнения, данные выводятся в журнал. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |