Главная страница » Электрика в театре » Алгоритмы многогранных поверхностей

1 2 3 4 5 ... 23

Яа

21 .

щ

*1 1,2 Анал.

й'[ := й| 2 Анал.

Gj := Gj.a Анал.

: = GJ 2 . Анал.

(/С) = *1,2*;,2 П Анал. (G) = G[ 2 П АВ Анал.

(D )9 ± Анал. (>) = feG П XD Графоанал.

(р') Э ± Анал.

Ра := Ра,1 Анал.

Р2 := Р2,1 Анал.

(Р) = P2iP2 1 П DD Графоанал.

(DP) Граф.

(DP) Граф.

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

3. АЛГОРИТМЫ ПОСТРОЕНИЯ ПАРАЛЛЕЛЬНЫХ И ЦЕНТРАЛЬНЫХ ПРОЕКЦИЙ

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

х' = а^х + Ьху + с^г;

у' = + Ъ^у + cz; .

Z = ttsX + bgy + CgZ.

Отметим свойства линейно-однородных преобразований.

1. Линейно-однородные преобразования задаются соответствием двух масштабных тетраедров О АБС и OAВ'С с двойной вершиной О и единичными отрезками OA, OB, ОС и OA, OB, ОС.

2. Коэффициенты столбцов формул преобразований представляют собой координаты единичных точек А' (а^, а^, а^, В' {Ь^, bz, Ьз) и С (Ci, Cg, Сз) в исходной системе координат xyz с единичными точками Л (1, О, 0), В {О, 1, 0) и С (О, О, 1).

3. Координаты векторов линий связи соответственных точек определяются следующим образом:

АА {ai - 1, й„ йз}; ВВ {Ь^, - 1, Ь^}; ОС {€ С^, Сд- 1}.



4. Уравнение двойной плоскости линейно-однородного преобразования может быть записано в трех видах:

(Gi - \) X + Ь^у + cz = 0;

+ (bi - 1) У + = 0; а^х + Ъ^у + (Сз - 1) 2 = 0.

При этом должна иметь место пропорциональность коэффициентов уравнений:

Й1 - 1 fci Ci . .

5. Наличие двойной плоскости линейно-однородного преобразования влечет за собой параллельность линий связи соответственных точек, что определяет пропорциональность координат векторов линий связи:

1-1 (

Сз - 1

6. Коэффициенты формул линейно-однородного преобразования при наличии параллелизма линий связи связаны следующими уравнениями:

1 = ibi + 1; = к^кф.!, .

аз = k-J}; Cg = кукфз - 1.

7. Определитель матрицы взаимнооднозначных линейно-однородных преобразований

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



означает, что векторы OA, OB, ОС окажутся расположенными в одной (картинной) плоскости и будут линейно зависимыми.

Пуеть ОС = шбА' 4- пОВ'. Тогда имеем следующие равенства:

Cj = та + nbi,

Сг = mag + nb2;

Теперь получим .

tmi +nbj = mkibi -f m + nb] = к^кф, откуда .

- m - m .

где J - mky + n - 12-Аналогично получаем J- n , 1

В результате матрица коэффициентов преобразования парал-

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

След матрицы Мрр (сумма элементов по главной диагонали) равен двум. Состав коэффициентов первой строки дает возможность записать уравнение картинной плоскости kx у 12= = 0. Вектор, задающий направление проецирования, в соответствии с элементами второго столбца матрицы имеет вид г {/п, п, -1}. Величина J представляет собой скалярное произведение вектора проецирования г .и направляющего вектора р картинной плоскости: J = (гр) = кугп -f п - k-ik. Если направление проецирования параллельно плоскости картины, то J = О, и матрица Мрр теряет смысл.

па основании сказанного можно представить алгоритм составления матрицы преобразования параллельной проекции по направлению вектора г [г^, гЛ на картинную плоскость Мх + + Ny + Lz = 0.

1. По координатам вектора проецирования находим величины т = -rjr,. и п = -Гу1г^.



2. По коэффициентам уравнения картинной плоскости находим величины ky = M/N к = LIM.

3. Находим величину J == mky -\- п - kk. Если J = О, то дальнейшее решение задачи теряет смысл.

4. Находим коэффициенты матрицы Мрр-.

3 = 1 -г = 1з; Сз = аз 4-1,

При разработке теоретических оснований построения алгорит-.мов центральных проекций было показано, что матрица Ag дроб- но-линейного преобразования, представляющего собой центральную проекцию точек пространства из центра S (Гу, Гу, via плоскость Мх -\- Ny -\- Lz = Ь имеет следующий вид:

М

О

о о

где / =

Соответствующие формулы преобразования при этом имеют

вид

aix + biy + ciz . а^х + % + С42 + 1

ajX + Ьцу -- CaZ . ax + by + CiZ + l

Й4Д; + 641/ + с^г -Ь Г

Величина J = /ni + n - kkc в дробно-линейном преобразовании представляет собой величину скалярного произведения направляющего вектора р {к^; 1; kk} и направляющего вектора г [т, п, -1} прямой OS., где S - центр проекций. При = О центр S попадает в плоскость картины и матрица теряет смысл.



На основании сказанного можно представить алгоритм составления матрицы преобразования центральной проекции из центра S (fx, Гу, на картинную плоскость Мх + Ny -- Lz = 0.

1. По координатам центра проецирования находим величины т = -rjr, п = -Гу1г^, I = -Mr г.

2. По коэффициентам уравнения картинной плоскости находим величины /jj, = МШ и = ЫМ.

3. Находим величину J = тк -j- п - /г^/га- Если J = О, то дальнейшее решение задачи теряет смысл.

4. Находим коэффициенты матрицы As-

-1 -

Oi = /Jibi + 1; ci = /jg ( 1 - 1); di = 0;

h = -J- 1; 2 = 1 (2 - 1); ca = Мг; = O;

= l/J, ==/гЛ; Cg =/jaOg + 1; dg = 0; 4 = - UJ; 04 = kib, C4 = /jgOi; (4 == 1 .

Пример. Найти матрицу Мрц однородно-линейного преобразования параллельной проекции по направлению вектора 7{ -1, -2, -4} на плоскость Ъх + 2у + 2г=0.

Решение:

п = -

K=-2

2. 6, =-

6, =

1 =

12 15

6 15

2 15

С2 = -

12 15

7 15

12

Пример. Найти матрицу As и формулы дробно-линейного преобразования центральной проекции из центра S (-1, -2, -4) на плоскость Зх + 2у + 2г= 0.

е ш е н и е: 1

1. т = -

4 15

ft = -

ъ 3 . , 2



~ 15

7 Cg -

2-i = --[5- i = -[5- =--15

bi. = -j; 2 = - 2 = - tV; 2 = 0;

6я= -

2 3 2

b4 = -i5; 4=-i5-;c4 = -f5-;d4=i.

3. Записываем формулы дробно-линейным преобразованием:

\2x - 2y - 2z 3x + 2y-\-2z+l5 . .

6+llf/-4z Зл;+2/ + 2г+ 15

- 12x -8y+7z Зл:--2f/ + 2z+ 15

4. Выбираем в картинной плоскости систему координат Т], и совмещаем ее с системой отнесения планшета графопостроителя. Координаты х', у', z преобразуются в т], I с помощью известных формул.

Алгоритм построения проекций может быть сведен к обычному .пересчету координат XiyZj точек оригинала в координаты точек чертежа г), на картинной плоскости. Применяются обычные формулы преобразования аналитической геометрии. Кроме координат точек оригинала должны быть заданы:

а) центр проецирования либо направление проецирования - соответственно Xsi/ss (координатами центра) либо /, т, п (коэффициентами проецирующих прямых);

б) плоскость проекций (картинная плоскость) - коэффициентами А, В, С, D уравнения Ах By -\-Cz -\-D = О, нормированными так, что Л > 0. Кроме того, плоскость п может быть задана в отрезках а, Ь, с, отсекаемых ею на осях координат.

Процесс проецирования точки Л,- из массива точек оригинала моделируется как результат пересечения проецирующего луча с плоскостью п. Проецирующий луч, проходящий через Л^, описывается уравнением

, x - xj У--У1 Z - zi

li mi щ

где Xi, yi,Zi - координаты Л,-, а = I; trii = m; щ = n при параллельном проецировании по направлению, которое характеризуется коэффициентами 1, т, п:

При центральном проецировании li - х^ - Xi, trii = у^-- у^, ti = Zs~ Zi- Случаи инцидентности либо параллельности проецирующей прямой картинной плоскости исключаются.



в результате проецирования точки Л; ее изображение Л? получается в той же системе координат, что и точки оригинала. Этим заканчивается первый этап процесса проецирования. Вторым этапом является пересчет координат точек изображения в систему координат Г), I, выбранную на плоскости п и совпадающую с системой отнесения планшета графопостроителя. При реализации второго этапа следует учитывать тот факт, что плоскость зг делит пространство на два подпространства. В этом случае проецирование оригинала можно' проводить из обоих подпространств, что делает алгоритм более универсальным. Возможна также упрощенная модель, в которой проецирование ведется из одного из подпространств. Эта модель пригодн-а для большинства практических задач.

Если не учитывать, что на плоскость л возможно проецирование из обоих подпространств, то можно получить как истинное, так и зеркальное изображение оригинала. Пусть проецируется точка Р с координатами х; у; г. Пусть далее

Ах + By-\-Cz+D = f (Р).

Если f (Р) > О, то точка Р принадлежит положительному подпространству; если f (Р) < О, то отрицательному подпространству.

Формулы пересчета координат XiyZi в г);!,- строятся так, чтобы истинное изображение получалось при расположении центра проецирования (действительного или несобственного) в .положительном подпространстве. При этом возможны следующие случаи.

