Главная страница Векторные методы процессов ние новой точки определяется по формулам . x = Хг + [д* -Ха! cos a + [i/> -у] sin а; = й-[J --г! sin а + -у1 cos а. (6.77) В полученной точке вновь вычисляется функционал О lx, уЧ и проверяется знак разности G Ы, уЧ - I. Если соблюдается условие G 1 - / = О, то точка (дс*, уЧ находится точно на границе искомой области. Если имеет место случай 1, то нахождение следукмцен точки выполняется по формулам (6.76) в соответствии со знаком разности G Ы*), уЩ - I. Эта процедура продолжается до тех пор, пока случай 1 не перейдет в случай 2 или наоборот. Переход сопровождается переменой знака разности Угол ао делится на два или на три, и процесс продолжается до тех пор, пока угол щ не станет равным наперед заданному малому значению. При практических расчетах величина 1 Г отражает достаточную точность. Найденная таким образом точка границы принимается за новое значение [jCg, у], причем в качестве точки [х, у] берется прежняя точка [jCg. у\ и процесс повторяется. Все точки получаются на одинаковом расстоянии от границы, что не достигается при использовании алгоритма блуждания по вершинам квадратов. Объем вычислительной работы существенно уменьшается, при иcпoльзoвaни малых и фиксированных углов поворота. Приближенно можно считать sin а а; cos а л; 1 - а*/2. При а 5° ошибка составляет менее 10-*. Если точка находится внутри области, поворот по часовой стрелке с учетом параллельного переноса в точку [х, у\ осуществляется по формулам A; = Xa + (x-Xa)(l-aV2) + (f/ ~</a)a; . , 1/1 f/a-(x -Хо)а-f (i/ -</а) (1-aV2). Если точка находится вне области, поворот против часовой стрелки с учетом параллельного переноса в точку [х, yj выполняется по формулам ........... xi-Xa + (x -Xa)(l-aV2)-(i/>-f/,)a; /y=i;a+(x--) + (f/ ~№){i- y2). : Вычисления в значительной степени упрощаются, если повороты делать всегда на один и тот же угол. В этом случае для конкретной задачи величины sin а и cos а вычисляются только один раз и входят постоянными коэффициентами в формулы. Например, если взять а = 0,1 рад (5°4346 ), то имеем sin а = = 0,09983; cos а - 0,99500. .... г - Для данного угла имеем формулы: а) при повороте по часовой стрелке (G < /, точка внутри (Области) х = х + 0,99500 (Л - ха) + 0,09983 (у - у); У = Уг- 0,09983 {х> - х) + 0,99500 (у - у); б) при повороте против часовой стрелки (G > /, точка вне области) x = x + 0,99500 (х9 - лг) - 0.09983 (if - у\ уу- 0,09983 (х - х) + 0,99500 (tf - у}. Точность нахождения .границы увеличивается при использовании малых углов. Если отслеживаемый контур имеет сложную конфигурацию, то процедуру построения границы можно разделить на два этапа: поиск и уточнение границы. В режиме поиска используются большие углы; в режиме уточнения - малые. Величина угла о может быть выбрана из условия окончания слежения на каждом шаге: aoh < 8, где Л - шаг; 6-заданная точность. Если заданы точность и шаг, то угол определяется по формуле ао е/Л. Движение вдоль участков границы со сложной конфигурацией может осуществляться с переменным шагом. При введении переменного шага в формулы вносятся изменения. Пусть длина шага при переходе из точки Ixy, уу] в точку [х, у\ равна 1, а из точки [xg, у в точку [х, \ равна t. Тогда q = IJl - число, показывающее, во сколько раз следующий шаг меньше предыдущего. Координаты новой точки находятся по формулам х\ = = (q + 1) JCa - qxy, у = (<? + 1) i/a - ЯУг- Использование переменного шага и угла приводит к адаптивному способу слежения вдоль границы. В зависимости от условий движения, конфигурации области и других факторов могут изменеться шаг, углы, выбираться различная точность. Как в режиме поиска, так и в режиме уточнения может быть использовано несколько этапов. Такое дробление на этапы, по-видимому, целесообразно применять при увеличении отдельных участков областей путем введения в программу надлежащего масштабирования. Изложенные методы использовались для построения областей устойчивости и подобластей с заданным расположением собственных чисел исходной матрицы А системы х = Ах -Ь -f- F (f), а также применялись для автоматизации отслеживания линий равного уровня. Программа слежения по контуру без адаптации содержит 337 операторов, с, адаптацией - 425 операторов. Представляет практический интерес использование симплексного принципа слежения вдоль границы. Пусть осуществляется движение по прямой по направлению к границе с некоторым шагом. Выход на границу определяется тем, что значения функционала G в двух последовательных
|
© 2000 - 2024 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования. |