Относительная система координат. Позиционирование Относительная система координат

Координаты, которые указывают местоположение точки, учитывая систему координат экрана, называются абсолютными координатами . Например, PSET(100,120) - означает, что на экране появится точка на 100 пикселей правее и 120 пикселей ниже левого верхнего угла, т.е. начала координат экрана.

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

Кроме абсолютных в QBASIC’е используются еще и относительные координаты. Эти координаты показывают величину перемещения ТПС. Чтобы нарисовать новую точку, используя относительные координаты, нужно использовать ключевое слово STEP(X,Y), где Х и У - смещение координат относительно ТПС.

Например, PSET STEP(-5,10) - при этом появится точка, положение которой будет левее на 5 и ниже на 10 точек относительно точки последней ссылки. То есть, если точка последней ссылки имела координаты, например, (100,100), то получится точка с координатами (95,110).

Рисование линий и прямоугольников.

LINE(X1,Y1)-(X2,Y2),C - рисует отрезок, соединяющий точки (Х1,У1) и (Х2,У2), цветом С.

Например, LINE(5,5)-(10,20),4

Результат: 5 10

Если не указывать первую координату, то будет проведен отрезок из ТПС в точку с координатами (Х2, У2).

LINE(X1,Y1)-(X2,Y2), C, В - рисует контур прямоугольника с концами диагонали в точках (Х1,У1) и (Х2,У2), С - цвет, В - маркер прямоугольника.

Например, LINE(5,5)-(20,20), 5, В

Результат: 5 20


Если вместо маркера В указать ВF, то будет нарисован закрашенный прямоугольник (блок):

LINE(X1,Y1)-(X2,Y2),C, BF

Например, LINE(5,5)-(20,20),5, BF

Результат: 5 20

Рисование окружностей, элипсов и дуг.

CIRCLE(X,Y), R, C - рисует окружность с центром в точке (Х,У), радиусом R, цветом С.

Например, CIRCLE(50,50), 10, 7

Результат:

50

CIRCLE(X,Y), R, C, f1, f2 - дуга окружности, f1 и f2 значения углов дуги в радианах от 0 до 6.2831, определяющие начало и конец дуги.


CIRCLE(X,Y), R, C, е - элипс, с центром в точке(Х,У), радиусом R, е -- отношение вертикальной оси к горизонтальной.

Например, CIRCLE(50,50), 20, 15, 7, 1/2

Результат: 30 50 70


В случае необходимости, после параметра С можно указать значения углов дуги элипса f1 и f2.

PAINT(X,Y), C, K - закрасить цветом С фигуру, нарисованную цветом К, (Х,У) - точка, лежащая внутри фигуры. Если цвет контура совпадает с цветом закраски, то указывают только один цвет: PAINT(X,Y), C

Например, надо закрасить окружность CIRCLE(150,50), 40, 5 цветом 4. Для этого надо выполнить оператор PAINT(150,50), 4, 5 , т.к. центр окружности точно лежит внутри закрашиваемой фигуры, мы использовали его как внутреннюю точку.

Решение задач.

Задача 1.

Нарисовать четыре точки, которые лежат на одной горизонтальной прямой на расстоянии 20 пикселей друг от друга. Точка последней ссылки имеет координату (15, 20).

Решение:ПРИМЕЧАНИЯ .

SCREEN 9: COLOR 5,15:REM графич. режим, фон 5, цвет 15

CLS:REM очистка экрана

PSET(15,20) :REM рисует точку с координатами (15,20)

PSET STEP(20,0) :REM рисует точку со смещением
PSET STEP(20,0) :REM относительно последней на 20

PSET STEP(20,0) :REM пикселей по оси ОХ.

Результат: 15 35 55 75


20. . . .

Задача 2.

Нарисовать три окружности, центры которых лежат на одной горизонтальной прямой на расстоянии 30 пикселей друг от друга. Радиусы окружностей равны 20, центр первой окружности совпадает с центром экрана.

