Визуализация железнодорожного пути по массиву оцифрованных данных

Раздел IV. Новые информационные технологии

УДК 519.6

Я.Е. Ромм, Е.Ю. Шаповалова ВИЗУАЛИЗАЦИЯ ЖЕЛЕЗНОДОРОЖНОГО ПУТИ ПО МАССИВУ ОЦИФРОВАННЫХ ДАННЫХ

Излагается кусочно-полиномиальная схема визуализации кривых по оцифрованным значениям точек на основе кусочной интерполяции по Ньютону. Выводятся формулы для вычисления коэффициентов кусочно-полиномиальной интерполяции параметрически заданной кривой. Каждый аппроксимирующий полином приводится к каноническому виду и используется далее для вычисления производной первого порядка. На этой основе рассматриваются особенности отображения аппроксимирующего полинома, нормали и касательной в произвольной точке кривой.

Кусочно-полиномиальная интерполяция; аппроксимация контура; визуализация нормали и касательной к кривой.

Ya.E. Romm, E.U. Shapovalova VISUALIZATION OF RAILWAY BASED ON THE ARRAY OF THE DIGITIZED DATA

The Piecewise-polynomial scheme of visualization of curves using digital quantity ofpoints based on the piecewise Newton interpolation. Formula for calculation of coefficients of the piece-wise-polynomial interpolation of parametric curve is derived. Every polynomial approximant is adduced to the canonical form and used further for calculating of the first-order derivative. Representation trends of the polynomial approximant, normal and tangent in the random point of the curve is considered on this base.

Piecewise-polynomial interpolation; approximation of the contour; visualization of normal and tangent of a curve.

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

♦ расчёт геометрической формы проектируемых железнодорожных путей;

♦ расчет нормали и касательной в произвольной точке железнодорожных путей;

♦ визуализировать железнодорожные пути по оцифрованному массиву данных в зависимости от заданных характеристик или точек железнодорожного пути;

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

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

Разбиение на фрагменты. На входе метода дан набор кривых, представленный системой множеств:

и Аа ,

ае{к: 1<к<С1т}

где С\г - число кривых.

Каждой кривой соответствует конечное упорядоченное множество точек, задаваемых парой декартовых координат на плоскости:

Аа = и

-={1--Ч

где V - число точек для кривой.

Точки одного множества из (1) идут последовательно вдоль кривой от начала до ее конца. Это множество разбивается на пересекающиеся подмножества (для упрощения записи, если не оговорено иное, представлены только абсциссы):

X-, 1 < } < 1 + g},

где 1 - номер первого элемента в подмножестве, а g - число точек в подмножестве. Пересекаются соседние подмножества (в которых имеются соседние элементы множества Аа):

г <] <г + g}п{XI, г + g <I <г + 2• g} .

В дальнейшем используется подынтервал

[х1,х1+ g ]

где первый элемент подмножества становится началом, а последний - концом подынтервала.

Для каждого отдельно взятого подмножества (2) строится интерполяционный полином Ньютона следующим образом:

♦ каждая из введенных кривых может быть представлена в виде кривой Безье [2] степеней п = 1,2,3. Мы будем строить параметрическую кривую

при равномерно распределённом параметре t из промежутка 0 < t < 1. При этом t = 0 соответствует первой точке кривой, а t = 1 последней;

♦ строятся параметрические кривые /х (/) и / (^). (для абсцисс и ординат

соответственно);

♦ осью абсцисс для таких кривых будет подынтервал

1?/',^'+ g ],

соответствующий (3), где ti - параметр, соответствующий Xг-, а tj+g соответствует х+g (при этом параметр ti одинаков, как для Xг-, так и для уг).

Если в последнем подмножестве содержится меньше трёх точек, то эти точки объединяют с предыдущим подмножеством, а последнее подмножество стирается.

Итогом этой части работы является разбитая на подынтервалы (3) кривая, номер которой является входным параметром подпрограммы. На каждом отрезке (3) выполняется интерполяция последовательности точек (2) многочленом степени на единицу меньшей чем число точек в отрезке (для удобства визуализации выбран полином третьей степени).

