![]() |
![]() |
![]() |
|
Главная страница » Электрика в театре » Алгоритмы многогранных поверхностей 1 2 3 4 5 ... 23
*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
Пример. Найти матрицу As и формулы дробно-линейного преобразования центральной проекции из центра S (-1, -2, -4) на плоскость Зх + 2у + 2г= 0. е ш е н и е: 1 1. т = - 4 15 ft = - ъ 3 . , 2
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-- х\
Имея в виду изложенное, можно составить алгоритм определения линии пересечения многогранных поверхностей по известному способу граней. Пусть в проекциях координированного чертежа Монжа заданы две многогранные поверхности (рис. 1). Информация Фз и фз в виде двух наборов чисел сведена в кодировочные таблицы (табл. 3). Нумерация граней поверхностей показана на рис. 1. Все обозначения, относящиеся к одной из поверхностей, помечены штрихами. Координаты Каждой точки имеют признаки в виде чисел, выражающих номера граней, которым инцидентны вершины. Максимальное значение признака, номер набора ,и количество чисел в каждом наборе являются логическими параметрами задачи и входят в состав качественной информации. При решении конкретной инженерной задачи может оказаться, что некоторые из определенных линий не нужны, так как они выходят за пределы поля конструктивной задачи. В таких случаях необходимо задать уравнения прямых, ограничивающих область существования отрезков, линий пересечения, входящих в поле задачи (часто таким полем 1 2 3 4 5 ... 23 |
© 2000-2025. Поддержка сайта: +7 495 7950139 добавочный 133270.
Заимствование текстов разрешено при условии цитирования. |