Решение.

SCREEN 9 120 150 180

CIRCLE STEP(0, 0), 20, 15 100

CIRCLE STEP(30, 0), 20, 15

CIRCLE STEP(30, 0), 20, 15

Задача 2.

Построить четырехугольник с вершинами (10,15), (30,25), (30,5) и (20,0).

LINE (10,15)-(30,25), 5

LINE - (30, 5),5

LINE - (25,0), 5

LINE - (10,15), 5

РЕЗУЛЬТАТ: 5 10 20 25 30

15

Напишите программу рисования произвольной картинки.

Полезный совет : Прежде, чем начать писать программу, нарисуйте картинку на листке в клетку и расставьте нужные координаты. Вы сразу увидите, какие числа будут в качестве операндов в Вашей программе.

CSS -P, а во-вторых, он поддерживается только браузерами Netscape.

И его программирование на JavaScript - это сплошное "минное поле " между двумя основными браузерами. При просмотре этих страниц следует отдавать себе отчет в том, что для каждого браузера загружается своя страница описания свойств позиционирования и программирования этих свойств.

До появления CSS-P единственным средством относительно точного позиционирования были таблицы. Они позволяли точно расположить компоненты HTML-страницы относительно друг друга на плоскости. CSS-P позволяет точно разместить элемент разметки не только относительно других компонентов страницы, но и относительно границ страницы.

Кроме того, CSS-P добавляет странице еще одно измерение - элементы разметки могут "наезжать" друг на друга.

При этом можно менять порядок "наезда" - перекладывать слои . Чтобы в этом убедиться, достаточно воспользоваться ссылкой из приведенного примера.

Но и это еще не все.

Слои можно проявлять. (открыть)


Рис. 5.1.


Рис. 5.2.

Термин " слой " вместо "блочный элемент разметки " используется здесь по той причине, что он лучше отражает эффект, который достигается за счет позиционирования , а вовсе не в пику приверженцам Microsoft.

Теперь переходим к обсуждению атрибутов позиционирования . (открыть)


Рис. 5.3.


Рис. 5.4.

Координаты и размеры

Стандарт CSS-P позволяет с точностью до пиксела разместить блочный элемент разметки в рабочем поле окна браузера. При таком подходе возникает естественный вопрос: как устроена система координат , в которой автор страницы производит размещение ее компонентов.

CSS-P определяет две системы координат : относительную и абсолютную . Это позволяет обеспечить гибкость размещения элементов как относительно границ рабочего поля окна браузера, так и относительно друг друга.

Блоки - это не абстрактные точки, которые не занимают на плоскости страницы места. Блоки представляют собой прямоугольники, которые "заметают" площадь . Текст и другие компоненты страницы под блоком становятся недоступны пользователю, поэтому линейные размеры блока имеют для создания HTML-страниц не меньшее значение , чем его координаты .

При использовании " абсолютных " координат точка отсчета помещается в верхний левый угол родительского блока (например, окна браузера), а оси X и Y направлены вправо по горизонтали и вниз по вертикали, соответственно:


Рис. 5.5.

Если в этой системе координат некоторый блочный элемент должен быть размещен на 10 px ниже верхнего обреза рабочей области браузера и на 20 px правее левого края рабочей области браузера, то его описание будет выглядеть следующим образом:

Example { position:absolute;top:10px; left:20px; }

В данной записи тип системы координат задан атрибутом position (значение - absolute ), координата X задана атрибутом left (значение - 20 px ), координата Y - атрибутом top (значение - 10 px ).

Атрибуты top и left определяют координаты верхнего левого угла блока в абсолютной системе координат . (открыть)


Рис. 5.6.

Значения координат могут быть и отрицательными. Для того, чтобы убрать из отображаемой области блок с линейными размерами 100 px (высота) на 200 px (ширина), достаточно позиционировать его следующим образом: (открыть)

Example { position:absolute; top:-100px;left:-200px; width:200px;height:100px; }


