Как построить трехмерный график в маткаде
Содержание
- MathCAD: матрица для 3D-графика
- Построение графика функции z=f(x,y) в виде поверхности в декартовой системе координат. Построение графика поверхности, заданной параметрически. Форматирование трехмерных графиков. Кривая в пространстве. Векторные и градиентные поля. Поверхности, полученные вращением кривых вокруг осей.
БлогNot. MathCAD: матрица для 3D-графика
MathCAD: матрица для 3D-графика
В ряде версий MathCAD единственный объект, который можно отобразить на трёхмерном графике — матрица, строки и столбцы которой должны содержать значения f(x,y) . Типовой вопрос начинающих — есть ли какой-то общий алгоритм формирования такой матрицы для построения 3D-графика функции f(x,y) в заданных пределах и с заданным шагом?
Такой алгоритм очень прост. Рассмотрим случай, когда шаг и пределы по осям 0x и 0y одинаковы, разные границы для значений x и y легко сделать по аналогии.
Сначала проделаем всю работу "вручную".
В любом случае, сначала следует определить границы изменения аргументов a , b и саму функцию, обозначим её z(x,y) :
Теперь можно действовать по одному из 2 алгоритмов.
Во-первых, мы можем определить желаемое число узлов сетки N по каждой из осей, а исходя из него вычислить шаг по аргументам h и заполнить матрицу значений функции:
Во-вторых, можно исходить из шага и по нему вычислить число узлов. Проблема этого способа в том, что выбранный нами шаг по аргументу может не составить целое количество интервалов сетки (например, шаг h=0.1 для интервала [0,π] ). Поэтому будем округлять вычисленное значение N вверх с помощью стандартной функции ceil . Возможно, мы рискуем при этом "прихватить" лишнюю область определения функции:
Обратите также внимание, что для построения 3D-графика в любой относительно новой версии MathCAD можно и не формировать матрицу, просто впишите в поле ввода графической области название функции без аргументов. Правда, пределы изменения аргументов и шаг в этом случае будет выбирать сам MathCAD:
Скачать архив .zip с этим примером (формат .xmcd) (96 Кб)
Если нужен график не функции двух переменных, а просто неких табличных данных, сформируйте матрицу "вручную", например, введите с клавиатуры A:= (знак := вводится нажатием двоеточия на клавиатуре), нажмите комбинацию клавиш Ctrl+M (вставка матрицы), задайте количество строк и столбцов матрицы, заполните пустые элементы матрицы данными.
Если быстрее прочитать матрицу из файла, поможет код вида
READPRN пишется именно так, большими буквами!
Документ должен быть сохранён, и в той же папке создан текстовый файл с именем data.txt (для этого примера, можно и любое другое имя файла), содержащий разбитые по строкам элементы матрицы, скажем, такие:
Узелок на память
MathCAD 15 в сборке Portable (и не только в ней) может отображать трёхмерные графики неправильно (видна только пустая рамка, хотя всё построено верно). В таком случае просто делаем двойной щелчок по графику, переходим в свойствах на вкладку Общие, отключаем опцию Показать границу. и всё работает!
Баг встречался и под Windows 7, и под XP.
Второй вариант исправления — установить в настройках Windows цветность 16 бит вместо 32, проверено, помогло на современных широких мониторах.
Ну и напоследок приятный сюрприз. Нашу работу можно автоматизировать с помощью готовой функции Mathcad (только версия 15 или линейка версий Prime):
Здесь f — заданная в документе функция 2 переменных, а матрица A создаётся по сетке значений x от -1 до 1 включительно с 30 узлами, значения y меняются от -2 до 2 включительно и создаётся 40 узлов сетки (количество интервалов будет на единицу меньше). Кроме того, в этом случае Mathcad может подписать оси графика не индексами узловых точек а нормальными значениями x и y:
График здесь — обычная поверхность (Surface Plot).
06.03.2014, 12:18; рейтинг: 18096
Построение графика функции z=f(x,y) в виде поверхности в декартовой системе координат.
Построение графика поверхности, заданной параметрически.
Форматирование трехмерных графиков.
Кривая в пространстве.
Векторные и градиентные поля.
Поверхности, полученные вращением кривых вокруг осей.
Для построения графика поверхности можно воспользоваться двумя способами:
1. Если вам надо только посмотреть общий вид поверхности, то MathCAD предоставляет возможность быстрого построения подобных графиков. Для этого достаточно определить функцию f(x,y) и выполнить команду Insert -> Graph -> Surface Plot или нажать соответствующую кнопку наборной панели Graph (соченание клавиш [Ctrl+7]). В появившейся графической области под осями на месте шаблона для ввода надо указать имя (без аргументов) функции. MathCAD автоматически построит график поверхности. Независимые переменные x и y принимают значения из промежутка [-5,5].
Если поверхность задана параметрически, это означает, что все три координаты — x и y и z — заданы как функции от двух параметров u и v. Сначала необходимо задать векторы значений параметров ui и vj. Затем необходимо определить матрицы значений функций координат x(u,v), y(u,v) и y(u,v). После выбора команды Surface Plot в MathCAD документе появится графическая область. В свободной ячейке внизу области надо указать В СКОБКАХ имена (без аргументов и индексов) трех матриц — x,y,z. |
|
- в области Frames опция Show box (Каркас) предназначена для отображения вокруг графика куба с прозрачными гранями, а опция Show border (Границы) позволяет заключить график в прямоугольную рамку.
- в области Plot 1 (Plot 2. ) Display as (График/ несколько графиков Отобразить как) — имеются селекторные кнопки для представления графика в друих видах (контурный, точечный, векторное поле и др.)
Элементы вкладки Axes (Ось) позволяют изменять внешний вид осей координат.
-
Посредством опций области Gr >
При этом рядом с осями Ox и Oy указываются не значения узловых точек xi, yj, а значения индексов i и j, в то время как ось Oz размечается в соответствии с промежутком, которому принадлежат элементы матрицы значений Ai,j.
- Если установлена опция Auto Grid (Автосетка), программа самостоятельно задает расстояние между соседними отметками на осях. Вы можете сами указать число линий сетки, если отключите указанную опцию.
- Если установленна опция Auto Scale (Авошкала) , то MathCAD сам определяет границы построкния графика и масштабы по осям. Можно отключить данную опцию и для каждой оси самостоятельно задать пределы изменения переменных в полях Minimum Value(Минимум) и Maximum Value (Максимум).
Вкладка Appearance (Внешний вид) позволяет изменять для каждого графика вид и цвет заливки поверхности (область Fill Options); вид, цвет и толщину дополнительных линий на графике (область Line Options); наносить на график точки данных (опция Draw Points области Point Options), менять их вид, размер и цвет.
Вкладка Lighting (Освещение) при включении опции Enable Lighting (Наличие подсветки) позволяет выбрать цветовую схему для освещения, "установить" несколько источников света, выбрав для них цвет освещения и определив его направление.
Вкладка Backplanes (Задние плоскости) позволяет изменить внешний вид плоскостей, ограничивающих область построения: цвет, нанесение сетки, определение ее цвета и толщины, прорисовка границ плоскостей.
На вкладке Special (Специальная) можно изменять параметры построения, специфичные для различных типов графиков.
Вкладка Advansed позволяет установить параметры печати и изменить цветовую схему для окрашивания поверхности нрафика, а также указать направление смены окраски (вдоль оси Ox, Oy или Oz). Включение опции Enable Fog (Наличие Тумана) делает график нечетким, слегка размытым (полупрозрачным). При включении опции Perspective (Перспектива) появляется возможность указать в соответствующем поле расстояние до наблюдателя.
Вкладка Quick Plot Data обсуждалась ранее в начале раздела.
Трехмерные точечные графики можно использовать для построения изображения пространственных кривых. Пространственные кривые задаются, как правило, в виде (x(t),y(t),z(t)), где t представляет собой непрерывный действительный параметр.
Поскольку при построении техмерной точечной диаграммы MathCAD позволяет отображать на графике только отдельные точки и соединяющие их линии, необходимо сначаоа определить три вектора координат — xi, yi, zi.