Нахождение коэфициентов кусочно-полиномиальной интерполяции параметрически заданной кривой. Следуя [3], для каждого отдельно взятого подынтервала из (3) строится интерполяционный полином Ньютона степени n. При этом полином Ньютона, в общем случае, преобразуется по дистрибутивности с приведением подобных так, что в результате преобразования на i -м подынтервале принимает канонический вид полинома от одной переменной:

Pn

t e[ti’ti+m ] n = m’ i = 0,1,---,P -1 ,

где P - число подинтервалов.

Для каждого подынтервала набор коэффициентов записывается в память компьютера и делается хранимым. В дальнейшем, когда потребуется вычислить полином данного вида, значение номера i подынтервала служит математическим адресом выборки коэффициентов (5), взаимно однозначно соответствующим данному номеру подынтервала. Номер подынтервала определяется следующим образом: мы находим, какому подынтервалу соответствует точка и какой номер этого подынтервала в массиве. Найденный номер является искомым адресом.

Интерполяция по Ньютону осуществляется со следующими необходимыми для дальнейшего деталями. Если границы i -го подынтервала из (4) обозначить как

, bi0 - ai0 a0, bi0, шаг интерполяции - wt =------------, узлы интерполяции внутри интер-

1 1 n

вала будут равностоящими. Равенство не сохраняется для различных подынтервалов, т.к. все интерполируемые точки из файла не являются линейно зависящими.

Ниже рассматриваются случай, когда интерполируются абсциссы. Для ординат все вычисляется аналогичным образом. Полином Ньютона степени n на i -м подынтервале для подмножества (2) и для узлов интерполяции записывается в виде:

/ ч n Д— x J 1

* n, (t )=f (<, o )+Z —— П -1,),

j=i jЧ к=o

где Д x i0 - конечная разность j -го порядка в точке ti0 , f (t,) - интерполируемое значение, которое совпадает с x(t ), либо с y(t ), - в зависимости от того, интерполируются ли параметрически заданные абсциссы или ординаты.

- t - ti0

Приняв обозначения t =-----------, интерполяционную формулу Ньютона

можно записать в виде:

/ \ n Aa X j —1

^

j = 1 j ! k =0

Чтобы привести (6) к виду, аналогичному (5), можно предварительно вычислить конечные разности АХг0 = /(^г1) — /(^г0) первого порядка и конечные разности к -го порядка Ахю = А—1 1хII — А 1 х^о, а затем -

Ах(0

ЪИ =~т •

]!

С использованием (7) г ) из (6) принимает вид:

, \ П 1

^„

]=1 к=0

п-1

Каждое произведение вида Р . (^ ) = ГО — к) представляет собой разло-

к=0

жение полинома с некоторыми постоянными, но неопределенными коэффициентами Рп] () = do] + dl] t + d2] +... + dn] t п. Из последнего при использо-

вании обозначений 21 = I, I = 0,1,...,п — 1 следует:

л о;+^іД +... + (іп]1п -(Г - )(Г - г!)...(/ - ги_!).