Рис. 5.7.

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

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

В качестве точки отсчета в этой системе координат выбрана точка размещения текущего блока по умолчанию. Ось X при этом направлена горизонтально вправо, а ось Y - вертикально вниз.

Чтобы задать координаты блока, в этой системе применяют запись типа: (открыть)

Этот блок находится в точке отсчета относительных координат
А этот блок смещен вправо на 50px


Рис. 5.8.

Для работы с относительной системой координат лучше пользоваться универсальными блоками DIV . Это связано с тем, что в Netscape Navigator, например, параграф не может содержать параграфов. Любой блок немедленно закрывает параграф, следовательно, вложить в него что-либо нельзя.

В относительной системе

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

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

Место самолета может быть получено непосредственно и косвенно. Непосредственное определение МС производится по фиксации момента пролета ВС над опознанным ориентиром и с помощью технических средств самолетовождения. В первом случае, как правило, визуально отмечается момент, когда самолет находится строго над каким-либо ориентиром (объектом). Это наиболее надежный способ определения МС. Однако здесь чрезвычайно важно достоверно опознать ориентир, так как ошибка может привести к потере ориентировки.

Непосредственное определение МС с помощью технических средств самолетовождения достигается фиксацией момента пролета над радиолокационным ориентиром или радиомаяком. Косвенное определение МС осуществляется измерением некоторых параметров, например азимута, дальности, высоты небесного светила и т. п., находящихся в функциональной зависимости от взаимного положения ВС и внешнего "источника навигационной информации. В результате измерения получают координаты МС, соответствующие моменту определения, но чаще всего в системе координат, отличной от той, в которой ведется контроль пути (счисление). Они требуют дальнейшего преобразования. В качестве источников позиционной информации используются наземные радиомаяки, визуальные и радиолокационные ориентиры, небесные тела естественного и искусственного происхождения.

Координаты МС, полученные на основании внешней информа­ции, называют абсолютными, так как не зависят от навигационного и пилотажного режимов полета, дальности и продолжительности полета до момента определения МС. Точность абсолютных координат определяется только средствами и условиями измерения, а также взаимным расположением самолета и источника позиционной информации.

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

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

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

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

Счисление пути позволяет определять координаты МС относительно ранее определенных-абсолютных. Таким образом, в результате счисления пути координаты текущего МС как бы «сохраняются» во времени и пространстве между моментами определения абсолютных координат.

Основной недостаток счисления пути заключается, в том, что только стоит нарушиться системе счисления, например при отказе электропитания навигационного комплекса, как восстановить текущие координаты МС уже невозможно. Для этого необходимо определять абсолютные координаты.

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

ОТНОСИТЕЛЬНАЯ СИСТЕМА КООРДИНАТ

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

После вызова команды в автоменю будут доступны следующие опции:

Параметры системы координат

Центр системы координат

Ось X системы координат

Ось Y системы координат

Выйти из команды

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

Опция ввода параметров по умолчанию позволяет пользователю все перечисленные параметры задавать определёнными цифровыми значениями в окне диалога “Параметры системы координат”.

Для задания относительной системы координат достаточно задать центр и одну из осей создаваемой системы координат. После этого достаточно воспользоваться кнопкой

ЧПУ самостоятельно рассчитает недостающую ось создаваемой системы координат.

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

НАСТРОЙКА ПРОЕКТА

При эксплуатации версии T-FLEX ЧПУ 2D пользователь может создавать траектории обработки и по ним управляющие программы для разных видов обработки (от электроэрозионной до фрезерной) на одном чертеже обрабатываемой детали. Например, сначала технолог-программист делает всю механообработку, а затем электроэрозионную. Все необходимые настройки технолог-программист производит в рабочем окне настройки проекта, появляющемся при вызове команды:

