Post Graph Editor (v1.44)

Быстрый старт

 

1. Возможности программы

2. Настройка параметров шкалы (осей) графиков

3. Оцифровка графиков

4. Работа с кубическими сплайнами при оцифровке

5. Подбор аппроксимирующей прямой

6. Построение нормального кубического сплайна

7. Построение 3D-сплайновых поверхностей: сплайн Безье, кубический сплайн

8. Использование Post Graph Editor'а для отображения данных в программах пользователя (режим командной строки)

 


 

1. Основные возможности программы

 

     Программа Post Graph Editor предназначена для полуавтоматической оцифровки любых отсканированных графиков. В качестве исходного материала программа использует графические файлы форматов: JPEG (.jpg) и Bitmap (.bmp). Для удобства предусмотрено построение кубического сплайна по снимаемым точкам в реальном времени с последующим использованием его для получения точек с произвольным шагом или заданной точностью.

    В общем случае процесс оцифровки состоит из следующих шагов:

- сканирование исходного графика в формат JPEG или Bitmap;

- открытие полученного графического файла в Post Graph Editor'е;

- настройка параметров шкалы графика (или графиков);

- снятие точек с использованием, если нужно, кубического сплайна (по интервалам или с заданной точностью);

- сохранение результатов в формате программы или в текстовом файле (.txt), или передача в Microsoft Excel, Microsoft Word.

    К дополнительным функциям программы следует отнести: подбор аппроксимирующих линейных или сплайновых функции для дискретных точек; возможность построения трехмерных сплайновых поверхностей по алгоритму Безье или кубических сплайнов; передачу в Microsoft Word графика или его фрагмента с наложенными кривыми; использование программы для просмотра файла графика с наложенными точками и кривыми пользователя извне (режим командной строки).


 

2. Настройка параметров шкалы графиков

 

     Диалоговое окно "Настройка параметров шкалы" вызывается из меню "Оцифровка" (Ctrl + P) или при нажатии на кнопку   панели быстрого запуска.

 

 

     Пункт "№" позволяет выбрать систему координат на редактирование по номеру (от 1 до 10). Данная опция имеет смысл в том случае, если на листе присутствует несколько координатных осей и для каждой пары необходимо задать свои параметры. Максимально возможное число систем координат - 10.

     Первое, что необходимо сделать, - задать начало координат (точку 0), нажав кнопку слева-внизу от "0" и указав соответствующую точку на графике (при этом курсор изменится на перекрестье - ). Как вариант, положение точки начала координат (в пикселях относительно левого верхнего угла изображения) можно ввести непосредственно в поля ввода, расположенные справа (ось X) и сверху (ось Y) от кнопки. Визуальная корректировка с шагом в 1 пиксель осуществляется с помощью кнопок и .

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

     Засечкам на оси Х и оси Y (в пикселях) необходимо сопоставить реальные значения с графика - поля ввода "Знач. Х" и "Знач. Y".

     Поля ввода "Min X" и "Min Y" задают начальные (минимальные) значения осей в том случае, если оси на графике отсчитываются не с 0 (в значениях графика).

     Поля ввода "Max X" и "Max Y" носят чисто информационный визуальный характер и просто задают отметки (в значениях графика), до которых отрисовываются оси.

     Пункт "Угол" задает угол поворота оси в градусах: с плюсом - против, с минусом - по часовой стрелке.

     Примечание: Пример отсканированного графика с выставленными осями находится в подкаталоге "Example_1" в папке установленной программы.

     Параметры всех осей координат сохраняются в файле, имя которого совпадает с именем исходного файла JPEG или Bitmap, но с расширением .ini. Файл .ini представляет собой стандартный текстовый файл системы Microsoft Windows, в котором сохраняются параметры объектов. Данный файл можно редактировать в любом текстовом редакторе (например, в "Блокноте").


 

