Служебными словами, определяющими тип геометрического объекта, являются ТОЧКА, ПРЯМАЯ, ОКРУЖИ, ВЕКТОР, МАТР, ПЛОСК. Служебное слово, определяющее тип геометрического объекта, может отсутствовать, если тип объекта был указан ранее явно (отдельной строкой) или если используется символическое имя, определяющее тип геометрического объекта неявно.
2.9.1 Внутреннее представление геометрических объектов
Для внутреннего представления геометрических объектов в процессоре системы Техтран используются канонические формы (табл. 2.3). Таблица 2.3
Тип объекта Внутреннее представление
Точка х, у, z − координаты точки
Прямая cos α, sin α, р − коэффициенты нормального управления прямой (х cosα + y sinα − р = 0)
Окружность х, у, r − координаты центра окружности и ее радиус
Вектор Δх, Δу, Δг − проекции вектора на координатные оси
Плоскость cosα, cosβ, cosγ, p − коэффициенты нормального уравнения плоскости
(х cos a + y cosβ + z cosγ − p = 0)
Матрица a11, a12, ..., а34 − коэффициенты нормальных уравнений координатных плоскостей системы координат, полученной при преобразовании исходной системы координат в соответствии с заданной матрицейВнутреннее представление геометрических объектов применяют при выводе на печать результатов работы процессора в случае использования отладочных операторов СЛЕД и ПЧТ1 (см. п. 2.12.2). Для доступа к элементам канонической формы точек, прямых, окружностей и
векторов следует использовать функцию КООРД. Например, требуется определить прямую, проходящую через центры двух окружностей, координаты которых неизвестны (рис. 2.4). Найдем эти координаты следующим образом:X1 = КООРД (1.КР1)
У1 = КООРД (2, КР1)
Х2 = КООРД (1,КР2)
У2 = КООРД (2, КР2)
Искомая прямая имеет вид ПРА = Х1, У1, Х2, У2.
В определениях точки используют следующие группы модификаторов:
Модификаторы выбора точки из двух возможных: ХБ − выбирается точка с большей координатой х, УБ − с большей координатой у, ХМ − с меньшей координатой х и УМ − с меньшей координатой у.
Модификаторы направления отсчета угла: ПОЧС − задается отсчет угла по часовой стрелке; ПРЧС − задается отсчет угла против часовой стрелки.
Модификаторы, указывающие координату точки, заданную в геометрическом определении:
ХКООРД − координата х; УКООРД − координата у. Точка, определенная прямоугольными координатами: имя = координата х, координата у, координата z имя. = координата х, координата у
Например (рис. 2.5): ТЧА=-5, 15, 10.7
ТОЧКА Т3 = 24, -8,2 Точка, определенная пересечением двух прямых: имя = [ПЕРЕСЕЧ,] прямая1, прямая2Например (рис. 2.6):
ТЧ2 = ПР1, ПР2 Точка, определенная пересечением прямой и окружности: имя = [ПЕРЕСЕЧ,] прямая, окружность, (ХБ|УБ|ХМ|УМ) Например (рис. 2.7):
ТОЧКА Т23= [ПЕРЕСЕЧ,] ПР7, КР2, УБ
П р и м е ч а н и е . Случай касания прямой и окружности рассматривается как пересечение этих двух объектов.
Точка, определенная пересечением двух окружностей: имя = [ПЕРЕСЕЧ,] окружность1, окружность2 {ХБ|УБ|ХМ|УМ} Например (рис. 2.8):
ТЧ4 = КР1, КР2, УМ
Точка, определенная пересечением окружности и ее радиуса, проведенного под заданным углом к оси х:
Например (рис. 2.9):
ТЧ5 = КР1, ПРЧС, 40.5
Точка, являющаяся центром ранее определенной окружности:
имя = [ЦЕНТР], окружность Например (рис. 2.10):
ТЧ6 = КР17
Точка, находящаяся на окружности на известном расстоянии от другой точки этой же окружности:
Например (рис. 2.11):
ТЧ8 = КР1, ТЧА, ПОЧС, 18.6
П р и м е ч а н и е . Расстояние линейное, измеряется по дуге окружности. Точка, находящаяся на прямой и имеющая заданную координату х или у:
имя = прямая, {ХКООРД|УКООРД), число Например (рис. 2.12):
ТЧ9 = ПР1, ХКООРД, 80
Точка, находящаяся на прямой, на определенном расстоянии от другой точки этой же прямой:
имя = прямая, точка, расстояние, {ХБ|УБ|ХМ|УМ} Например (рис. 2.13):
ТЧ10 = ПР8, ТЧА, 23, ХМ
Точка, заданная приращениями координат известной точки: имя = точка, ПЕРЕНОС, приращение х, приращение у Например (рис. 2.14):
ТЧ11=ТЧА, ПЕРЕНОС, 100, −20
Точка, находящаяся на определенном расстоянии от известной точки под углом к оси х:
Например (рис. 2.15):
ТЧ12 = ТЧ7, ПОЧС, 30.5, 118
Точка, координаты которой получены преобразованием координат известной точки в соответствии с указанной матрицей:
имя = точка, матрица Например:
ТЧ16 = ТЧА, МК6
Точка, определенная ранее заданной точкой: имя = точка Например:
ТЧ17 = ТЧ13А
Точка, для которой ранее определенный вектор является радиус-вектором: имя = вектор
Например (рис. 2.16):
ТЧ18 = ВЕКТ1
2.9.3 Задание координаты z в геометрических определениях точек (оператор ПЛЗ)
Оператор ПЛЗ предназначен для задания координаты z тех точек, в геометрических определениях которых нет явно заданной третьей координаты:
Формат:
÷èñëî
ПЗЛ_ èìÿÎÒÌÅÍ
где имя − имя плоскости, определенной ранее; ОТМЕН − служебное слово, обозначающее
отмену действия оператора ПЛЗ.
Действие оператора состоит в следующем. Если в операторах определения точки координата z не задана явно, то процессор вычислит ее исходя из того условия, что определяемая точка должна лежать в плоскости, заданной оператором ПЛЗ. Если оператор ПЛЗ не был задан или был выполнен оператор ПЛЗ ОТМЕН, то все координаты z точек, не заданные явно, принимают нулевое значение. Действие оператора ПЛЗ распространяется на все точки, определенные после него, до использования другого оператора ПЛЗ или оператора ПЛЗ ОТМЕН.
На рис. 2.17 изображены точки, определенные в приведенном ниже фрагменте программы:ТЧ1=ПР5, ПР4
ПЛОСК П1, ПЛ14
ПЛ14=150
П1 = -30
ПЛЗ ПЛ14
ТЧ2 = ПР5, ПР4
ПЛЗ П1
ТЧ8 = ПР5, ПР4
ПЛЗ ОТМЕН
ТЧ100 = ПР5, ПР4
Координаты z точек ТЧ2 и ТЧ8 равны соответственно 150 и −30, так как они заданы оператором ПЛЗ с указанием плоскости, в которой лежит каждая из этих точек. Координата z точки ТЧ1 по умолчанию равна нулю; координата точки ТЧ100 также равна нулю, так как перед ее геометрическим определением задан оператор ПЛЗ ОТМЕН, отменяющий действие последнего оператора ПЛЗ.
В определениях прямой используют следующие группы модификаторов:
1. Модификаторы, выбирающие одну прямую из двух, касающихся окружности: ХМ − выбирается прямая, точка касания которой имеет меньшую координату по х; ХБ− большую координату по х; УМ − меньшую координату по у и УБ − большую координату по у.
2. Модификаторы, указывающие, с какой стороны определяемая прямая касается окружности: СПРАВА − точка касания прямой находится справа от центра окружности, если смотреть в направлении от первого геометрического объекта правой части определения ко второму; СЛЕВА − прямая касается окружности слева (при тех же условиях рассмотрения геометрических объектов).
3. Модификаторы, указывающие положение прямой относительно другой: ПАРЛЕЛ − параллельно; ПЕРП − перпендикулярно. Прямая, проходящая через две точки, заданные своими координатами: имя = координата x1, координата y1, координата х2, координата у2
Например (рис. 2.18):
ПР20=-15, 10, 35.6, 70 Прямая, проходящая через две точки: имя = точка1, точка2. Например (рис. 2.19):
ПР21=ТЧА, ТЧБ
Прямая, проходящая через точку и касающаяся окружности:
ПР23 = СЛЕВА, КР1, СПРАВА, КРЗ, Прямая, проходящая через точку под определенным углом к оси х:
имя = точка, угол Например (рис. 2.22):
ПР23 = ТЧ5,− 15
Прямая, проходящая через точку под определенным углом к заданной прямой:
ПР25 = ПРА, ТЧВ, 44.5 Прямая, проходящая через точку и перпендикулярная к другой прямой: имя = точка, ПЕРП, прямая Например (рис. 2.24):
ПР26 = ТЧ6, ПЕРП, ПР1 Прямая, проходящая через точку и параллельная другой прямой: имя = точка, ПАРЛЕЛ, прямая Например (рис. 2.25):