В примере на рисунке в списке составных траекторий присутствует две позиции. «Обработка 1» включает в себя всё сверление и фрезерование обрабатываемой детали. «Обработка 2» пустая, но может включать в себя, например, обработку детали с другой стороны (за другой установ) или обработку с этой же стороны, но другого вида (электроэрозионную или лазерную), или какой-либо другой вариант.

Клавиши [Добавить] и [Удалить]

служат соответственно для ввода новой позиции в список составных траекторий или удаления старой позиции.

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

Кроме того, составляющие части активной составной траектории отображаются одним цветом, а существующие траектории - другим цветом.

Создание управляющей программы

СОЗДАНИЕ УПРАВЛЯЮЩЕЙ ПРОГРАММЫ

После того как технолог-программист подготовит в системе траекторию обработки, ему необходимо также сгенерировать управляющую программу для используемого станка, с тем постпроцессором, с которым работает данный станок. Для этого в случае 2D, 2.5D и 4D обработки используется команда:

«ЧПУ|Сохранение G- программы»

Для траекторий 3D и 5D обработки:

При вызове любой из этих команд на экране появляется диалоговое окно “Сохранение G-программы”.

В появившемся на экране окне необходимо

нажать , после чего на экране появится окно диалога “Параметры сохранения составной траектории”.

В данном окне последовательно задаются имена необходимых для выбранного типа обработки постпроцессоров, имя управляющей программы и место её сохранения.

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

Если все действия, перечисленные выше, были проведены правильно, то пользователь увидит на экране окно, которое должно содержать все внесённые данные.

Необходимо особенно отметить, что имеется возможность удаления из списка конкретной выбранной управляющей программы. Для этого необходимо указать её в списке, используя или клавиши < > и < ↓ > , а затем нажать кнопку [Удалить] . Также возможно сохранить все присутствующие в списке управляющие программы в отдельные файлы, для чего нужно использовать кнопку [Сохранить] .

Программирование в абсолютных координатах – G90. Программирование в относительных координатах – G91. Инструкция G90 будет интерпретировать перемещения как абсолютные значения по отношению к активной нулевой точке. Инструкция G91 будет интерпретировать перемещения как приращения по отношению к ранее достигнутым положениям. Эти инструкции являются модальными.

Установка значений координат – G92. Инструкцию G92 можно использовать в кадре без осевой (координатной) информации или с осевой координатной информацией. При отсутствии осевой информации все значения координат преобразуются в систему координат станка; при этом снимаются все компенсации (коррекции) и смещение нуля. При наличии осевой информации указанные значения координат становятся текущими. Данная инструкция не инициирует каких-либо перемещений, действует в рамках одного кадра.

N…G92 X0 Y0 /Текущие значения координат X и Y устанавливаются в нуль. Текущее значение координаты Z остается неизменным.

N…G92 /Снимаются коррекции и смещения нуля.

Выбор плоскости – G17 (плоскость XY), G18 (плоскость XZ), G19 (плоскость YZ). Инструкции определяют выбор рабочей плоскости в системе координат детали или программы. Работа инструкций G02, G03, G05, программирование в полярных координатах, эквидистантная коррекция непосредственно связаны с этим выбором.

Траектории движения (типы интерполяции)

Линейная интерполяция предполагает движение по прямой линии в трехкоординатном пространстве. Перед началом интерполяционных расчетов система ЧПУ определяет длину пути, исходя из запрограммированных координат. В процессе движения осуществляется контроль контурной подачи так, чтобы ее величина не превышала допустимых значений. Движение по всем координатам должно завершиться одновременно.



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

Винтовая интерполяция представляет собой комбинацию круговой и линейной.

Линейная интерполяция при ускоренном перемещении - G00, G200. В процессе ускоренного перемещения запрограммированное перемещение интерполируется, а движение к конечной точке осуществляется по прямой линии с максимальной скоростью подачи. Скорость и ускорение подачи, по крайней мере для одной оси, - максимальны. Скорость подачи других осей контролируется таким образом, чтобы движение всех осей завершилось в конечной точке одновременно. Пока инструкция G00 активна, движение замедляется до нуля в каждом кадре. Если же в замедлении скорости подачи до нуля в каждом кадре необходимости нет, то вместо G00 используют G200. Значение максимальной скорости подачи не программируют, но задают так называемыми «машинными параметрами» в памяти системы ЧПУ. Инструкции G00, G200 являются модальными.

