Гурский Д., Турбина Е. - Вычисления в MathCad 12 (1077322), страница 48
Текст из файла (страница 48)
Но, к сожалению, в рамках данной методики это невозможно. Что же делать? Проявив немного фантазии, выход находимдовольно оригинальный. Попробуем скомпенсировать недостатки системы ее достоинствами: используем широкие возможности работы Mathcad с комплексными числами.Для ограничения решений действительной областью воспользуемся функцией Re (отreal — действительная), которая возвращает действительную часть комплексного числа.
В нашем случае ее использование даст то, что мнимые значения координаты Z будут заменены на 0.Чтобы использовать вышеизложенную идею, уравнения полусфер переписываем в следующем виде:f(X, Y) := -Re^/R 2 - X2Y2)fl(X,Y):=-f(X,Y)Попробуем теперь построить по полученным уравнениям сферу. Сфера наша получилась с недостатком в виде прямоугольной каемки (рис. 6.31).
К сожалению, избавиться от нее никак нельзя. Она образована теми точками, мнимую часть которых мы заменили на 0. Но все равно, мы получили результат там, где получить что-то довольнотрудно. Поэтому данную методику можно смело отнести к способам задания сферыв Mathcad, имеющим определенное познавательное значение.6.2. ЗР-графикиш* 203Iщ111Гяда? м?7Я1рАЛЛ5f,flРис. 6 . 3 1 . Сфера, построенная по уравнениям полусфер с ограничением на мнимую частьСпособ 4. Использование функции CreateMeshДовольно громоздкую запись параметрического задания сферы, рассмотренную в качестве второго способа построения, можно заменить более короткой и простой с помощью специальной матричной функции CreateMesh (Создать сетку).
Алгоритм ее использования следующий.1. Задаем систему параметрических уравнений сферы:X(<t>,9):=sin(<|>)cos(e)z^,e):=cosfa)2. Объединяем матрицы данных в один массив:Гх( Ф ,еГУ(ф,9)3. Вводим функцию CreateMesh(F,sO,sl,tO,tl,sgrid,tgrid,fmap) в маркер графической области. Она имеет восемь пустых маркеров, в которые последовательно вводятся:• имя матрицы значений или функции F. Единственный обязательный параметр.Остальные могут быть определены как пользователем, так и заданы автоматически системой;• начальное значение первой переменной sO;• начальное значение второй переменной si;• конечное значение первой переменной tO;• конечное значение второй переменной tl;• число линий сетки по первой переменной sgrid;204 •Глава 6.
Графики• количество линий сетки по второй переменной tgrid;• карта отображения frnap. Что это такое, мы поговорим ниже.Для нашего случая параметры определяем следующим образом: CreateMesh(F,0,27tf),7i,50,50).График построен.Согласитесь, такой способ — наиболее простой из всех рассмотренных, хотя и наименее наглядный для тех, кто не владеет системой Mathcad.Помимо поверхностей, параметрически в пространстве можно задавать и разного родалинии.
Для этого существует специальная функция CreateSpace(F,tO,tl,tgrid,frnap) (Создатьпространственные). Она имеет пять маркеров, в которые последовательно вводятся имямассива данных или системы параметрических уравнений, начальное и конечное значения параметра, количество разбиений промежутка параметра, карта отображения.В качестве примера использования функции CreateSpace приведем построение расходящейся спирали (в качестве типа графика следует выбрать Scatter Plot (График рассеяния) или Data Points (Точечный)) (рис. 6.32).F(t) := cos(t)-tРис. 6.32. Использование функции CreateSpaceСпособ 5.
Параметрическое закручиваниеПредставим такую ситуацию: параметрических уравнений сферы вы не помните, а графикс дефектами, получаемый исходя из аналитического уравнения, вас не устраивает. Что жеделать? В такой сложной ситуации следует прежде всего хорошенько подумать и попробовать подойти к проблеме нестандартно.
И решение будет обязательно найдено!Если вы знаете хотя бы уравнение окружности — этого уже вполне достаточно, чтобырешить поставленную задачу не только правильно, но и очень красиво. Впрочем, с помощью этого уравнения (аналогично случаю со сферой) мы сможем построить толькополовину окружности. Но и этого будет достаточно!Последовательность действий при использовании алгоритма параметрического закручивания следующая.6.2. ЗР-графики.;. 2 0 51. Задаем уравнение полуокружности:Для наглядности построим график определенной выше функции (рис. 6.33).4т-;3.WРис. 6.33.
Полуокружность2. Задаем систему параметрического закручивания и объединяем ее в один массив:A(u,v) :=uB(u,v):=f(u)-cos(v)C(u,v):=f(u)'sin(v)M(u,v) := B(u,v)3. Вносим в маркер фафической области следующую запись: CreateMesh(M,-3,3,O,2n,3O,3O).Результат — обычная, без каких-либо дефектов или недостатков сфера.Аналогичным образом можно построить самые разнообразные поверхности вращения.Приведем в качестве примера поверхности, образованные в результате вращения синусоиды y(x)=sin(x)+2 и прямой у(х)=х вокруг оси х (рис. 6.34).CreateMesh(M,-n,n,0,43n,30,30)CreateMesh(F,-n,ji,0,43n,30,30)Рис.
6.34. Поверхности вращения, образованные синусоидой y(x)=sin(x)+2 и прямой у(х)=х206 •Глава 6. ГрафикиПопробуем разобраться в идее работы алгоритма параметрического закручивания.Функция CreateMesh по принципу своей работы практически абсолютно повторяетвторой из разобранных нами способов с применением ранжированных переменных.И в случае рассматриваемого параметрического закручивания аналогично задается двацикла изменения соответствующих переменных: главный и внутренний.
Шаг такогоизменения определяется в самой функции заданием количества линий сетки (величины, обратной шагу). Тут же устанавливаются границы интервалов.Первым вступает в работу главный цикл по переменной U. При этом ей присваиваетсяпервое на промежутке значение: U - - 3 . Затем включается внутренний цикл, ставяв соответствие первому значению U все возможные значения V. При этом заполняетсяпервая строка матриц координат. Далее цикл повторяется до тех пор, пока U не достигнет своего максимального значения: U=3.Проанализируем выражения для координат.
Первый элемент массива М содержитматрицу из 31 строки и 31 столбца с Х-координатами узловых точек. Ее определяетвыражение A(u,v)=u, то есть элементы не зависят от V и поэтому они изменяются только исходя из главного цикла. А это означает, что в любой строке элементы будут одинаковыми и не будут зависеть от номера столбца. Например, в первой строке будет31 элемент со значением -3, во второй — столько же со значением -2.8 и т. д.Чтобы понять смысл дальнейших действий, мысленно рассеките нашу сферу плоскостью.Если не считать случаев крайних точек, получится окружность (рис.
6.35). А параметрическая система для окружности имеет следующий вид: X=Rsin((p), Y=Rcos(cp) (или наоборот — никакой разницы от этого не будет), где ф — угол, изменяющийся от 0 до 2я.Рис. 6.35. Параметрическое задание окружностиГрафик на рис. 6.35 показывает, что система уравнений выбрана верно.
Осталось только определиться с R. А радиусом такой окружности будет не что иное, как значениефункции в выбранной точке области X. В случае нашей задачи для каждого значенияU (а как было показано выше, в ходе работы внутреннего цикла по V значение U неменяется) с помощью внутреннего цикла изменения V как бы прорисовываются подобные окружности (реально же просто ставятся в соответствие друг другу элементы матриц массива данных с одинаковыми индексами). В результате получается шар.Как видите, все очень просто в том случае, если хорошо понимать, по каким принципам строятся поверхности в Mathcad.Способ 6.
Преобразование системы координатПоследним мы рассмотрим самый простой и быстрый способ построения сферы. Зададим быстрым методом плоскость, а затем преобразуем ее из декартовой системы координат в сферическую (рис. 6.36), выбрав пункт Spherical (Сферическая) меню Coordinate6.2. 30-графики* 207System (Система координат) на вкладке Quick Plot Data (Данные графика быстрого построения) окна форматирования трехмерных графиков 3D-Plot Format.М(х,у) :=\yjммРис.
6.36. Задание сферы преобразованием системы координатПостроить поверхность можно в совершенно любой системе координат. Для этого нужно воспользоваться функцией CreateMesh, задав параметр fmap самостоятельно как функцию. Пример того, как это можно сделать, приведен на рис. 6.37.r-sin(x)cos(y)FMAP(x,y,r):=15-rsin(x)-sin(y)5'rcos(x)CreateMesh(z)CreateMesh(z,FMAF)Рис. 6.37. Построение поверхности в произвольной системе координат2 0 8 •:• Глава 6. ГрафикиКак вы, наверное, убедились, способов задания поверхности можно придумать много.Однако очень широки также возможности форматирования вида полученных трехмерных графиков.
Этому вопросу посвящен следующий подраздел.6.2.2. Форматирование Зй-графиковДля настройки вида поверхностей, аналогично двумерным графикам, существует специальное диалоговое окно 3D-Plot Format (Форматирование 30-графиков). С содержанием одной вкладки данного окна мы уже познакомились, когда обсуждали изменениепараметров графика быстрого построения. Однако, помимо вкладки QuickPlot Data (Данные графика быстрого построения), окно 3D-Plot Format (Форматирование ЗБ-графиков)содержит еще восемь (!) вкладок, отвечающих за настройку разнообразных параметров вида трехмерных графиков.