3. Оцифровка графиков

 

     Примечание: Перед оцифровкой графиков необходимо выставить параметры координатных осей (см. п. 2).

     Диалоговое окно "Параметры графиков" вызывается из меню "Оцифровка" (Ctrl + D) или при нажатии на кнопку   панели быстрого запуска.

 

 

     Пункт "График" задает номер оцифровываемого (или накладываемого) графика в диапазоне от 1 до 50. Переключаться между графиками можно с помощью кнопок , или указав номер вручную.

     Поле ввода "Название" позволяет присвоить графику название, аннотацию, комментарии и т.п. Данное поле необязательное,  носит информационный характер и предусмотрено для удобства пользователя при дальнейшей работе со сплайнами.

     Пункт "№", расположенный внизу диалогового окна, привязывает график к конкретной системе координат (от 1 до 10), если таковых несколько (см. п. 2).

     Оцифровка графика (и его последующее редактирование) осуществляется при нажатии на кнопку (курсор изменится на перекрестье - ). Используя курсор мыши, необходимо на отсканированном графике ставить точки таким образом, чтобы соединение их прямыми или сплайновой кривой повторяло исходный график. При каждом снятии точки ее координаты заносятся в таблицу, а текстовый курсор переходит на следующую строчку. Т.е., чтобы переснять последнюю или вообще любую точку, достаточно поставить на нее текстовый курсор в таблице и заново указать положение на графике. Выбранная в таблице точка отображается крестиком. Допускается ручной ввод (корректировка) координат точек графика непосредственно в таблицу.

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

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

     Отжатое положение кнопок и скрывает на графике соединительные прямые или сплайн , а - снятые точки. Поле "Цвет" позволяет выбрать цветовую гамму для графика.

     Кнопка позволяет вставить строку (т.е. новую точку) в таблицу до выбранной. При этом, чтобы не разрушать график, координаты новой точки совпадают со следующей. Естественно, следует сразу же указать курсором (или задать вручную) координаты вставленной точки.

     Кнопка удаляет выбранную строку, а - очищает всю таблицу текущего графика (см. поле "График"). Для того, чтобы удалить информацию сразу обо всех графиках, предусмотрена кнопка .

     Полученные координаты текущего графика можно отправить в буфер обмена - , или сохранить в текстовом файле - (формат текстового файла - см. п. 8). Данные из буфера обмена впоследствии могут быть вставлены в Microsoft Word, Microsoft Excel, или в любой другой редактор электронных таблиц.

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

     Примечание: Одновременно с файлом .ini, программа создает файл с расширением .dat, в котором в двоичном виде записываются параметры всех графиков.

     Пользователь имеет возможность вставлять в таблицу свои точки, которые накладываются на отсканированный график. Для этого используется буфер обмена: нужно поставить курсор на нужную строку и нажать , предварительно поместив в буфер обмена информацию о точках (например, Microsft Excel: 2 столбца - Х и Y). Альтернативный вариант - режим командной строки (см. п. 8). 


 

4. Работа с кубическими сплайнами при оцифровке

 

     Использование нормального кубического сплайна (кнопка ) при снятии точек с отсканированного графика способствует более гладкому виду получаемой кривой. Кроме того, в отдельных случаях провести сплайн гораздо проще, чем просто соединять точки прямыми. 

     Примечание: Минимальное число точек для проведения сплайна - 3.

     В программе имеется возможность получить точки со сплайновой кривой с произвольным шагом на заданном(ых) интервале(ах) - кнопка , или просто указав точность снятия - кнопка . В последнем случае программа сама определит необходимое число точек, при соединении которых прямыми полученная ломанная будет приближена к сплайновой кривой с указанной точностью (линейная аппроксимация).

 

4.1. Снятие точек с кубического сплайна (кнопка )

 

 

     Пункт "График" позволяет выбрать номер графика, по точкам которого строится кубический сплайн, и соответственно с которого снимаются точки. Слева расположено поле ввода с названием графика или комментариями (см. п. 3).

     Справочные поля "Min X" и "Max Y" показывают минимальное и максимальное значения координаты Х графика.

     Пункт "Число интервалов" задает количество интервалов, на которое разбивается сплайновая кривая. Для каждого интервала необходимо задать: левую границу, правую границу и шаг, с которым на данном интервале будут сниматься точки.

     Совет: Допускается указывать левую и правую границы графика заведомо больше или меньше. Например, на приведенном выше рисунке минимальное значение по координате Х - 0.6., но первый интервал задан с 0. В этом случае программа автоматически изменит левую границу первого интервала на 0.6.

     После нажатия на кнопку "Снять точки" таблица справа заполняется полученными значениями X и Y.

     Полученные координаты можно отправить в буфер обмена - , или сохранить в текстовом файле - (формат текстового файла - см. п. 8). Кнопка очищает таблицы интервалов и значений.

 

