Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Клевенский А.Е. Моделирование геометрических понятий и технология проектирования

.pdf
Скачиваний:
19
Добавлен:
23.10.2023
Размер:
4.89 Mб
Скачать

метр Т, который может принимать

 

любое

значение на

промежутке [0; 1], дает нам численное

значение

величи­

ны, характеризующей «движение»

точки

по этому

элемен­

ту. Д л я дуги существенным является

знак этой величины,

т а к как он определяет направление

обхода

(движения

точки) .

 

 

 

 

 

 

 

Остается выяснить еще одну

переменную —

радиус

дуги. Вначале было принято,

что

первая

компонента,

х а р а к т е р и з у ю щ а я признак элемента

графического

опи­

сания, может принимать значения

ноль — не ноль.

Д л я

дуги в качестве признака элемента можно принять чис­

ленное

значение

радиуса .

 

 

 

 

 

Теперь оба графических элемента имеют идентичную

запись,

которая

в общей

форме имеет

вид

 

 

 

W

=

< wv

цу2,

w3,

wit

хюъ > ,

(2)

или

 

 

 

 

 

 

 

 

 

 

 

 

W

=

< Я ; х0,

у0,

я|ѵ

L 0 > .

(3)

Очевидно,

что

для

дуги

 

 

 

 

 

 

 

 

 

 

L 0 =

± u0R0,

 

 

 

где CÙ0 '—центральный угол

дуги.

 

 

 

 

П р и з н а к П д л я прямой равен нулю,

д л я дуги

17 = R0.

Элементы типа отрезка прямой и дуги будем

назы ­

вать базовыми

элементами .

 

 

 

 

 

При

помощи

базовых

элементов

в

плоскости

могут

быть определены

контуры

большого разнообразия

фигур.

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

нормали приобретает тот

ж е

смысл

и

при

построении

некоторых модификаций

базовых

элементов.

 

Пусть точка движется

по базовому элементу

и в к а ж ­

дый ;-й момент движения

отклоняется

по

нормали на

переменную величину F(T),

где Т — условный

времен­

ной параметр движения точки, изменяющийся на проме­ жутк е [0; 1]. Таким образом, истинное положение дви-

21

ж у щ е й ся точки будет не на базовом элементе,

а

«над»

или «под» ним по нормали. Естественно,

что

функция

•отклонения

точки F(T) нормирована

по

параметру

Г и

не зависит

от длины элемента. Д л я

нас

ж е главное

со­

стоит в том, что построение такой функции на

базовом

элементе позволяет ослабить ограниченные

по

числу

используемых в описании плоских конфигураций линий.

Функцию

F(T)

 

будем называть

функцией

отклонения

движущейся

точки

от базового элемента

(сокращенно

Ф О Т ) . Ее можно

представить в машине в аналитической

(если известна

ее

закономерность

описания или она

легко описывается посредством сплайн кривой) пли в табличной форме.

Табличная форма представления ФОТ является пер­ вичной,.так как именно в таком виде производится ввод данных при сканировании графического изображения

.линии.

М о ж н о

определить теперь и

обратную процедуру.

Если з а д а н

произвольный без

самопересечений кусок

линии, то всегда можно подобрать одну или несколько базовых линий, д л я которых отдельные части заданного контура могут быть представлены как ФОТ этих базо­ вых линий. Произвольность установки числа и положе­ ния базовых линий относительно заданного контура в

некотором смысле

определяет

свободу действия челове­

ка-оператора,

з а д а ю щ е г о эту

дополнительную

информа­

цию. В этом

есть

некоторые

преимущества.

Единствен­

ное ограничение, которое накладывается на выбор базо­

вого элемента, состоит в том,

что точки контура д о л ж н ы

однозначно проектироваться

на базовый элемент.

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

Описание вида (2) с учетом возможных модификаций базовых элементов м о ж н о расширить на одну компонен­

ту, которая

определяет текущее значение Ф О Т в

какой-

либо

момент

Т. Д л я определения значений

всех

компо­

нент

вектора

необходимо установить систему

координат,

в «которой

з а д а н графический

элемент.

Так как

ФОТ теперь представляет собой автономную

составляющую, то необходимо

установить формальное

п р а в и л о ее

построения на базовом элементе.

22

Правило 1. Положительные значения ФОТ д л я фик ­ сированного момента Т откладываются по нормали ба­ зового элемента вправо, если двигаться по базовому эле­ менту в сторону возрастания параметра Т, отрицатель ­ ные значения функции откладываются влево по нормали-

Нетрудно видеть, что л ю б а я точка элемента графиче­ ского описания может быть записана в параметрической форме:

для прямой

X (Т)

=

х0 + L0T

 

cos Ч>0 +

