END IF

yerr = yerr + yn ' погрешность по ординате

IF yerr > 0 THEN

yerr = yerr - max: у = у + yd 'изменение ординаты END IF

GOSUB drawp 'построение текущей точки NEXT i NEXT j RETURN

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

drawp:

kclr% = POINT(x, у)

IP kurclr% < 0 OR kclr% = 5 THEN RETURN

IF kcirt = 0 THEN PRESET (x, y), my: RETURN

IF kclr% = ym THEN PRESET (x, y), 5: RETURN RETURN

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

Если вы сделали все правильно и сумели подобрать окраску левого и правого изображений, то у вас должна получиться замкнутая ломаная, завязанная в хитрый узел и помещенная внутрь дисплея. При этом надпись "АНАГЛИФ" и три точки ломаной должны зрительно восприниматься так, как будто они находятся в плоскости экрана. Если же вы перепутали цвета для левого и правого глаза, то ломаная будет находиться вне дисплея.

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

Начнем с описания синтаксиса точки. Идентификатор_точки,абсцисса,ордината,аппликата.

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