4.2. Линейная аппроксимация кубического сплайна (кнопка )

 

 

     Как уже отмечалось выше, в данном режиме точки снимаются со сплайна с указанной точностью (поле ввода "Точность"). Чем ниже эта величина, тем точнее полученная по точкам ломаная будет приближена к сплайну, но и тем больше точек потребуется для этого.

     Назначение остальных информационных полей, получаемой таблицы и кнопок аналогично п. 4.1.

     Примечание: Вне зависимости от точности снятия полученный набор точек будет содержать все исходные (задаваемые) точки.


 

5. Подбор аппроксимирующей прямой

 

     Диалоговое окно "Подбор аппроксимирующей прямой" вызывается из меню "Функции" или при нажатии на кнопку   панели быстрого запуска.

 

 

     Данная функция позволяет для набора дискретных точек методом наименьших квадратов подобрать прямую, наиболее близко "подходящую" к средним значениям на интервалах. 

     После занесения точек (X, Y) в таблицу исходных данных, необходимо задать количество интервалов разбиения (пункт "Количество интервалов"). На каждом интервале будет рассчитано среднее значение (желтый треугольник) тех точек, которые попали в интервал. Далее методом наименьших квадратов относительно средних значений будет построена аппроксимирующая прямая (синий цвет).

     Примечание: исходные точки можно задавать в любой последовательности.

     Пункты "Min по оси X" и "Max по оси X" задают интервал построения аппроксимирующей прямой. Фактически они контролируют, какие средние значения будут использованы при определении параметров прямой. 

     Результат построения может быть распечатан на принтере - , сохранен в виде графического файла - , скопирован в буфер обмена - , или передан в Microsoft Word - .


 