F (Т)

sin а|>0,

У СП =

i/o +

L o T s i n 'Фо — F ( Т )

c o

s

для дуги

 

 

 

 

 

 

 

 

X (Г) =

х0

+

0

+

F (Т))

cos

+

%Т),

y(T) =

y0

+

(R0

+

F(T))

sin(4>0

+

0 T).

(4)

(5)

Интересно

сопоставить

записи (4)

и (5) с их матричным

п редста влением :

 

 

 

 

для прямой

 

 

 

1

 

 

 

 

 

х(Т)

k >

А>.

F(T)]

Т

cos (1J)0)

 

 

 

 

 

 

 

sin Сф0)

 

 

 

 

 

(6>

 

 

 

 

 

1

У(Т)

= [у0,

L 0 , F (Т)]

 

• sin(i|j0 )

для дуги

х(Т) = [х0, В, В

У(Т) = [у0,

В,

В]

costy0 ) J

1

cos (со0Т) • cos (а|з0)

. — sin(cû0 T) -sin(ap0)

1

-, (7>

cos (co0T) • sin

(%)

- s i n ( œ 0 7 ) . ( - cos(!>„)) J

где Я*=Ro + F(T).

 

.

В ы р а ж е н и я (6) и

(7) имеют

более идентичную струк ­

туру, чем (4) и (5). .

 

Таким образом,

элементы

графического описания-

плоских фигур можно считать

определенными.

4. Преобразование элементов

графического описания

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

Главная цель приведенного ниже описания схем вы­

полнения операций

состоит в том,

чтобы

определить

основные ф а з ы процесса в той

ее части,

которая

возла­

гается на машину. Если четко определена

схема выполне­

ния процедуры и р е ш а е м а я ею

задача, то более

подроб­

ное описание алгоритма, по-видимому,

является

у ж е не

столь существенной

деталью .

Кроме

того, в

различных

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

смене класса

объекта проектирования.

Однако

следует

подчеркнуть,

что

целевые

значения

выполняемых

фаз

процесса

во

всех

случаях

сохраняются,

меняются

лишь

способы

достижения цели.

Это

обстоятельство

еще р а з

подчеркивает

нецелесообразность

детального

описания

алгоритмов выполнения большинства операций, так как

основная з а д а ч а заключается в том, чтобы

определить,

что достигается

в результате

выполнения

фазы

на данном

этапе решения,

а не каким

образом она

выполняется.

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

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

24

Преобразование одноименных элементов описания

Смысл преобразования одного элемента описания в дру­

гой

состоит в том, что любой точке

одного

элемента

ста­

вится в однозначное

соответствие

 

определенная

точка

другого элемента, причем обе точки

определяются

одним

и тем ж е значением параметра

Т.

 

 

 

 

 

 

 

Допустим,

что первый

 

элемент

описания

представлен

вектором W0,

и его состояние принято

за исходное.

 

 

Состояние элемента WQ количественно выразим через

признак 5 = 0. Соответственно конечный вид элемента

(он

соответствует

описанию

второго

элемента)

обозначим

Wk

и его состояние количественно выразим

через признак

S = l . Тогда промежуточные виды элемента

описания, со­

ответствующие состояниям

5 6(0,1),

определяются

по

формуле

 

 

 

 

 

 

 

 

 

 

 

 

 

Ws = W0

+ (Wk-W0)

 

S,

 

 

 

(8)

где

разность

(Wh

Wo)

представляет

собой

вектор

того

ж е

порядка, что и W, компоненты

которого

есть разность

соответствующих компонент векторов

Wh и W0 '.

 

 

 

Значение формулы (8)

состоит в том, что по этой

 

фор­

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

Некоторые из таких операций у ж е были

определены вы­

р а ж е н и я м и (6) и (7).

Преобразование разноименных элементов описания

П р е ж д е чем перейти к преобразованию

разноименных

элементов описания, определим смысловое значение век­

тора W,

имеющего

следующий набор

компонент:

W=

= < 0 , х 0

, уо, 0, 0, 0

> . Такой

элемент описания будем

на­

зывать

вырожденным, он

представляет

точку на

пло­

скости.

Предварительно определим основные расчетные опе­ рации алгоритма, обеспечивающего выполнение процеду­ ры проектирования какой-либо точки А на базовый эле­ мент графического описания контурной линии. Ц е л ь этой

1 Д л я элемента типа дуги компонента Шо берется по абсолютной ве­ личине.

25

операции состоит в определении значения параметра Т,

д л я которого нормаль

в

точке х(Т),

у(Т)

базового

эле­

мента проходит через

заданйую точку А.

Если

значение

п а р а м е т р а Т не л е ж и т

в

промежутке

[0;

1], то

это

озна­

чает, что точка А не проектируется на элемент описания. Координаты х(Т), у(Т) являются координатами проек­ ции точки А на базовый элемент. Исходными данными та­ кой процедуры будут координаты точки А и компоненты

вектора

W.

 

 

 

 

П р о г р а м м а , выполняющая заданную процедуру, со­

стоит из

двух частей: общей и частной для каждого

ба­

зового

элемента.

 

 

 

В общей

части

выполняются

следующие операции:

вычисляется

длина

вектора D

по данным л'0 , Уо и ха,

уа

(координат начальной и конечной точек вектора); опре­

деляется

направленность в е к т о р а , т . е. угол

а,

образован ­

ный направлением вектора и положительным

направле ­

нием

оси

абсцисс.

 

 

 

 

 

В

частной части, программы

вычисляются

 

значения

для

прямой

D • cos (г|>0

а) €[0,1],

 

 

 

 

 

 

 

 

(9)

для дуги

 

 

 

 

 

 

 

 

a - u

. п — г|)0

 

 

 

 

 

 

T=

 

6 [0,1], л =

0;

1.

(10)

to,

Заметим, что д л я дуги точка А может проектировать­ ся д в а ж д ы (при /і = 0 и / г = 1 ) .

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

 

 

Fa=[xa-x(T),

уа-у(Т)}

^

,

(11)

где

х(Т),

у(Т) — к о о р д и н а т ы

проекции

точки А.

 

 

Угол

ß д л я разных

базовых элементов

вычисляется

для

прямой .

 

 

 

 

 

для

дуги

 

ß =

% ,

 

 

 

 

 

 

 

 

 

 

 

а

л .

 

 

 

26

Если Fa

= 0, то точка А л е ж и т на

элементе описания.

Теперь

вернемся к главной теме

этого п а р а г р а ф а —

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

Такую процедуру назовем «заменой прямой». Р е з у л ь ­ татом выполнения этой процедуры является вычисление

численных

значений

компонент описания дуги (включая

Ф О Т ) , проходящей

через начальную и конечную точки

заданной

прямой.

 

Учитывая возможность произвольного выбора пара ­ метров дуги, проходящей через две точки прямой, прини­ маем

 

 

 

 

 

 

 

 

 

 

 

 

(12)

 

 

 

 

 

_ _ 3 _

 

 

 

 

 

 

 

 

 

То, дуги —

Го, дуги

^

Я

-

 

 

 

 

Д л я

 

того чтобы вычислить компоненты

х0,

у0,

примем

значение

функции

F (0,5),

равное

2~^0 '

^ о г

д

а '

п ° Д с т а "

вив значения параметров прямой (при

Т

=

0,5),

а

также

значение

функции

F (0,5)

в

формулу

(4),

получим

я (0,5),

у (0,5),

численные

значения

которых

присвоим координатам

центра

дуги.

 

 

 

 

 

 

 

 

 

 

Теперь остается определить аналитическое

 

описание

ФОТ, построенной на дуге. Значение этой функции

равно

отрезку

нормали

дуги,

образованного,

 

С одной

стороны,

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

40MJ исходящим из центра построенной дуги,

причем на­

правление л у ч а . о п р е д е л я е т с я

параметром

движущейся

точки дуги.

 

 

Известно, что координаты точки пересечения прямых

можно представить следующей

зависимостью:

27

если уравнение двух прямых имеет вид

Ахх + Вуу = Сѵ А„х - f BQy = С2 ,

то точку пересечения этих прямых можно представить в матричной форме

 

 

 

А,

А,

=

ѵ С,]

 

 

 

 

