КРУГОВАЯ ИНТЕРПОЛЯЦИЯ
ПО МЕТОДУ ОЦЕНОЧНОЙ ФУНКЦИИ
Применение метода оценочной функции при круговой интерполяции осуществляется в том же порядке, что и при линейной интерполяции. Уравнение окружности запишем в форме
xi2 + yi2 = R2.
Оценочной функцией Fi для окружности является выражение
Fi = xi2 + yi2 − R2, где xi, yi – текущие значения координат траектории; R – радиус окружности.
Знак оценочной функции в предыдущем такте управления определяет операцию в последующем такте. Для интерполирования дуги окружности задается номер квадранта и координаты начальной х0, у0 и конечной хk, уk точек дуги. Для воспроизведения дуги окружности в положительном направлении (против часовой стрелки) в первом квадранте осуществляется следующий алгоритм управления (рис. 9).
Рис. 9. Круговая интерполяция по методу оценочной функции
Если Fi ≥ 0 (точка находится вне окружности или на ней), то очередной шаг делается вдоль отрицательного направления оси X,
т. е. хi+1 = х1 – 1; если Fi < 0 (точка находится внутри окружности), то очередной шаг делается в положительном направлении оси Y, т. е. yi+1 = yi + 1.
После очередного шага по оси X получим новое значение оценочной функции:
Fi+1 = (xi – 1)2 + y2i – R2 = Fi – 2xi + 1,
которое отличается от предыдущего на величину (–2хi +1). После шага по оси Y новое значение оценочной функции
Fi+1 = xi2 + (yi +1)2 – R2 = Fi + 2yi + 1 отличается от предыдущего на величину 2уi +1.
В таблице 6 для примера приведено вычисление шагов, необходимых для воспроизведения дуги окружности с параметрами К = 20; хn = 20; уо = 0:
№ п/п |
Оценочная функция |
Шаг по осям |
Текущие координаты |
||
X |
Y |
Xi |
Yi |
||
0 |
F0 = 0 |
– |
– |
20 |
0 |
1 |
F1 = 0–2·20+1 = –39 |
1 |
0 |
19 |
0 |
2 |
F2 = –39+2·0+1 = –38 |
0 |
1 |
19 |
1 |
3 |
F3 = –38+2·1+1 = –35 |
0 |
1 |
19 |
2 |
4 |
F4 = –35+2·2+1 = –30 |
0 |
1 |
19 |
3 |
5 |
F5 = –30+2·3+1 = –23 |
0 |
1 |
19 |
4 |
6 |
F6 = –23+2·4+1 = –14 |
0 |
1 |
19 |
5 |
7 |
F7 = –14+2·5+1 = –3 |
0 |
1 |
19 |
6 |
8 |
F8 = –3–2·6+1= +10 |
0 |
1 |
19 |
7 |
9 |
F9 = 10–2·19+1= –27 |
1 |
0 |
18 |
7 |
10 |
F10 = –27+2·7+1= –12 |
0 |
1 |
18 |
8 |
11 |
F11 = –12+2·8+1= +5 |
0 |
1 |
18 |
9 |
12 |
F12 = +5–2·18+1= –30 |
1 |
0 |
17 |
9 |
13 |
F13 = –30–2·9+1= –11 |
0 |
1 |
17 |
10 |
14 |
F14 = –11+2·10+1= +10 |
0 |
1 |
17 |
11 |
15 |
F15 = +10–2·17+1= –23 |
1 |
0 |
16 |
11 |
16 |
F16 = –23+2·11+1= 0 |
0 |
1 |
16 |
12 |
17 |
F17 = 0–2·16+1= –31 |
1 |
0 |
15 |
12 |
18 |
F18 = –31+2·12+1= –6 |
0 |
1 |
15 |
13 |
19 |
F19 = –6+2·13+1= +21 |
0 |
1 |
15 |
14 |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.