![]() ![]() ![]() ![]() ![]()
Раздел: Документация
0 ... 61 62 63 64 65 66 67 ... 177 6.2, 3D-графики «205 1. Задаем уравнение полуокружности: Для наглядности построим график определенной выше функции (рис. 6.33). 4т ![]() Рио. в.ЗЗ. Полуокружность Залаем систему параметрического закручивания и объединяем ее в один массив: A(u, v) := и B(u,v)» ftuHo»(v) 0(u,v) :-fl[u)riB(v) A<u,vA M(u,v) B(u.v) 3. Вносим в маркер графической области следующую запись: Create Mesh (Н,-ЗЗД2лЗ 0,30). Результат — обычная, без каких-либо дефектов или недостатков сфера. Аналогичным образом можно построить самые разнообразные поверхности вращения. Приведем в качестве примера поверхности, образованные в результате вращения синусоиды y(x)-sin(x)+2 и прямой у(х)-х вокруг оси х (рис. 6.34). ![]() С[»1еМ»1о(М.-я.я.0.43*.Х.38)Сий.М»*Ы>.-*.«,0,4.3ж.ЭО,30) Попробуем разобраться в идее работы алгоритма параметрического закручивания. Функция CreateMesh по принципу своей работы практически абсолютно повторяет второй из разобранных нами способов с применением ранжированных переменных. И в случае рассматриваемого параметрического закручивания аналогично задается два цикла изменения соответствующих переменных: главный и внутренний. Шаг такого изменения определяется в самой функции заданием количества линий сетки (величины, обратной шагу). Тут же устанавливаются границы и1гтервалов. Первым вступает в работу главный цикл по переменной U. При этом ей присваивается первое па промежутке значение: U™-3. Зятем включается внутренний цикл, ставя в соответствие первому значению U все возможные значения V. Прн этом заполняется первая строка матриц координат. Далее цикл повторяется до тех пор, пока U не достигнет своего максимального значения: U-3. Проанализируем выражения для координат. Первый элемент массива М содержит матрицу из 31 строки и 31 столбца с Х-координатами узловых точек. Ее определяет выражение A(u,v)-u, то есть элементы не зависят от V и поэтому они изменяются тол ь-ко исходя из главного цикла. Л это означает, что в любой строке элементы будут одинаковыми и не будут зависеть от номера столбца Например, в первой строке будет 31 элемент со значением -3, во второй — столько же со значением -2.6 и т. д. Чтобы понять смысл дальнейших действий, мысленно рассеките нашу сферу плоскостью. Если не считать случаев крайних точек, получится окружность (рис. G.35). А параметрическая система для окружности имеет следующий вид: X-Rsin(ip), Y=Rcos(<p) (или наоборот — никакой разницы от этого не будет), где ф — угол, изменяющийся от 0 до 2тт, ![]() R.finf*) Рис. 6.35. Параметрическое задание окружности График на рис. 6.35 показывает, что система уравнений, выбрана верно. Осталось только определиться с R. А радиусом такой окружности будет не что иное, как значение функции в выбранной точке области X. В случае нашей задачи для каждого значения U (а как было показано выше, в ходе работы внутреннего цикла по V значение U не меняется) с помощью внутреннего цикла изменения V как бы прорисовываются подобные окружности (реально же просто ставятся в соответствие друг Другу элементы матриц массива данных с одинаковыми индексами). В результате получается тар. Как видите, все очень просто в ТОМ случае, если хорошо понимать, по каким принципам строятся поверхности в Mathcad. Способ 6- Преобразование системы координат Последним мы рассмотрим самый простой и быстрый способ построения сферы. Зададим быстрым методом плоскость, а затем преобразуем ее из декартовой системы координат в сферическую (рис. 6.36), выбрав пункт 5р11епсаЦСфернческая) меню Coordinate System (Система координат) на вкладке Quick Plot Data (Данные графика быстрого построения) окна форматирования трехмерных графиков 3D-Plot Format М(х.у) X ![]() мм Рис. 6.36. Задание сферы преобразованием системы координат П остроить поверхность можно в совершенно любой системе координат. Для этого нужно воспользоваться функцией Create Mesh, задав параметр fmap самостоятельно как функцию. Пример того, как это можно сделать, приведен на рис. 6.37. *(Ф,9):= е Р*МАР(х,у,г) f i-sin(x)cos(y) 15rsin(x)-sin(y) , 5rcoe(x) j ![]() ![]() Cr»aliM*sh(z)Cii-iifM-.jiai.KIwIAf.i 0 ... 61 62 63 64 65 66 67 ... 177 |