Вѵ

ß 2

 

 

 

 

 

 

 

 

или

 

 

 

 

Alt

А.2

 

 

 

а,

Уа\ = \СѴ С,]

 

(13)

 

Вѵ

В.2

 

 

 

 

 

 

 

 

если

детерминант

матрицы

Ау,

Л,

не

равен

нулю, то

Вѵ

В2

іха> Уaï'—координаты

 

 

 

 

искомой

точки.

 

 

 

Д л я нашего случая

компоненты правой

части

представ­

ляют

следующие

зависимости:

 

 

 

 

 

А1

=

sina|30,

 

Вг

=

— cosi|)0 ,

 

 

А2 =

sin а,

 

ß 2

=

—coscc,

J

а = г))0

 

3

я + со0 Г,

 

 

 

 

 

 

4

 

 

С х = л 0 sin -ф0 — г/0 cos лр0,

C2 = x(0,5) sin а у (0,5) cos а.

Для вычисления координат 0, уа) матрица

(14)

Г А А.

1 1

2

I &ѵ В* J не будет особенной, так как Т изменяется в промежутке от 0 до 1 и, следовательно, детерминант при любом из зна­ чений Т не будет равен нулю.

Отметим, что параметр Т характеризует движение точки по базовому элементу «дуга», поэтому, приняв F (Т) = 0 и подставив вычисленные компоненты дуги в формулу (7),