Линейная интерполяция с запрограммированной скоростью подачи - G01. Перемещение с заданной скоростью подачи (в F слове) по направлению к конечной точке кадра осуществляется по прямой линии. Все координатные оси завершают движение одновременно. Скорость подачи в конце кадра снижается до нуля. Запрограммированная скорость подачи является контурной, т.е. значения подачи для каждой отдельной координатной оси будут меньше. Значение скорости подачи обычно ограничивают настройкой «машинных параметров». Вариант комбинации слов с инструкцией G01 в кадре: G01_X_Y_Z_F_.

Круговая интерполяция – G02, G03. Перемещение в кадре осуществляется по окружности с контурной скоростью, заданной в активном F-слове. Движение по всем координатным осям завершается в кадре одновременно. Эти инструкции модальны. Приводы подачи задают перемещение по окружности с запрограммированной подачей в выбранной плоскости интерполяции; при этом инструкция G02 определяет движение по часовой стрелке, а инструкция G03 – против часовой стрелки. При программировании окружность задают с помощью ее радиуса или координат ее центра. Дополнительная опция программирования окружности определяется инструкцией G05: круговая интерполяция с выходом на траекторию по касательной.

Программирование окружности при помощи радиуса. Радиус всегда задают в относительных координатах; в отличие от конечной точки дуги, которая может быть задана как в относительных, так и в абсолютных координатах. Используя положение начальной и конечной точек, а также и значение радиуса, система ЧПУ прежде всего определяет координаты окружности. Результатом расчета могут стать координаты двух точек ML, MR, расположенных соответственно слева и справа от прямой, соединяющей начальную и конечную точки.

Расположение центра окружности зависит от знака радиуса; при положительном радиусе центр будет находиться слева, а при отрицательном радиусе – справа. Расположение центра определяется также инструкциями G02 и G03.

Вариант комбинации слов с инструкцией G03 в кадре: N_G17_G03_X_Y_R±_F_S_M. Здесь: инструкция G17 означает выбор круговой интерполяции в плоскости X/Y; инструкция G03 определяет круговую интерполяцию в направлении против часовой стрелки; X_Y_ представляют собой координаты конечной точки дуги окружности; R – радиус окружности.

Программирование окружности при помощи координат ее центра. Координатные оси, относительно которых определяется положение центра, параллельны осям X, Y и Z соответственно, а соответствующие координаты центра имеют наименования I, J и K. Координаты устанавливают расстояния между начальной точкой дуги окружности и ее центром М в направлениях, параллельных осям. Знак определяется направлением вектора от А к М.

N… G90 G17 G02 X350 Y250 I200 J-50 F… S… M…

Пример программирования полной окружности: N… G17 G02 I… F… S… M…

Круговая интерполяция с выходом на круговую траекторию по касательной – G05. Система ЧПУ использует инструкцию G05 для расчета такого кругового участка, выход на который из предыдущего кадра (с линейной или круговой интерполяцией) осуществляется по касательной. Параметры формируемой дуги определяются автоматически; т.е. программируется только ее конечная точка, а радиус не задается.

Винтовая интерполяция – G202, G203. Винтовая интерполяция складывается из круговой интерполяции в выбранной плоскости и линейной интерполяции для остальных координатных осей, общим числом до шести круговых осей. Плоскость круговой интерполяции определяется инструкциями G17, G18, G19. Движение по окружности по часовой стрелке осуществляется соответственно инструкцией G202; движение по окружности против часовой стрелки – G203. Программирование окружности возможно как с использованием радиуса, так и с использованием координат центра окружности.

N… G17 G203 X… Y… Z… I… J… F… S… M…