ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 21.10.2024
Просмотров: 155
Скачиваний: 0
команд: V— 17, / / / |
— 9, VI— 11 |
и / — 10, получим |
следующие числовые |
характеристики |
алгоритмов: |
(26)-~ 192; (27) — 132; (28) — 108;
(29)— 166; (30) — 121; (31) — 99.
Приведенные данные показывают, что и количественная оценка говорит в пользу алгоритмов (28) и (31). Подсчитан ное число команд не является окончательным, так как не учитываются команды тех участков программы, кото рые служат для сопряжения операторных подпрограмм, и ряд других операций (посылочных, управлений циклом и др.). Кроме того, не принималась во внимание скорость выполнения различных арифметических и логических операций и не учитывалась затрата времени на обмен ин формацией между различными устройствами машины. В рассматриваемом примере учет этих факторов не внесет изменений в распределение мест, занимаемых алгоритмами. Для более точной количественной оценки алгоритма ре шения задач в качестве критерия следует брать не число команд, а затраченное машинное время.
Предлагаемый метод качественной и количественной оценки различных вариантов решения задачи является более комплексным, чем любой геометрографический спо соб, так как он учитывает не только графику, но и умст венную работу в виде различных логических операций, вложенных в программу решения задачи. Значение спо соба оценки не ограничивается только определением ра ционального алгоритма для решения задачи, пользуясь им, можно также сопоставить различные методы решения одной и той же задачи и сделать вывод о целесообразности развития того или иного графического метода для про граммирования.
§ 9. ОПРЕДЕЛЕНИЕ ЛИНИИ СЕЧЕНИЯ ЛИНЕЙЧАТОЙ ПОВЕРХНОСТИ ПЛОСКОСТЬЮ
При составлении обобщенного алгоритма, с помощью которого можно создать программу для решения много численных вариантов задачи (например, определение точки встречи прямой с плоскостью), использовался принцип расчленения задачи на выполнение элементарных графи ческих операций. Нахождение точки встречи прямой с пло скостью является элементарной задачей, входящей в со став алгоритма для решения более сложных задач, напри-
85
мер, задач по определению линии сечения линейчатой поверхности плоскостью.
Алгоритм для решения задачи по нахождению точки встречи прямой с плоскостью обозначим через R. Тогда в общем случае алгоритм для решения задачи по определе нию линии сечения линейчатой поверхности плоскостью
может |
быть записан в следующей символической |
форме: |
|||||||
|
2о |
So (a,-); S i |
(Л); |
S*(S,); |
Ss |
|
(32) |
||
где |
(ai) — различные пробы, позволяющие |
выбрать |
|||||||
|
|
|
правильный путь решения в зависимости |
||||||
|
|
|
от вида и характера расположения исход |
||||||
|
2i |
(Р^ |
ных данных; |
|
|
|
|
||
|
— логическая |
последовательность |
элемен |
||||||
|
|
|
тарных операций для нахождения точки, |
||||||
|
|
|
через |
которую |
проходит |
интересующая |
|||
|
|
|
прямолинейная |
образующая линейчатой |
|||||
|
S 2 |
(SI) |
поверхности; |
|
|
|
|
||
|
— последовательность |
однотипных |
опера |
||||||
|
|
|
ций А |
и В; |
|
|
|
|
|
|
А |
и В — (операторы |
I или II), с помощью которых |
||||||
|
|
|
определяются уравнения |
проекций обра |
|||||
|
|
|
зующей; |
|
|
|
|
|
2з (PPi) — вспомогательные операции.
Если выполнение R для всех задач рассматриваемого типа одинаково (оно может изменяться только в пределах вариантов задания и расположения секущей плоскости), то характер и последовательность выполнения операций, вхо
дящих в |
2i> |
S 2 и |
2з Д Л Я разных задач, будут |
различны. |
|
Проследим |
на |
конкретных |
примерах, как |
изменяются |
|
S 2 |
И И Зв зависимости |
от вида линейчатой поверх |
|||
ности. |
|
|
|
|
|
Пример 1. Определить сечение цилиндрической по верхности плоскостью (рис. 57). Произвольная цилиндри ческая поверхность задана направляющей (2 Р2> 2 Р7) и
одной из образующих (2 Pi, 2 Ре), а плоскость а—• пере секающимися прямыми (2РзИРб X 2 Р4, 2 Ре)-
Для определения линии сечения произвольной ци линдрической поверхности плоскостью может быть ре комендован следующий план машинного решения задачи:
1) |
из массива ячеек памяти б7 , где хранятся |
коорди |
|||
наты |
точек криволинейного образа (множество 2 |
Р7), в ы " |
|||
брать |
точку |
1Ъ |
имеющую минимальное |
значение |
х; |
2) |
найти |
на |
кривой 2 Ра точку h с х |
= Х(.) и |
|
86
3) |
определить |
уравнение |
прямой |
2j Ps> |
проходящей |
||
через |
точку 1Х |
параллельно |
£ Psi |
|
|
|
|
4) |
определить |
уравнение |
прямой |
Xi Рь |
проходящей |
||
через |
точку / 2 |
параллельно |
SPi! |
|
|
|
|
5) найти Ьк точку встречи прямой |
( S P s S P i ) |
с пло |
|||||
скостью а. |
|
|
|
|
Кг, |
|
|
Чтобы найти |
|
следующую |
(вторую) |
точку |
принад |
лежащую искомой линии пересечения, нужны уравнения
проекции новой |
прямолинейной |
|||||||
образующей |
поверхности. |
Для |
||||||
этого повторяем |
операции, |
пре |
||||||
дусмотренные п. 1—4, |
|
изменяя |
||||||
содержание |
первого |
|
пункта; |
|||||
для определения положения вто |
||||||||
рой А |
и |
всех |
последующих |
|||||
(/?, |
1\, |
. , |
., |
/") |
точек |
находим |
||
на кривой 2 fb точку l\, уда |
||||||||
ленную |
отточки |
/ х |
на |
задан |
||||
ное |
расстояние |
А/. |
Получив |
|||||
проекции |
новой |
образующей, |
||||||
машина |
приступает |
к |
выпол |
|||||
нению п. 5, |
т. е. решает задачу |
|||||||
по |
определению |
точки |
встречи |
прямой с плоскостью. Цикл из операций, предусмотрен
ных п. 1—5, |
выполняется до тех пор, пока на |
криволиней |
||||||
ном образце |
2 |
р7 нельзя получить |
точку |
отстоящую |
||||
от предыдущей на расстоянии А/. |
|
п. 1—4, вы |
||||||
Операции, |
предусмотренные |
выполнением |
||||||
ражаем |
через |
элементарные операторы П*, /, |
//, ///, V, |
|||||
X, XI/б; |
тогда |
|
|
|
|
|
||
для |
первой точки |
|
|
|
|
|
||
|
|
|
S i (Pt) = Л, |
III, |
X, |
I , V, |
(33) |
|
для |
последующих |
точек |
|
|
|
|
||
|
|
|
S i ( P , ) |
= X / / 6 |
, Ш,Х, |
I , V; |
(34) |
|
|
|
|
S2 (S) = |
/ / , / / ; |
|
(35) |
||
|
|
|
|
2 з (ЯЛ) = |
Я. |
|
(36) |
* Я — операция обращения к первой записанной в 87 -массиве точке.
87
Схема счета программы для решения поставленной за дачи может быть записана:
Г!, Шг^ЧМ^ЩШМгЧМь^ |
(37) |
Пример 2. Определить сечение конической поверх
ности плоскостью (рис. 58). Коническая поверхность за |
||||||||||||||
дана |
направляющей |
(2;Р2 , Z |
Р?) |
и |
центром |
(2 |
Pi S Ре), |
|||||||
а плоскость а — пересекающимися прямыми (2 Рз 2 |
Ре |
х |
||||||||||||
|
|
|
|
|
х 2Р* 2Р5 )- |
|
этой |
за |
||||||
|
|
|
|
|
|
Для |
решения |
|||||||
|
|
|
|
|
дачи, как |
и в предыдущем |
||||||||
|
|
|
|
|
примере, |
используем |
под |
|||||||
|
|
|
|
|
программу |
R |
и стандарт |
|||||||
|
|
|
|
|
ные |
массивы |
2i |
(^/) |
и |
|||||
|
|
|
|
|
£ 2 |
(<$,•)• |
Отличие от реше |
|||||||
|
|
|
|
|
ния |
задачи |
(пример |
1) со |
||||||
|
|
|
|
|
стоит в том, чтотеперьп. 3 |
|||||||||
|
|
|
|
|
и 4 будут |
сформулированы |
||||||||
|
|
|
|
|
так: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
определить |
уравнение |
||||||||
|
|
|
|
|
прямой, |
проходящей через |
||||||||
|
|
|
|
|
точки /i |
|
и |
2 Р 8 |
(п. 3); |
|
||||
|
|
|
|
|
определить |
уравнение |
||||||||
прямой, проходящей через точки 12 |
|
и 2 |
Рх |
(п. 4). |
|
|
|
|||||||
В этом |
случае выражение |
(35) |
|
может |
быть записано |
|||||||||
2 2 (S) |
= |
/, / |
и схема счета примет вид |
|
|
|
|
|
|
|||||
|
|
Л, Ш г Х Л ^ б Ь К Л Д Л |
W A R * |
|
|
(38) |
||||||||
Цикл |
ХПбд ч~ Ri6 |
выполняется |
|
до |
тех |
пор, |
пока |
на |
||||||
кривой 2 |
Р? (в |
<57-массиве) не |
будет обнаружено |
очеред |
ной точки, удаленной от предыдущей на расстояние А/. Пример 3. Определить сечение гиперболоида пло
скостью (рис. 59). Поверхность гиперболоида задана |
|||
тремя |
направляющими |
(2 Pi. 2 Pioi 2 Р2. 2 Ps>; 2 |
Рз. |
2 Ре). |
а плоскость а — пересекающимися прямыми (2 |
Р4. |
2 Рт х 2 Ра, 2 Р.)-
Для определения характера и последовательности вы полнения операций, входящих в 2 1» 2 2 и 2 з> восполь-
88
зуемся выводами, сделанными И. И. Котовым [5]. Если проецировать точку М одной из трех направляющих (а) гиперболоида (принадлежащих к одному семейству обра зующих его прямых) на плоскость изображения а в на правлении двух других направляющих (Ь и с) и получен ные точки соединить с соответствующими проекциями (следами) двух других прямых, то полученные прямые будутпринадлежатьдвум про ективным пучкам. Эти пря мые являются образующими второго семейства гиперболо ида. Из проективности пуч ков следует, что пересечение соответственных лучей этих пучков определяет кривую второго порядка — сечение гиперболоида плоскостью а.
В этом случае выражения (33), (34), (35) и (36) примут вид:
для первой точки
(Р.) = Я, |
/ / / , X, |
/, V; (39) |
|
|
|
Рис/БЭ |
|
||||
для всех последующих |
точек |
|
|
|
|
|
|||||
|
|
S i |
(/>,) = |
|
/ * . , |
III,V; |
|
|
|
(40) |
|
для |
первого цикла |
|
|
|
|
|
|
|
|
||
|
|
%3(RP.) |
= |
RRRR |
[I X |
|
III |
V; |
(41) |
||
для |
всех |
последующих |
|
циклов |
|
|
|
|
|||
|
|
^(RP() |
|
= |
RRIIVIIIV. |
|
|
|
(42) |
||
Схема счета программы |
запишется |
в |
виде |
|
|||||||
|
П , Ш 2 Х Л < |
7 5 |
П |
в |
М |
а М |
Д |
, |
R12R13I14I15Y16III17Y18 |
||
|
ГХ,9 |
Ш г о У г , Д г г Д г з |
П я |
П й R?6 |
R? 7 1 г 8 |
I a |
Уд, Ш3 , У 3 2 |
(43) |
Пример 4. Определить сечение коноида плоскостью (рис. 60). Для задания полного изображения коноида на комплексном чертеже достаточно показать проекции его направляющих: кривой (2 Рз> S Ре) и прямых (У] Р1 5
2 Рю и Ц Рг> 2 |
Ра)- |
Плоскость |
а |
задана пересекающи |
мися прямыми |
(£ р4, |
2 Р7 X 5 |
Ре. |
S Ре)- |
89