Для взятия предметов и манипулирования с ними необхо димо определить ряд характеристик положения предметов на плоскости, так, для круглых предметов достаточно определить координаты геометрических центров, для прямоугольных — коор динаты центра и угол наклона одной из граней относительно координатных осей, для предметов более сложных форм — коор динаты точек, однозначно определяющих положение предмета на плоскости.
Будем считать, что ситуация на рабочем поле воспроизво дится с помощью матрицы Я (X, Y) размером я X т, где X и Y — координатные оси рабочего поля, а элементы матрицы Я {xt, yj) £
£ {0,1} и Я (х., у,) = 0 при xt, уг < 0 и xL(г/;) > я (т). Введем над матрицами \Н\ булевые операции. Результатом булевой опе рации над матрицами Я1( Я2, . . ., Hs будет матрица Я, эле
менты которой получаются в результате выполнения той же бу
левой |
операции |
над соответствующими |
элементами |
матриц Я 1( |
Я 2, |
• |
• |
•, Я8. Кроме того, введем |
операцию сдвига |
матрицы Я |
по осям X и Y. Матрица Я (X + б, Y + |
|
у) получается из матрицы |
Я (X, |
|
Y) сдвигом всех элементов на величину б по оси X и у по |
оси |
Y. |
|
1. |
|
|
|
|
|
|
|
Определение |
|
|
|
|
|
|
|
|
Матрица Я (X, Y) содержит изолированную единицу с коорди |
натами |
(Х:, г/;-), |
если |
( 1 |
при X — X;, |
|
Y = |
у:\ |
|
|
|
|
Н(Х, К )= |
, |
1 |
|
|
|
n |
v |
xt ± |
J7 |
|
|
|
v |
|
[ 0 |
при X = |
|
1, |
Y = у,- ± |
1. |
Пусть Я (X, Y) содержит любые массивы единиц, среди кото рых имеются изолированные единицы с координатами (хп , г/;1),
(xi2, Уп)> • • ■- (%, У/*). а матрица Я* (X, Y) содержит только
изолированные единицы, причем все, находящиеся в матрице
Я(X, Y). Тогда справедлива следующая теорема. Теорема 1.
Я* (X, Y) = H(X, Y) Д Я ( Х + 1 , Y) Д
Я(X — 1, К + Г ) Д Я(Х, Y - 1 ) А
Я ( Х - 1 , Y).
Доказательство. Для любой неизолированной единицы хотя бы один из сомножителей в правой части равен 0. С другой сто роны, для любой изолированной единицы согласно определению 1 все сомножители равны 0.
Определение 2. |
матрицами \Н\. |
Введем ряд операторов над |
1) Оператор «сжатия» по оси Y: |
|
p ir |
| |
FAH, X, т )= |
л |
Н(Х, Y + y). |