6. Построение нормального кубического сплайна

 

     Диалоговое окно "Нормальный кубический сплайн" вызывается из меню "Функции" или при нажатии на кнопку   панели быстрого запуска.

 

 

     Данная опция вычисляет сплайновую кубическую функцию, проходящую через массив исходных точек. Помимо заданных точек необходимо указать шаг по оси Х (пункт "Шаг по оси Х). Чем меньше это значение, тем более плавным получается сплайн, но и тем больше необходимо вычислить точек для его построения.

     Примечание: Минимальное число точек для проведения сплайна - 3. Координаты точек по Х должны возрастать.

     Результат построения может быть распечатан на принтере - , сохранен в виде графического файла - , скопирован в буфер обмена - , или передан в Microsoft Word - .


 

7. Построение 3D-сплайновых поверхностей

   

     Диалоговое окно "Настройка сплайновой поверхности" вызывается из меню "Функции" или при нажатии на кнопку   панели быстрого запуска.

 

 

     Сплайновая поверхность строится путем деформирования двумерной сетки [X, Z] вдоль оси Y. Трехмерная интерактивная схема построения поверхности приведена в левой части диалогового окна.

     Координаты сетки (X и Z) задаются соответственно в нулевой строке и нулевом столбце (серый цвет), а координаты Y (Y = F(X,Z)) - непосредственно в таблице (белый цвет).

     Имеется возможность вставлять точки из буфера обмена. Например, поместив в Excel'е столбец с координатами в буфер обмена, его можно вставить как в строку таблицы - , так и в столбец - .

     Кнопка очищает таблицу от значений.

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

 

Сплайновая поверхность

 

 

Поверхность Безье

 

     Горячие клавиши для управления полученной поверхностью (H - подсказка):

Левая кнопка мыши и перемещение курсора - вращение поверхности в пространстве,
+ и - или колесо мыши - изменение общего масштаба построения,
"<" и ">" - изменение масштаба по оси Х (при нажатом Shift - по оси Z),
F1, F2, F3 - проекции на координатные оси,
X, Y, Z - сдвиг поверхности вдоль координатных осей (при нажатом Shift - в обратную сторону),
Пробел - показать/скрыть каркас и точки,
Правая кнопка мыши - возвращение в исходную позицию,
Ctrl + С - скопировать изображение в буфер обмена.


 

8. Использование Post Graph Editor'а для отображения данных в 

программах пользователя (режим командной строки)

   

     Post Graph Editor может быть использован в качестве инструмента для отображения данных пользователя на отсканированных графиках. Пользователь может запустить программу, указав необходимые параметры через командную строку. Для этого прежде всего необходимо создать текстовый файл следующего формата (например, cydrv.txt):

C:\Data\cydrv.jpg

GRAPH1

Cy(a)

ZOOM1

SPLINE0

COLOR$0000FF

SHOWPOINTS1

SHOWLINES0

 -2      0.00753322915293655

 -1.75   0.00753322915293655

 -1.5    0.00753322915293655

 -1.25   0.00753322915293655

 -1      0.00753322915293655

 -0.75   0.00753322915293655

 ...

 0       0.00753322915293655

 0.25    0.00753322915293655

 0.5     0.00753322915293655

 19.25   0.00648386985994786

 19.5    0.00646937945833598

 19.75   0.0064548890567241

 20      0.00644039865511221

END1

...

GRAPH50

Name of Graph 50

ZOOM1

SPLINE0

COLOR$FF00FF

SHOWPOINTS0

SHOWLINES1

 -2      0.00753322915293655

 ...

 20      0.00644039865511221

END50

 

     В первой строчке файла содержится имя файла JPEG или Bitmap с графиком (полный путь указывается при необходимости), на который предстоит поместить точки и кривые.

     Замечание: Так как все настройки осей находятся в файле с расширением .ini (см. п. 2), то в одной папке с графическим файлом должен находиться и соответствующий .ini файл (например, для приведенного выше текстового файла - cydrv.ini).

     Секция "GRAPH1" открывает описание первого отображаемого графика.

     Первая строчка каждой секции - название графика (в примере - Cy(a)). Этот параметр носит информационный характер и не является обязательным (см. п. 3). Однако, если нет необходимости в указании названия или иной информации, строчку следует оставить пустой, но не убирать ее.

     Секция "ZOOMN" соотносит график с конкретной системой координат: N меняется от 1 до 10 (см. п. 3). В примере, ZOOM1 - привязывает график к первой системе координат.

     Секция "SPLINEN" определяет, нужно ли использовать кубический сплайн при построении: если N = 1 (SPLINE1) - использовать сплайн, N = 0 (SPLINE0) - не использовать (как в примере).

     Секция "COLOR$BBGGRR" определяет цвет графика по трем составляющим: RR - красная, GG - зеленая, BB - синяя. Каждая составляющая задается в шестнадцатеричном виде (диапазон от 0 до FF) в обратном порядке, т.е. сначала идет синий цвет, потом зеленый и красный. Таким образом, COLOR$FF0000 - соответствует синему цвету, COLOR$00FF00 - зеленому, COLOR$0000FF - красному (как в примере), COLOR$0080FF - оранжевому и т.д.

     Секция "SHOWPOINTSN" задает видимость точек на графике: SHOWPOINTS1 (как в примере) - показывать точки, SHOWPOINTS0 - скрыть точки.

     Секция "SHOWLINESN" - то же самое, но с прямыми, соединяющими точки: SHOWLINES1 - соединять точки, SHOWLINES0 - не соединять (как в примере).

     Далее последовательно записываются координаты всех точек (X и Y) по одной на каждую строку. Между собой X и Y разделены символом табуляции (клавиша Tab, код - 09).

     Секция "END1" - завершает описание первого графика. Всего текстовый файл может содержать до 50 графиков.

     Запуск программы осуществляет из командной строки в следующем формате:

 

PGEditor.exe –v [Path]filename.txt [-del]

 

     Например, PGEditor.exe –v C:\Data\txt\filename.txt

     Если необходимо, чтобы после просмотра текстовый файл был удален, в конец добавляется ключ: -del

     Т.е., PGEditor.exe –v C:\Data\txt\filename.txt -del

     Примечание: Пример текстового файла с координатами точек (cydrv.txt) и запускающего командного BAT-файла (cydrv.bat) находится в подкаталоге "Example_2" в папке установленной программы.