получим координаты

х(Т),

у(Т),

которые

представляют со­

бой проекцию точки

(л:„,

уа) на

базовый

элемент (дугу).

28

Воспользовавшись формулой (11) и подставив численное

зна­

чение угла ß = i | > 0 ~ - \ - а 0 Т

получим искомую

величину

•функции отклонения

точки.

 

 

 

 

Таким образом, процедура замены прямой состоит в

выполнении вычислительных

опеіэаций (12)

и

(14),

(13),

(7) и (11).

 

 

 

 

 

 

Схема

последовательности

вычислительных

операций

процедуры

«замена

прямой»

позволяет

разноименные

элементы графического описания (когда на отрезке пря­ мой не задана ФОТ) привести к'одноименным описаниям.

Если на прямой з а д а н а ФОТ, то данный элемент гра­ фического описания приводится к базовому элементу ти­ па дуги только в том случае, если для любой точки дуги

функция

ее отклонения, з а д а н н а я на прямой, принимает

только одно из своих новых значений.

 

После

приведения заданных

элементов графического

описания

к одноименному

виду,

дальнейший ход

проце­

д у р ы

преобразования элементов

определяется

форму­

лой

(8).

 

 

 

 

Преобразование вида

(8) является линейным. Если

вместо 5 подставить нелинейную нормированную функ­ цию от аргумента SÇ [0, 1], то выражение (8) при­ обретает большую общность. Однако этим не исчерпы­ ваются варианты преобразования элементов графическо­ го описания.

Возможны случаи, когда к а ж д а я компонента W явля­ ется функцией от 5. В общем виде это можно записать так:

W=<Wl(S),

w.2(S),

w3(S),

ui4 (S), w5(S);

F(T, S) > . (15)

Здесь

к а ж д а я из

указанных функций

представляет

частный

случай решения задачи и оформляется

в виде

специального программного

модуля. Д л я

этого

варианта

о б р а з конечного элемента графического описания в со­ став исходной информации может не входить.

5. Пересечение элементов

графического описания

Рассмотрим еще несколько процедур. Луч, исходящий из какой-либо фиксированной точки, можно записать в виде вектора W (2)

= < 0> * л . Ул' "Фл. Ья > ,

29

причем компонента Ьл принимается условно (можно з а ­ дать любое положительное число), так как длина луча неограничена. При такой записи луча возможно исполь­ зование формулы (4). Если теперь луч пересекает какойлибо элемент графического описания, то

 

 

 

 

х(Т)

= хлл),

 

 

 

^

 

 

 

 

У(Т)=уал).

 

 

 

 

Систему равенств (16) для элемента типа прямой и

типа дуги можно

привести к следующим видам .

 

 

Д л я

прямой

 

 

 

 

 

 

 

 

 

 

К

Т-

F

(Т)\

Г

sin (гр„ — «фо)

Fi

 

(17)

где

 

 

 

 

.

cos (я|)л г|>0)

 

 

 

 

 

 

 

 

 

 

sin

г|)л"

 

 

 

 

 

 

 

 

 

 

 

 

 

F а = [*л

— * о «

Ул

Уоі

 

 

 

 

Остается решить уравнение (17) относительно Т. Оче­

видно, что луч не пересекает элемент

описания

в двух

случаях:

 

 

 

 

 

 

 

 

 

 

 

1) sin (г|;л \|~0 )-=0,

т. е. когда

луч

и п р я м а я

п а р а л ­

лельны;

 

 

 

Т не входит в промежуток [0,

 

2) вычисленное

1].

Если на элементе «отрезок прямой»

з а д а н а

ФОТ, то

условие

1 является недостаточным

и необходимо

провести

дополнительный

анализ

в ы р а ж е н и я (17).

 

 

Решение

уравнения

(17)

и дополнительный

 

а н а л и з

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

Д л я

дуги

система (16)

приводится к виду

 

 

 

(F(Т)

+ R0)-sm®0

- ^

+ w0T) +

Fa =

0,

(18)

где Fa

имеет

то же значение,

что и

для

прямой.

 

Решение

этого уравнения

также

включается

в

состав

обязательных операций. Если ФОТ не задана, то пересе­

чение определяется

значениями

[0, 1],

которые

вы­

числяются по

формуле

 

 

 

Т = — %

- ^

+ пгл - ( -

1 )™ arcsin

j J

(19)

30

Соседние файлы в папке книги из ГПНТБ