Коэффициенты в левой части (9) восстанавливаются по значениям корней 2о, 2\, 2п—1 по схеме, представленной в [4] (классические схемы [5] вы-

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

Путем приведения подобных и приравнивания одинаковых коэффициентов в левых и правых частях (8) получится:

/ \ п І / \ п П у ч

* п (<)-/(',о)+! ьч 2 л,? - До )+£Жа- ) .

і-і ,-і ,-і і -,

Отсюда

І-і

где ао,/ - /(^о^ аІї/ -'2ьіу^іу ПРи ї -0,1,...,2к _ 1 .

У -1

Итак, получены коэффициенты для формулы (5), при этом они зависят от вида аппРоксимиРуемой функции и номеРа подынтеРвала.

На выходе работы подпрограммы формируется массив структур, содержащий информацию об аппроксимирующих полиномах в неканоническом виде для каждого сегмента (при программировании этой и следующей подпрограммы использовалось [6]). Способ записи информации об аппроксимирующих полиномах в каноническом виде для каждого сегмента будет рассмотрен непосредственно ниже.

Запись коэффициентов полинома Ньютона в каноническом виде. Представим разновидность формулы полинома произвольной степени с каноническими

коэффициентами, целесообразной для программной реализации. Для примера, выведем при П = 3 :

3

/ Й )=Е кг • •

'=0

~ к - а)- п Г

При этом I =±--------— , подставив и приведя подобные, мы получим:

Ь - а

/(і) = г3 • і3 - (3 • а • г3 - г2)• і2 + (э • а2 • г3 - 2 • а • г2 + г ) і -

3 2 і

- а • г3 + а • г2 - а • г + к0

где г =

к. • и'

(й - а)'

Обобщая для произвольного и [1]:

/ \ '

ї, (і )=І Г І С • Г-" •(- а)- + ко.

Программная реализация представлена в [1]. Из этой реализации требуется приводимая ниже система хранения коэффициентов (рис. 1):

Рис. 1. Структура хранения результатов работы программы

I=1 -=0

Вывод соотношения (10) программируется в двух функциях:

♦ вычисляет коэффициенты для конкретного сегмента конкретной кривой;

♦ сохраняет результаты по всем сегментам всех кривых в переменную (рис. 1).

После записи коэффициентов полинома Ньютона в каноническом виде аппроксимация выполнена полностью, и результаты её сохранены, теперь нужно отобразить результаты.

Отображение окна с графикой. Для построения землеотвода, необходимо провести две линии на равном расстоянии (равном коэффициенту безопасности) от железной дороги. Для этого необходимо иметь возможность рисовать нормаль. Это приводит к необходимости нахождения первой производной (воспользовавшись базовыми формулами из [7]) для полинома Ньютона п-й степени:

П

/(0=£ аг  *' > 0 < * < 1

7=0

где я. - коэффициент полинома Ньютона, приведенного к каноническому виду,

хранящийся как показано на рисунке (см. рис. 1). Отсюда производная имеет табличный вид:

п-1

//

г=0

С использованием формулы (11) было запрограммировано вычисление первой производной.

Для построения нормали была использована известная формула, учитывающая два факта: функция параметрическая и зависит от ?, 0 < / < 1,

у(х^) = у( ) . Отсюда, уравнение нормали к визуализированной линии железной дороги в выбранной пользователем точке имеет вид:

У

У

где х('^) = хг из (2). Касательная будет иметь вид:

у& ) = у '

В (12), (13) 10 - параметр, соответствующий начальной точке, в которой вычисляется нормаль и касательная. В дальнейшем будет использоваться обозначение х(/0 ) и у(/0 ) для абсциссы и ординаты этой точки.

Следующая задача, состоит в вычислении конечной точки нормали и касательной для определения длины и направления. Начальной точкой является та точка на кривой, из которой строится нормаль и касательная. Конечной будет точка, отстоящая от начальной на заданном расстоянии s. Очевидно, что абсциссы конечной точки будут равны:

-В ±л/В2-4АС

Х12= 2А ’

А = (1 + к2), В = 2кЬ -2х1 —2ухк, - С = -(52 - у\ - х\ - Ъ2 + 2уЬ), где, согласно (12), в случае нормали параметры определяются из соотношений:

к = - Уу'

ь = У('0) + -ф! •

У

а в случае касательной, согласно (13):

к = У ' ^0 ) ,

Ь = У(0 )- х(0 )- У '(?0 ) •

В каждой точке кривой существуют две нормали (внутренняя и внешняя) и две противоположных по направлению касательные. Поэтому нужен алгоритм, по которому из точек (14) всегда будут выбираться точки по одну сторону кривой. На данном этапе, для определённости, будет выбран положительный обход [8-10]. Положительное направление нормали может быть тем или иным образом согласовано с положительным направлением касательной; последнее совпадает с положительным направлением кривой. Положительное направление кривой определяется некоторым дополнительным условием (возрастание t, возрастание х и т.д.). В работе с целью определенности было выбрано возрастание t (рис. 2).

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

Рис. 2. Отображение взаимосвязи направления обхода кривой с параметром /

На выходе программы, полный код которой приводится в [1], искомая визуализация линии железной дороги с касательной и нормалью представляется в окне (рис. 3).

Рис. 3. Железнодорожный путь, нормаль и касательная в выбранной пользователем точке

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

Заключение. В работе выполнена кусочно-полиномиальная аппроксимация на основе полинома Ньютона оцифрованных координат железнодорожного пути, при этом интерполирующие полиномы представлены в канонической форме с за-

данными числовыми коэффициентами. На этой основе визуализируется линия пути, определяются кусочно-полиномиальные приближения производных, с помощью которых строятся касательные и нормали в визуализируемых точках.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Шаповалова Е.Ю. Визуализация железнодорожного пути по массиву оцифрованных данных / ТГПИ. - Таганрог, 2010. - 39 с. - Деп. в ВИНИТИ 30.08.2010, № 503 - В2010.

2. Шубко В.Г., Правдин Н.В., Архангельский Е.В., Болотный В.Я., Бураков В.А., Вакуленко С.П., Персианов В.А. Железнодорожные станции и узлы: учеб. для вузов ж.-д. трансп.). - М.: УМК МПС России, 2002.

3. Аксайская Л.Н. Разработка и исследование параллельных схем цифровой обработки сигналов на основе минимизации временной сложности вычисления функций: автореф. дисс. ... канд. тех. наук. - Таганрог: ЮФУ, 2008. - 18 с.

4. Ромм Я.Е. Локализация и устойчивое вычисление нулей многочлена на основе сортировки // II Кибернетика и системный анализ. - 2007. - № 2. - С. 161-174

5. Бахвалов Н.С. Численные методы (анализ, алгебра, обыкновенные дифференциальные уравнения). - М.: Наука, 1973. - 636 с.

6. William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian T. Flannery. Numerical Recipes. The Art of Scientific Computing. Third Edition - Cambridge University Press , 2007.

- 1262 p.

7. Старков С.Н. Справочник по математическим формулам и графикам функций для студентов. - СПб.: Питер, 2008. - 235 с.

8. Корн Г., Корн Т. Справочник по математике для научных работников и инженеров. - М.: Наука, 1973. - 832 с.

9. Блашке В. Введение в дифференциальную геометрию. - Ижевск: Издательский дом «Удмуртский университет». - 2000. - 232 с.

10. Бакельман И.Я., Вернер А.Л., Кантор Б.Е. Введение в дифференциальную геометрию «в целом». - М.: Наука, 1973. - 444 с.

Ромм Яков Евсеевич

ГОУВПО «Таганрогский государственный педагогический институт».

E-mail: romm@list.ru.

347924, г. Таганрог, ул. Воскова, 102, кв. 106.

Тел.: +78634601753; +78634601812; +78634601807; +78634601899.

Факс: +78634605397.

Кафедра информатики; заведующий кафедрой; д.т.н.; профессор.

Шаповалова Елизавета Юрьевна

E-mail: lifeforever@list.ru.

347900, г. Таганрог пер. 7 Новый, 1в.

Телефон: +79604503397.

Кафедра информатики; аспирант.

Romm Yakov Evseevich

Taganrog State Pedagogocal Institute.

E-mail: romm@list.ru.

102, Voskova Street, ap. 106, Taganrog, 347924, Russia.

Phone: +78634601753; +78634601812; +78634601807; +78634601899.

Fax: +78634605397.

The Department of Computer Science; Head the Department; Dr. of Eng. Sc.; Professor.

Shapovalova Elizaveta Ur’evna

E-mail: lifeforever@list.ru.

7, Novii lane, 1v, Taganrog, 347906, Russia.

Phone: +79604503397.

The Department of Computer Science; Postgraduate Student.