1. Плоскость п отсекает на осях координат х; у; z отличные от нуля и конечные отрезки а; Ь; с.

2. Плоскость п проходит через начало координат и не параллельна ни одной из осей координат.

3. Плоскость я параллельна одной из координатных плоскостей.

4. Плоскость я параллельна одной из осей координат, но не параллельна ни одной координатной плоскости.

В случае 1 за ось абсцисс в плоскости я примем ориентированную так же, как ось у, прямую, проходящую через точки В (а; 0; 0); С (О, Ь, 0). За ось tj - ориентированную, как ось z, прямую, перпендикулярную ВС. Имеем

Случай 2, в котором а = Ь = с = 0, АфО, ВфО, СфО, но D == О, можно свести к случаю 1, если перейти к системе х' == ~ х; у' = у\ z = Z 1. В этой системе плоскость я будет отсекать от осей координат отличные от нуля и конечные отрезки а = а А; b = С/В; с = 1. .



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

а) д; = О (Л =it 0; Б = 0; С 0); . б) у == О (Л = 0; Б =f 0; С - 0);

в) Z = О (Л = 0; Б = 0; С =f 0). - .

При этом

t а) I, = i/£; Ti£ = Zi; .

б) = -лг;, = z;

л в) L==-i;

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

а) Л = 0; Б 0; ..С Ф 0;

