Матросов А.В. Maple 6. Решение задач высшей математики и механики (1185909), страница 48
Текст из файла (страница 48)
Эти два угла определяются в сферической системе координат и имеют значения в гралусах. Можно точно установить направление взгляда, воспользовавшись счетчиками, расположенными справа от полей отображения углов, или установить их значения непосредственно в полях. 4.2.3. Трехмерные команды пакета р!о1а В пространстве кроме декартовой системы координат используются и другие (см.
значения опции согоэ в табл. 4.3). Наиболее часто применяются цилиндрическая и сферическая системы координат. В пакете р1огэ предусмотрены специальные команды, отображающие графики функций двух НЕЗаВИСИМЫХ ПЕРЕМЕННЫХ В ЭТИХ СИСтЕМаХ КООрдниат: оу11п)епр)ос)) И эр)1егер1ос ) ) . В цилиндрической системе координат положение точки задается углом поворота д проекции ее радиус-вектора на плоскость ху относительно положительного направления оси х, длиной г этой проекции и значением коорли- НатЫ 1 ТОЧКИ. КОМакда су11пс)егр1ос!) ОтсбражаЕт ПОВЕрХНОСтЬ, ЗадаННуЮ либо в виде явной функции, выражающей зависимость координаты пот двух других В и ~, либо в параметрическом виде, при котором каждая из коорлинат определяется как функция двух параметров. В случае явного задания функции команда имеет следующий синтаксис: су11пс)епр1оп)п-ехр, плеса=диапазон, х=пиапаэон) 256 Часть ).
Основы Мвр!е Здесь первый аргумент х-ехр является выражением от двух переменных спета и з и представляет явный вид задания функции. Для параметрической функции используется другая ее форма, в которой первый аргумент является трехэлементным списком, представляющим зависимость трех координат поверхности в цилиндрической системе координат через два параметра, а следующие два аргумента определяют лиапазон изменения параметров поверхности: су11пг(епр1ос((т-ехр,спета-ехрг,з-ехрг(, ратат1=диапазон, расагь2=-диапазон) Как и во всех графических командах, кроме указанных аргументов можно использовать любые опции трехмерной графики. Пример 4.13 демонстрирует построение поверхности в цилиндрической системе координат.
Следует не забывать подключать пакет р1о" з при Обращении ко всем командам данного раздела. В наших примерах мы предполагаем, что он подключен Ффффф~',ф36фйй(у~мйф!Мффб)йф:'(Май(()(й(4~зиййпйьй '6(вйвймв'.корддинат > (( крутовой цилиндр радиуса 1 и высотой 2. > су11поегр1ок(1,С(тета=0..2*Р1,г=-1..1,влао1по=ЕЯВАуЯСАЬЕЮ > () Параыетрически заданная поверхность > су11пг(еср1ос([в*С,т,сов(в 2)(,С=О..Р1,в=-2..2, злао1пЧ=ЕЯВАУЯСАЬЕ) > () Спиральный цилиндр высотой 2 > су11поетр1ое(С,С=0..4*Р1,в=-1..1, влаг(1пд=ЬЯРАУЯСАЬЕ,Чг1г(=(50,51) Глава 4. Графина Обращаем внимание читателя, что для гладкого отображения спирального цилиндра пришлось установить сетку с пятьюдесятью точками по угловой координате д и пятью точками по линейной координате 2.
В сферической системе координат положение точки определяется двумя углами и одним линейным размером. Первый угол д, как и в цилиндрической системе координат, задает угол поворота проекции ралиус-вектора точки на плоскость ху. Второй угол — это угол 4), который образует радиус-вектор точки с положительным направлением оси г декартовой системы координат. Линейная координата г представляет длину радиус-вектора точки. При работе с командой зрьегер1ос(), КаК и В случае с командой построения поверхностей, заданных в цилиндрической системе координат, возможно либо явное задание поверхности, либо параметрическое. В первом случае необходимо в качестве первого аргумента перелать выражение длины радиус- вектора через угловые координаты и задать их диапазоны изменения, во втором случае следует задать список сферических координат точек поверхности в форме выражений от двух параметров: зрьегер1ог(г-ехр, Гьеса=диапазон, рЬЕ=диапазон) зрьегер1ос([г-ехр,гЬега-ехрг,рь1-ехрг), рагата1=диапазон, рагап2=диапазон) Команды примера 4.19 иллюстрируют построение поверхностей в сферической системе координат.
'-.ффй1~ффф~4ффЯВЗЙ~Ж~~фйффф~(а~$1~~9~14)~~~ф44$~ФВ~Т~66Й:Ф)1ффФфВ > 4 Единичная с$ера с центром в начале координат. > зрьегер1ос(1,сьеса=0..2*81,рА1=0..81,знаа1п()=268АХЕСА1,Е, зса11пд=СОИЯТРА1НЕО)) > Ф Параметрическая поверхность > зрпегер1ог ( [ехр (з) +Г, сов (зес), Г"2], з=0..2*РР, г=--2 ..2, зЬа4)1пд=ЕОЕАУБСАТ.Е,ог1епсас1оп=(80,30),дг1а=[40,401) Как отмечалось при описании опций пространственных команд, Мар!е позволяет строить поверхности, заданные и в других пространственных системах координат. Единственное, что следует знать и хорошо представлять, — это каким образом определяется в них положение точки.
Команда соог4[р1огзс)() визуализирует координатные поверхности всех возможных Часть 1..Основы МарЬ систем координат, используемых в Мар1е. В примере 4.20 отображены некоторые из них. > 4 Цилиндрическая система координат. > соотс)р1отзо (су11пс(т1са1) > ' 'д'ььст > 4 С4ерическая система координат.
> соот4)р1осзо (арпетьса1, асу1е=Рйтсн,от1епсасзоп=[0, 60), аса11пд=СОНЯТВА1НЕО); > $ Эллиптическая система координат. > соотс)р1осзо (е111рао1оа1, от1с)= [40, 40], от1епсас1оп [40, 60] ); Кривую в пространстве можно задать набором ее точек или как пересечение двух поверхностей. Команда арасесптче() позволяет отобразить пространственную кривую, задаваемую только набором ее точек„причем координаты точек задаются как функции одного параметра [пример 4.21). > арасесш ке [ [соа (С), ььп (С), С], С=О .. 4*Р1, со1од=ь1асЮ сп1скпеаа-2, алеа=ВОХЕО,от1ептат1оп-[15,65])~ Глава 4.
Грег(яика Можно построить круговую цилиндрическую поверхность заданного радиуса вдоль пространственной кривой командой гоьер1оГ(). В примере 4.22 построена такая поверхность вдоль кривой предыдущего примера. > ГпЬер1ос ( (соя (Г), выл (Г), Г], с=О .. 4*Р1, гао1оя=1, гоЬеротпся=20, ргозесГ1оп=с.в,оггепгаГ1оп=(15,55],япаа1пЧ=ЗСВЕУЯСАЬЕ)) Опция гас(1пя определяет радиус криволинейного кругового цилиндра, опция г1ьеро'пгя задает количество точек, используемых для построения кругового сечения цилиндра. Для построения неявно заданных поверхностей следует использовать команду 1тр11с1Гр1оГЗс((), В КОтсрсй ЗадаЕтСя ураВНЕНИЕ ПОВЕрХНОСтИ И дИаПаЗОНЫ изменения всех трех ее переменных.
Опцией соогся можно определять построение неявно заданных поверхностей в разных системах координат. > 4 Декартовая система координат > 1кр11сгср1оГЗС(х"3 т у"3 т г"3 а 1 = (х а у т х т 1)"З,х=-2..2, у=-2 .. 2, г=-2 .. 2, апас(1пд=ЕСРАЕЯСАЬЕ, ахея=ВСХЕИ ; .г > 4 Сферическая система координат > злр11сзср1оГЗо(г"2 = (1 . 3) х * я1п(у),х=-1.. 2*Р1, у=0..
РЬ, г=0. 1.. 5, спокоя=ярьеггса1,ог1епсасгоп=(145, 95])) Часть 1 Основы Мар(е Для создания надписей в трехмерном пространстве предназначена команда Сехер1оСЗС(), СИНтаКСИС КОтОрОй ПОЛНОСТЬЮ СООтВЕтСтВуЕт аНаЛОГИЧНОй команде для отображения текстовых строк на плоскости с единственным исключением, связанным с заданием текстовых точек: их координаты предСтаапяЮтея трЕМя ЧИСЛОВЫМИ ЗяаЧЕНИяМИ. ДОПуСтИМая ОПцИя аггдв ВЫраВ- нивания текста относительно точки имеет те же самые значения с тем же самым смыслом, что и двумерный аналог этой команды. Хд.г ь хтр1оСЗс1(([1,2,3,"Первая точка"], [3,2,1,"Вторая точка")],ахев=ВОХЕВ,со1от=-Ь1асх, а11дв=(?Еут,ВЕ)ОХ),1аЬе1в=["х","у","г"])' > се з 2.4 вг 1.Б 1 1 > совтостр1ОСЗС((в1о (х) *5111 (у), х=-3 .. 3, у=-3 ..
3, дт1с(=[40,40],совеоитв 1б,ахея=ЕЖИВ, отгевеатгос=[30, 60],со1от=Ъ1ас)1) 1 1 ОЛ 0 О.Б -! 0 2 У ТрЕХМЕряая КОМаНда соотостр1оСЗС() таК жЕ, КаК И ЕЕ дВуМЕрНЫй аНаЛОГ соввосср1от (), ОтОбражает линии уровня поверхности и имеет такой же синтаксис. Первое отличие заключается в том, что двумерная команда рисует линии уровня на плоскости, тогда как трехмерная отображает их в пространстве в плоскостях ~сопзг, где постоянная сопз1 равняется значению, принимаемому функцией на соответствуюп(ей линии уровня.
Второе отличие связано с реализацией: двумерная команда написана на интерпретируемом языке Мар)е, а трехмерная на компилируемом языке С, поэтому КОМаНДа соввостр1оСЗС () ВЫПОЛНЯЕТСЯ бЫСтРЕЕ КОМаНДЫ совтосхр1ов () . Глава 4. Графика Две команды связаны с отображением векторных полей в пространстве. КОМаНда дтас(р|отэс(() ОтОбражаЕт ПОЛЕ ГрадИЕНта ВЫражЕНИя, ЗаВИСящЕГО От трех переменных, в параллелепипеде, определяемом диапазонами их изменения.
Команда г|е|ср|осзс() строит в параллелепипеде, определяемом диапазонами изменения трех переменных, векторного поля с компонентами, зависяшими от трех заданных переменных. В обеих этих командах можно использовать опцию аттоеа, значение которой определяет вид отображаемого вектора.
> дтас)р1отзс)( (х "2еу"2ет "241)" (1/2),х=-2 ..2, у=-2 ..2, г=-г.. 2, со1от=)>|асх,аттоеа=эЫМ,ахеа=ГВАМЕ,от|ептатгоп=[41,44))г аа г г > |ге|с)р1отзб( [2*х, 2*у,1),х=-1.. 1, у=-1..1, г=-1.. 1, со1от=)>|аск,аттоиа=эйТМ,ахеа=ГВАМЕ,от|ептат|оп=(35,44))г 1 О.а та .Ол -1 И последняя команда, на которой мы остановимся, это команда отображения плоского многоугольника в пространстве, который задан списком своих ВЕРШИН. Дяя ЭТИХ цЕЛЕй В ПаКЕт р|ота ВКЛЮЧЕНа КОМаида ро|удопр|от34)(), синтаксис которой полностью соответствует синтаксису ее двумерного анаЛОГа ро|удопр|от(). ЕдИНСтВЕННОЕ ОТЛИЧИЕ СВяЗаНО С ЗадаНИЕМ ТОЧЕК: В трЕХ- мерной команде каждая точка представляется трехэлементным списком своих координат, причем точки не обязательно должны лежать в одной плоскости.
> ро1удопр1отзс[([ [О, 1, 1), [1, -1, 2), [3, О, 5), [1, 1, 1! ), ахее=)>охе4[,стгептатьоп [12О,ВО)) 1 Часть 1 Основы Ма 1 е 4.2.4. Трехмерные графические структуры Мар!е Аналогично командам двумерной графики все команды трехмерной графики также формируют графические структуры, которые затем отображаются на выбранном устройстве отображения (по умолчанию рабочий лист или окно графики), но только в отличие от двумерных команд результатом выполнения трехмерных команд являются Р(.ОТЗ1)-структуры. Их так же, как и Р1.0Т-СтруКтурЫ, МОЖНО раСПЕЧататЬ КОМаНдОй 1рт1ес (): > 1рттее (ро1удоер1осзп ( [ [О, 1, 1], [1, -1, 2], [3, О, 5], [1, 1, 1] ], ахее=Ьохес(,от1еееае1оо=[120,80])); РЬОТЗО(ГОЬХООНБ([[0., 1., 1.], [1., -1., 2.], [3., О., 5.], [1., 1., 1.]]),ОВ1ЕНТ)(ТТОН(120.,80.),ЛХЕБЯТУЬЕ(ВОХ)) Р(.ОТЗ[З-структуры, как и Р1.0Т-структуры, делятся на геометрические структуры, представляющие отображаемые геометрические объекты, и структуры, соответствующие опциям трехмерной графики.
Все двумерные геометрические структуры и опции (см. раздел 4.1.4) используются и для формирования Р1,0ТЗ[З-структур с естественными изменениями в параметрах: координаты точек должны иметь три значения и в тех опциях, где необходимо задавать информацию по осям координат, следует добавлять информацию по третьей пространственной оси. Функция ььотзо() дополнительно поддерживает еще две геометрические структуры и несколько специальных трехмерных опций.
Дополнительные геометрические объекты представляют поверхности с разным способом задания: П 0810(е..Ь,с..с), [е11, .. Ое1е],..., [се1,..., ттье]]) — ПОВЕРХНОСТИ, ОПРЕ- деленные на прямоугольной области плоскости ху с равномерным распределением точек сетки, в которых заданы значения их 2-координат; П МЕЗН( [ [ [ХП, уП, е11],... [кто,у1е, етп] ],... ] ] — ПОВЕрХНОСтИ, ОПРЕдЕ- ленные координатами своих точек, причем каждая поверхность представляется списком трехэлементных списков координат точек. В команде рьотзо() можно использовать дополнительно следующие структуры-опции: П лнвтвитътаит (т, о,)о) — ОПРеДелЯет рассеянный источник света пользова- тельской схемы подсветки с параметрами-числами из интервала [О,Ц, Глава 4.