б) Л =f 0; Б = 0; С =f 0;

в) Л =f 0; Б =f 0; С = О,

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

а) r], = - Xi\li = f{x,;yr,B);

б) Г], = у,-;г = /(2,;х.;Л);

в) il£ = - Г, h = / (УГ, Xh Л),

где П|Г, б= sign 1 + (б + ).

В зависимости от подпространства, из которого ведется прое- . цирование, необходимо оставить (положительное подпространство) либо сменить на противоположное (отрицательное подпространство).

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

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

Пусть имеется оригинал, отнесенный к некоторой системе координат х; у; Z а картинная плоскость п, на которой получено изображение оригинала по заранее выбранному направлению проецирования, а также изображение х', у', г' системы х, у, г. Если в оригинале задать новую систему координат, не изменяя направления проецирования и положения картинной плоскости, то само изображение оригинала не изменится, но получится новое изображение



системы координат x y z. При этом изменятся коэффициенты искажения по осям и углы между осями.

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

В результате решения задачи получаем три системы уравнений:

f Лл: + + Сг + D = 0;

. I X - Xj+n у - У1+П г - Zj+n . Xi-Xi+n У1-У1+п Zi-Zun

Лх + % + Cz + D = 0;

Х - Хо У - Уо 2 -Zo . ,

XI - Хд У1 - у о Zl - Zo

Лх-f fii/ + Cz + D = 0; x - xi у - у1 z - Zi

Хг - Xl Уг - У1 Zz - Zi

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

4. АЛГОРИТМЫ РЕШЕНИЙ ЗАДАЧ МНОГОГРАННЫХ ПОВЕРХНОСТЕЙ

Формальная модель плоскости и многогранной поверхности.

Из прикладной геометрии известно понятие определителя фигуры, состоящего из некоторой исходной фигуры Фг и алгоритма преобразований ац, позволяющего перевести исходную фигуру в ту, которая должна быть задана. Например, исходной фигурой фа прямой можно считать точечный базис, состоящий из координат двух ее произвольных точек, а фах - алгоритм вычисления коэффициентов уравнения прямой и построения любой ее точки. Алгоритмов преобразования может быть несколько, поэтому подстрочный индекс Ц для ф в дальнейшем будет выражать: i - число точек, входящих в базис, а / - порядковый номер алгоритма для данной фигуры.

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



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

Xb~Xa Уь - Уа - Хс -а Ус Уа

Разложив этот определитель по элементам первой строки, получим уравнение плоскости в виде

Л,х + В,4/ + С,2 + Д. = 0.

где Л Bi, Cl, Di - коэффициенты, относящиеся к t-й плоскости. Массив уравнений таких плоскостей можно рассматривать как формальную модель многогранной поверхности, пригодную для решения некоторых позиционных задач.

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

, У =-7----7-- х\

Cm

Brn-

Л

Г

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



1 2 3 4 5 ... 23

© 2000-2024. Поддержка сайта: +7 495 7950139 добавочный 133270.
Заимствование текстов разрешено при условии цитирования.