[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3. Ядро MathGL

Основным классом MathGL является класс mglGraph, определенный в #include <mgl/mgl.h>. Он включает в себя множество функций для построения графиков от 1D, 2D и 3D массивов. Он также содержит функции вывода текста и построения осей координат. Есть возможность построения в произвольной системе координат, которая задается строковыми формулами. Все графические функции используют класс mglData (see section Класс mglData) для хранения массивов данных. Это позволяет легко контролировать размеры, работу с памятью и производить обработку данных. Дополнительная информация о цветах, шрифтах, вычисления формул может быть найдена в Other classes.

Замечу, что класс mglGraph – абстрактный класс, содержащий только интерфейсную часть для построения графиков. Он не выполняет собственно построения на конкретное устройство. Для практического использования (при выводе на экран, в память или в файл) используйте производные классы: mglGraphZB для растровых рисунков; mglGraphPS для векторных рисунков (в форматах EPS и/или SVG) и для быстрого, но менее аккуратного рисования растровой картинки; mglGraphGL для рисования с использованием OpenGL; и т.д. see section Классы для отрисовки. Если вы хотите не только построить картинку, но и отобразить ее в окне/органе управления или запустить анимацию, то посмотрите также “Оконные” классы.

Начиная с версии 1.10 есть специальный класс "оболочка" к функциям С-интерфейса. Он также называется mglGraph и определен в файле mgl/mgl_graph.h. Этот класс можно использовать и на не-GNU компиляторах (т.е. в Borland или Microsoft компиляторах), но в этом случае вы не должны подключать заголовочные файлы mgl/mgl.h или mgl/mgl_parse.h! Этот класс используется также как базовый класс для интерфейсов на основе SWIG (Python, Octave и пр). Далее в документации функции члены "оболочечного" класса обозначены как ‘Python’ для отделения от оригинального класса ‘C++’, определенного в mgl/mgl.h.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 Настройка графика

Функции и переменные в этой группе влияют на вид всего рисунка. Соответственно они должны располагаться перед вызовом функций непосредственно рисующих графики.

Метод класса mglGraph (C++, Python): void DefaultPlotParam ()
Функция С: void mgl_set_def_param (HMGL gr)

Устанавливает все настройки по умолчанию, кроме описанных в Масштабирование.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.1 Прозрачность

Эти функции и переменные настраивают тип и степень прозрачности поверхностей. Главной является функция Alpha(), которая включает/выключает прозрачность для всех графиков, созданных после вызова Alpha() (за исключением mglGraphGL). Функция SetAlphaDef устанавливает величину alpha-канала по умолчанию. Прозрачность можно выключить для отдельного графика с помощью SetTransparent. Наконец, функция SetTranspType задает тип прозрачности. См. раздел Transparent surface – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): bool Alpha (bool enable)
Функция С: void mgl_set_alpha (HMGL gr, int enable)

Включает/выключает прозрачность и возвращает свое предыдущее состояние. По умолчанию прозрачность выключена. Функция включает прозрачность для всего рисунка. Используйте SetTransparent(false) для конкретного графика для выключения прозрачности.

Метод класса mglGraph (C++, Python): void SetAlphaDef (float val)
Функция С: void mgl_set_alpha_по умолчанию (HMGL gr, float alpha)

Задает значение прозрачности по умолчанию для всех графиков. Отмечу, что OpenGL (mglGraphGL) некорректно рисует большое число перекрывающихся прозрачных поверхностей (больше двух).

Метод класса mglGraph (C++, Python): void SetTransparent (bool val)
Функция С: void mgl_set_transp (HMGL gr, int enable)

Временно включает/возвращает прозрачность графиков. Это аналог Alpha(val), но работает более корректно для класса mglGraphGL.

Метод класса mglGraph (C++, Python): void SetTranspType (int type)
Функция С: void mgl_set_transp_type (HMGL gr, int enable)

Задает тип прозрачности. Обычная прозрачность (‘0’) – "закрытые" объекты видны меньше чем закрывающие. Этот режим некорректно отображается в OpenGL (mglGraphGL) для нескольких перекрывающихся поверхностей. "Стеклянная" прозрачность (‘1’) – закрытые и закрывающие объекты единообразно ослабляют интенсивность света (по RGB каналам). "Ламповая" прозрачность (‘2’) – закрытые и закрывающие объекты являются источниками дополнительного освещения (рекомендую установить SetAlphaDef(0.3) или меньше в этом случае). See section Обычная прозрачность, "Стеклянная" прозрачность, "Ламповая" прозрачность.

Устаревшая переменная of mglGraph: float AlphaDef

Значение прозрачности по умолчанию для всех графиков. См. SetAlphaDef().

Устаревшая переменная of mglGraph: bool Transparent

Флаг, временно включающий/выключающий прозрачность графиков. См. SetTransparent().

Устаревшая переменная of mglGraph: int TranspType

Тип прозрачности. См. SetTranspType().


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.2 Освещение

Эти функции настраивают освещение графика. Главная функция Light(bool) включает/выключает освещение графиков построенных после ее вызова (в OpenGL работает сразу для всего рисунка). MathGL поддерживает до 10 независимых источников света. Но в режиме OpenGL можно использовать только первые 8 из них. Положение, цвет, яркость каждого источника света можно задавать по отдельности. По умолчанию включен только первый (с порядковым номером 0) источник света белого цвета, расположенный сверху.

Метод класса mglGraph (C++, Python): bool Light (bool enable)
Функция С: void mgl_set_light (HMGL gr, int enable)

Включает/выключает освещение графика и возвращает предыдущее состояние. По умолчанию освещение выключено.

Метод класса mglGraph (C++, Python): void Light (int n, bool enable)
Функция С: void mgl_set_light_n (HMGL gr, int n, int enable)

Включает/выключает n-ый источник света.

Метод класса mglGraph (C++, Python): void AddLight (int n, float x, float y, float z, char c='w')
Метод класса mglGraph (C++): void Light (int n, mglPoint p, char c='w', float bright=0.5, bool infty=true)
Метод класса mglGraph (C++): void Light (int n, mglPoint p, mglColor c, float bright=0.5, bool infty=true)
Функция С: void mgl_add_light (HMGL gr, int n, float x, float y, float z, char c)

Добавляет источник света с номером n в положение p с цветом c и яркостью bright, которая должна быть в диапазоне [0,1]. Флаг infty=true делает источник бесконечно удаленным (для более быстрого рисования).

Метод класса mglGraph (C++, Python): void Ambient (float bright=0.5)
Функция С: void mgl_set_ambbr (HMGL gr, float bright)

Задает яркость рассеянного освещения. Значение должно быть в диапазоне [0,1].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.3 Туман

Метод класса mglGraph (C++, Python): void Fog (float d, float dz=0.25)
Функция С: void mgl_set_fog (HMGL gr, float d, float dz)

Имитирует туман на графике. Туман начинается на относительном расстоянии dz от точки обзора и его плотность растет экспоненциально вглубь по закону ~1-exp(-d*z). Здесь z – нормализованная на 1 глубина графика. Если d=0 то туман отсутствует. См. раздел Surface in fog – пример использования, для примеров кода и графика.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.4 Базовые размеры

Эти функции задают величины большинства параметров графика, включая размеры маркеров, стрелок, толщину линий и т.д. Как и любые другие настройки, они подействуют только на графики созданные после изменения настроек.

Метод класса mglGraph (C++, Python): void SetBarWidth ( float val)
Функция С: void mgl_set_bar_width (HMGL gr, float val)

Задает относительный размер прямоугольников в Bars, Barh, BoxPlot (see section Bars). Значение по умолчанию 0.7.

Метод класса mglGraph (C++, Python): void SetMarkSize (float val)
Функция С: void mgl_set_mark_size (HMGL gr, float val)

Задает размер маркеров для 1D графики. Значение по умолчанию 0.02.

Метод класса mglGraph (C++, Python): void SetArrowSize (float val)
Функция С: void mgl_set_arrow_size (HMGL gr, float val)

Задает размер стрелок для 1D графики, линий и кривых (see section Рисование примитивов). Значение по умолчанию 0.03.

Метод класса mglGraph (C++, Python): void SetBaseLineWidth (float val)
Функция С: void mgl_set_base_line_width (HMGL gr, float val)

Задает базовую толщину линий. Значения <1 игнорируются. Для значений >1 реальная толщина получается перемножением указанной ширины линии на данное значение. Увеличение ширины линии актуально для больших растровых рисунков. Значение по умолчанию 1.

Метод класса mglGraph (C++, Python): void SetTickLen (float val, float stt=1)
Функция С: void mgl_set_tick_len (HMGL gr, float val, float stt)

Задает относительную длину меток осей координат. Значение по умолчанию 0.1. Параметр stt>0 задает относительную длину подметок, которые в sqrt(1+stt) раз меньше.

Метод класса mglGraph (C++, Python): void SetTickStl (const char *stl, const char *sub=0)
Функция С: void mgl_set_tick_stl (HMGL gr, const char *stl, const char *sub)

Задает стиль меток (stl) и подметок (sub) осей координат. Если stl пустая или ноль, то используется стиль по умолчанию (‘k’ или ‘w’ в зависимости от типа прозрачности). Если sub пустая или ноль, то используется стиль меток (т.е. stl).

Устаревшая переменная of mglGraph: float BarWidth

Относительная ширина боксов. См. SetBarWidth().

Устаревшая переменная of mglGraph: float MarkSize

Размер маркеров. См. SetMarkSize().

Устаревшая переменная of mglGraph: float ArrowSize

Размер стрелок. См. SetArrowSize().

Устаревшая переменная of mglGraph: float BaseLineWidth

Базовая ширина линий. См. SetBaseLineWidth().


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.5 Масштабирование

Эти функции управляют масштабированием всего рисунка (см Zoom()) или отдельной картинки (см PlotFactor). Обычно эти функции используются для удаления пустого места вокруг графиков.

Метод класса mglGraph (C++, Python): void SetPlotFactor (float val)
Функция С: void mgl_set_plotfactor (HMGL gr, float val)

Задает масштаб картинки (значение должно быть больше 1). Не рекомендуется устанавливать значения меньше 1.5. Это аналог функции Zoom(), но применяется только к конкретной картинке, заданной InPlot. Используйте ноль для включения автоматического масштабирования.

Метод класса mglGraph (C++, Python): void Zoom (float x1, float y1, float x2, float y2)
Функция С: void mgl_set_zoom (HMGL gr, float x1, float y1, float x2, float y2)

Масштабирует весь рисунок. После вызова функции текущий график будет очищен и в дальнейшем рисунок будет содержать только область [x1,x2]*[y1,y2] от исходного рисунка. Координаты x1, x2, y1, y2 меняются в диапазоне от 0 до 1. Внимание! эти настройки не могут быть переписаны никакими другими функциями. Используйте Zoom(0,0,1,1) для перехода в масштаб по умолчанию.

Устаревшая переменная of mglGraph: float PlotFactor

Множитель масштаба картинки. См. SetPlotFactor().

Устаревшая переменная of mglGraph: bool AutoPlotFactor

Включает/выключает автоматическое изменение PlotFactor при вращении графика. См. SetPlotFactor().


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.6 Обрезание

Эти функции задают условия когда точка будет исключена (вырезана) из рисования. Замечу, что все точки со значением(-ями) NAN по одной из координат или амплитуде автоматически исключаются из рисования.

Метод класса mglGraph (C++, Python): void SetCut (bool val)
Функция С: void mgl_set_cut (HMGL gr, int val)

Задает обрезание точек за пределами осей координат. Если true то такие точки исключаются из рисования (это по умолчанию) иначе они проецируются на ограничивающий прямоугольник.

cut

Левый рисунок нарисован при Cut=false, правый при Cut=true.

Метод класса mglGraph (C++, Python): void SetCutBox (float x1, float y1, float z1, float x2, float y2, float z2)
Функция С: void mgl_set_cut_box (HMGL gr, float x1, float y1, float z1, float x2, float y2, float z2)

Задает границы параллелепипеда внутри которого точки не рисуются. Если границы одинаковы (переменные равны), то параллелепипеда считается пустым. См. раздел CutMinMax – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void CutOff (const char *EqC)
Функция С: void mgl_set_cutoff (HMGL gr, const char *EqC)

Задает условие обрезания по формуле EqC. Это условие исключает точки из рисования если результат вычисления формулы не равен нулю. Установите аргумент "" для выключения условия обрезания. См. раздел CutOff – пример использования, для примеров кода и графика.

Устаревшая переменная of mglGraph: bool Cut

Флаг рисования точек вне осей координат. См. SetCut().

Устаревшая переменная of mglGraph: mglPoint CutMin, CutMax

Нижний и верхний угол параллелепипеда внутри которого точки не рисуются. См. SetCutBox().


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.7 Шрифты

Метод класса mglGraph (C++, Python): void SetFontSize (float val)
Функция С: void mgl_set_font_size (HMGL gr, float val)

Задает базовый размер шрифта. По умолчанию размер подписей оси координат в 1.4 раза больше.

Метод класса mglGraph (C++, Python): void SetFontDef (const char *fnt)
Функция С: void mgl_set_font_def (HMGL gr, const char * val)

Задает стиль шрифта (see section Вывод текста). По умолчанию используется ‘rC’ – прямой шрифт с выравниванием по центру.

Метод класса mglGraph (C++, Python): void SetRotatedText (bool val)
Функция С: void mgl_set_rotated_text (HMGL gr, int val)

Включает/выключает вращение меток и подписей осей координат вдоль оси.

Метод класса mglGraph (C++, Python): void LoadFont (const char *name, const char *path="")
Функция С: void mgl_load_font (HMGL gr, const char *name, const char *path)

Загружает начертание шрифта из файла path/name.

Метод класса mglGraph (C++, Python): void CopyFont (mglGraph * from)
Функция С: void mgl_copy_font (HMGL gr, HMGL gr_from)

Копирует начертание шрифта из другого объекта mglGraph.

Метод класса mglGraph (C++, Python): void RestoreFont ()
Функция С: void mgl_restore_font (HMGL gr)

Восстанавливает начертание шрифта по умолчанию.

Метод класса mglGraph (C++): void SetFontSizePT (float cm, int dpi=72)

Задает размер шрифта в пунктах для заданного DPI (по умолчанию 16 pt для dpi=72).

Метод класса mglGraph (C++): inline void SetFontSizeCM (float cm, int dpi=72)

Задает размер шрифта в сантиметрах для заданного DPI (по умолчанию 0.56 см = 16 pt).

Метод класса mglGraph (C++): inline void SetFontSizeIN (float cm, int dpi=72)

Задает размер шрифта в дюймах для заданного DPI (по умолчанию 0.22 in = 16 pt).

Метод класса mglGraph (C++): void SetFont (mglFont *f)

Задает начертание шрифта. Замечу, что каждый объект mglFont может использоваться только с одним объектом mglGraph в каждый момент времени! Если f==NULL, то используется начертание по умолчанию.

Метод класса mglGraph (C++): inline mglFont * GetFont ()

Возвращает текущее начертание шрифта. Указатель правилен только до следующего вызова функции SetFont()!

Устаревшая переменная of mglGraph: float FontSize

Размер шрифта. См. SetFontSize().

Устаревшая переменная of mglGraph: char FontDef[32]

Стиль шрифта. См. SetFontDef().

Устаревшая переменная of mglGraph: bool RotatedText

Флаг вращения меток и подписей к осям координат.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.8 Палитра и цвета

Метод класса mglGraph (C++, Python): void SetPalette (const char *colors)
Функция С: void mgl_set_palette (HMGL gr, const char *colors)

Задает палитру как последовательность цветов. Значение по умолчанию "Hbgrcmyhlnqeup", что соответствует цветам: темно серый ‘H’, синий ‘b’, зеленый ‘g’, красный ‘r’, голубой ‘c’, малиновый ‘m’, желтый ‘y’, серый ‘h’, сине-зеленый ‘l’, небесно-голубой ‘n’, оранжевый ‘q’, желто-зеленый ‘e’, сине-фиолетовый ‘u’, фиолетовый ‘p’. Палитра в основном используется в 1D графиках (see section 1D графики) для кривых с неопределенным стилем линии.

Метод класса mglGraph (C++, Python): void SetPalColor (int n, float r, float g, float b)
Функция С: void mgl_set_pal_color (HMGL gr, int n, float r, float g, float b)

Задает цвет отдельной ячейки палитры. См. функцию SetPalette() для упрощенного задания палитры.

Метод класса mglGraph (C++, Python): void SetPalNum (int num)
Функция С: void mgl_set_pal_num (HMGL gr, int num)

Задает число цветов в палитре. Значение должно быть меньше 100.

Метод класса mglGraph (C++, Python): void SetScheme (const char *sch)
Функция С: void mgl_set_scheme (HMGL gr, const char *sch)

Задает цветовую схему. Обычно функция вызывается внутри библиотеки. See section Цветовая схема.

Метод класса mglGraph (C++): void SelectPen (const char *sch)

Задает стиль линий и маркеров. Обычно функция вызывается внутри библиотеки. See section Стиль линий.

Устаревшая переменная of mglGraph: mglColor Pal[101]

Палитра 1D графики. См. SetPalette().

Устаревшая переменная of mglGraph: int NumPal

Число цветов в палитре. См. SetPalette().


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.9 Обработка ошибок

Есть 2 переменные показывающие наличие предупреждения/ошибки при создании графика. Обычно вы должны сбросить их с помощью SetWarn(0); перед построением и проверить переменную WarnCode на наличие ошибок после построения. Только последнее предупреждение сохраняется. Замечу, что все предупреждения/ошибки в MathGL не являются критичными – в худшем из вариантов соответствующий график просто не будет построен.

Метод класса mglGraph (C++): void SetWarn (int code, const char *who="")

Задает код предупреждения и поясняющее сообщение от функции who. Обычно вызывается только для очистки предупреждений (SetWarn(0);) или внутри библиотеки.

Переменная(C++) of mglGraph: char * Message

Указатель на строку для вывода сообщений библиотеки о причине отсутствия графика. Если равен NULL, то сообщения не выводятся. Размер буфера должен быть не менее 1024 байт. Если Message[0]==0, то сообщений нет.

Method on mglGraph (C++, Python): int GetWarn ()
C function: int mgl_get_warn (HMGL gr)

Возвращает код сообщения о причине отсутствия графика. Возможные значения:

mglWarnNone=0

Предупреждений нет

mglWarnDim

Неправильные или несовместимые размеры данных

mglWarnLow

Размеры данных слишком малы

mglWarnNeg

Минимальное значение отрицательно

mglWarnFile

Файл не найден или указаны неправильные размерности

mglWarnMem

Не достаточно памяти

mglWarnZero

Значение данных равно нулю

mglWarnLegA

Слишком много записей в легенде

mglWarnLeg

Нет записей в легенде

mglWarnSlc

Индекс среза вне данных

mglWarnCnt

Число линий уровня меньше или равно нулю

mglWarnOpen

Не могу открыть файл

mglWarnLId

Light: ID вне допустимых значений

mglWarnSize

Setsize: размер(ы) равны нулю или отрицательны

mglWarnFmt

Формат не поддерживается

Устаревшая переменная of mglGraph: int WarnCode

Код сообщения о причине отсутствия графика.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.10 Прочие настройки

Метод класса mglGraph (C++, Python): void SetMeshNum (int val)
Функция С: void mgl_set_meshnum (HMGL gr, int num)

Задает ориентировочное число линий в Mesh(), Fall(), Grid() и число стрелок (штрихов) в Vect(), Dew() и число ячеек в Cloud*(). По умолчанию (=0) рисуются все линии, стрелки, ячейки.

Метод класса mglGraph (C++, Python): void SetAxialDir (char val)
Функция С: mgl_set_axial_dir (HMGL gr, char dir)

Задает ось вращения для Axial() и Torus(). По умолчанию это ’z’.

Метод класса mglGraph (C++, Python): void SetDrawFace (bool val)
Функция С: void mgl_set_draw_face (HMGL gr, int val)

Запрещает/разрешает рисование граней. Запрет вывода граней позволяет ускорить рисование (например для вращения картинки).

Переменная(C++) of mglGraph: const char * PlotId

Идентификатор рисунка для сохранения в файл.

Устаревшая переменная of mglGraph: int MeshNum

Число линий, стрелок, ячеек. См. SetMeshNum().

Устаревшая переменная of mglGraph: char AxialDir

Ось вращения. См. SetAxialDir().

Устаревшая переменная of mglGraph: bool DrawFace

Флаг запрета рисования граней. См. SetDrawFace().

Переменная(C++) of mglGraph: int CirclePnts

Число точек при аппроксимации окружности в Рисование примитивов, Tube, Pipe и т.д. По умолчанию 40.

Переменная(C++) of mglGraph: int GridPnts

Число точек при построении линий сеток – важно для криволинейных координат. По умолчанию 50.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2 Настройки осей координат

Эти функции управляет видом и масштабом осей координат. Перед построением для каждой точки выполняются 3 преобразования: сначала определяется возможность рисования точки (see section Обрезание), далее применяются формулы перехода к криволинейным координатам и наконец точка отображается.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.1 Масштаб осей координат

Метод класса mglGraph (C++, Python): void SetRanges (float x1, float x2, float y1, float y2, float z1=0, float z2=0)
Метод класса mglGraph (C++): void Axis (mglPoint min, mglPoint max, mglPoint org=mglPoint(NAN,NAN,NAN))
Функция С: void mgl_set_axis_2d (HMGL gr, float x1, float y1, float x2, float y2)
Функция С: void mgl_set_axis_3d (HMGL gr, float x1, float y1, float z1, float x2, float y2, float z2)

Безопасным образом задает значения переменных Min, Max и Org. Если минимальное и максимальное значение координаты равны, то они игнорируются по данному направлению. Эта функция также устанавливает размер цветовой шкалы Cmin=Min.z и Cmax=Max.z – это режим по умолчанию для 2d графиков.

Метод класса mglGraph (C++, Python): void SetCRange (float min, float max)
Метод класса mglGraph (C++): void CAxis (float min, float max)
Функция С: void mgl_set_caxis (HMGL gr, float min, float max)

Задает масштаб цветовой шкалы. Эти значения используются для определения цвета поверхностей и прочих 2D и 3D графиков.

Метод класса mglGraph (C++, Python): void XRange (const mglData & dat, bool add=false, float fact=0)
Функция С: void mgl_set_xrange (HMGL gr, const HMDT a, int add)

Задает масштаб по оси X как минимальное и максимальное значение массива a. Параметр add указывает добавлять новый диапазон к существующему или заменять его. Параметр fact дополнительно расширяет диапазон на величину (Max-Min)*fact.

Метод класса mglGraph (C++, Python): void YRange (const mglData & dat, bool add=false, float fact=0)
Функция С: void mgl_set_yrange (HMGL gr, const HMDT a, int add)

Задает масштаб по оси Y как минимальное и максимальное значение массива a. Параметр add указывает добавлять новый диапазон к существующему или заменять его. Параметр fact дополнительно расширяет диапазон на величину (Max-Min)*fact.

Метод класса mglGraph (C++, Python): void ZRange (const mglData & dat, bool add=false, float fact=0)
Функция С: void mgl_set_zrange (HMGL gr, const HMDT a, int add)

Задает масштаб по оси Z как минимальное и максимальное значение массива a. Параметр add указывает добавлять новый диапазон к существующему или заменять его. Параметр fact дополнительно расширяет диапазон на величину (Max-Min)*fact.

Метод класса mglGraph (C++, Python): void CRange (const mglData & dat, bool add=false, float fact=0)
Функция С: void mgl_set_crange (HMGL gr, const HMDT a, int add)

Задает цветовой масштаб как минимальное и максимальное значение массива a. Параметр add указывает добавлять новый диапазон к существующему или заменять его. Параметр fact дополнительно расширяет диапазон на величину (Max-Min)*fact.

Метод класса mglGraph (C++, Python): void SetAutoRanges (float x1, float x2, float y1=0, float y2=0, float z1=0, float z2=0)
Функция С: void mgl_set_auto (HMGL gr, float x1, float x2, float y1, float y2, float z1, float z2)

Задает масштаб "автоматических" (не указанных явно) переменных. Функция меняет значения Min, Max буз вызова RecalcBorder(). Если минимальное и максимальное значение координаты равны, то они игнорируются по данному направлению. Замечу, что этот масштаб становится масштабом осей при следующем вызове функций [XYZ]Range().

Метод класса mglGraph (C++, Python): void SetOrigin (float x0, float y0, float z0=NAN)
Функция С: void mgl_set_origin (HMGL gr, float x0, float y0, float z0)

Задает центр пересечения осей координат. Если одно из значений равно NAN, то MathGL попытается выбрать оптимальное положение осей координат по этому направлению.

Метод класса mglGraph (C++): void RecalcBorder ()

Повторно вычисляет внутренние параметры для правильного применения функций перехода в криволинейную систему координат. Должна быть вызвана после каждого прямого изменения переменных Min, Max, fx, fy, fz если их изменение должно отразиться на графике.

Переменная(C++) of mglGraph: mglPoint Min, Max

Масштаб осей координат. Эти переменные используются также для определения диапазона "автоматических" массивов (массивов не указанных явно при построении графика). Вы можете изменить их перед построением графика и потом вернуть их назад. В результате график будет в указанном диапазоне, а не в диапазоне осей координат. НО если вы хотите поменять масштаб осей, то вы должны вызвать функцию RecalcBorder();.

Переменная(C++) of mglGraph: float Cmin, Cmax

Масштаб цветовой шкалы. См. CAxis(), CRange().

Переменная(C++) of mglGraph: mglPoint Org

Центр пересечения осей координат. См. SetOrigin().

Переменная(C++) of mglGraph: bool AutoOrg

Флаг для автоматического сдвига осей координат если их центр пересечения лежит вне диапазона осей координат Min ... Max.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.2 Криволинейные координаты

Метод класса mglGraph (C++, Python): void SetFunc (const char *EqX, const char *EqY, const char *EqZ="", const char *EqA="")
Функция С: void mgl_set_func (HMGL gr, const char *EqX, const char *EqY, const char *EqZ)
Функция С: void mgl_set_func_ext (HMGL gr, const char *EqX, const char *EqY, const char *EqZ, const char *EqA)

Задает формулы перехода к криволинейным координатам. Каждая строка является математическим выражением, зависящим от старых координат ‘x’, ‘y’, ‘z’ и ‘a’ или ‘c’ для цветовой шкалы. Например, для цилиндрических координат будет Axis("x*cos(y)", "x*sin(y)", "z");. Для удаления формул соответствующий параметр должен быть пустым или NULL. Использование формул преобразования слегка замедляет программу, т.е.. Axis("", "", "") быстрее чем Axis("1*x", "1*y", "1*z"). Параметр EqA задает аналогичную формулу для цветовой шкалы. See section Текстовые формулы.

Метод класса mglGraph (C++, Python): void SetCoor (int how)
Функция С: void mgl_set_coor (HMGL gr, int how)

Устанавливает одну из предопределенных систем криволинейных координат в зависимости от параметра how: mglCartesian=0 – декартова система (нет преобразования координат, наиболее быстрая); mglPolar=1 – полярные координаты x_n=x*cos(y),y_n=x*sin(y), z_n=z; mglSpherical=2 – сферические координаты x_n=x*sin(y)*cos(z), y_n=x*sin(y)*sin(z), z_n=x*cos(y); mglParabolic=3 – параболические координаты x_n=x*y, y_n=(x*x-y*y)/2, z_n=z; mglParaboloidal=4 – Paraboloidal coordinates x_n=(x*x-y*y)*cos(z)/2, y_n=(x*x-y*y)*sin(z)/2, z_n=x*y; mglOblate=5 – Oblate coordinates x_n=cosh(x)*cos(y)*cos(z), y_n=cosh(x)*cos(y)*sin(z), z_n=sinh(x)*sin(y); mglProlate=6 – Prolate coordinates x_n=sinh(x)*sin(y)*cos(z), y_n=sinh(x)*sin(y)*sin(z), z_n=cosh(x)*cos(y); mglElliptic=7 – эллиптические координаты x_n=cosh(x)*cos(y), y_n=sinh(x)*sin(y), z_n=z; mglToroidal=8 – тороидальные координаты x_n=sinh(x)*cos(z)/(cosh(x)-cos(y)), y_n=sinh(x)*sin(z)/(cosh(x)-cos(y)), z_n=sin(y)/(cosh(x)-cos(y)); mglBispherical=9 – бисферические координаты x_n=sin(y)*cos(z)/(cosh(x)-cos(y)), y_n=sin(y)*sin(z)/(cosh(x)-cos(y)), z_n=sinh(x)/(cosh(x)-cos(y)); mglBipolar=10 – биполярные координаты x_n=sinh(x)/(cosh(x)-cos(y)), y_n=sin(y)/(cosh(x)-cos(y)), z_n=z.

Метод класса mglGraph (C++, Python): void Ternary (bool tern)
Функция С: void mgl_set_ternary (HMGL gr, int tern)

Задает рисование треугольных (Ternary) осей координат. Это специальный тип графика для 3 зависимых координат (компонент) a, b, c таких, что a+b+c=1. MathGL использует только 2 независимые координаты a=x и b=y поскольку их достаточно для построения всех графиков. При этом третья координата z является независимым параметром для построения линий уровня, поверхностей и т.д. См. раздел Ternary plot – пример использования, для примеров кода и графика.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.3 Метки осей

Метод класса mglGraph (C++, Python): void AdjustTicks (const char *dir="xyz")
Функция С: void mgl_adjust_ticks (HMGL gr, const char *dir)

Автоматически задает шаг меток осей, число подметок и начальное положение меток для осей координат dir в виде наиболее удобном для человека. Также задает SetTuneTicks(true).

Метод класса mglGraph (C++, Python): void SetTicks (char dir, float d=-5, int ns=0, float org=NAN)
Функция С: void mgl_set_ticks_dir (HMGL gr, char dir, float d, int ns, float org)
Функция С: void mgl_set_ticks (HMGL gr, float dx, float dy, float dz)
Функция С: void mgl_set_subticks (HMGL gr, int nx, int ny, int nz)
Функция С: void mgl_set_tick_origin (HMGL gr, float x0, float y0, float z0)

Задает шаг меток осей d, число подметок ns и начальное положение меток org для оси вдоль направления dir (используйте ’c’ для меток colorbar). Переменная d задает шаг меток (если положительна) или их число на оси (если отрицательна). Нулевое значение задает логарифмические метки. Если org=NAN, то используется значение из переменной Org.

Метод класса mglGraph (C++, Python): void SetTicksVal (char dir, int n, float *val, const char **lbl)
Метод класса mglGraph (C++, Python): void SetTicksVal (char dir, int n, float *val, const wchar_t **lbl)
Метод класса mglGraph (C++): void SetTicksVal (char dir, int n, float val1, wchar_t *lbl1, ...)
Функция С: void mgl_set_ticks_vals (HMGL gr, char dir, int n, float *val, const char **lbl)
Функция С: void mgl_set_ticks_val (HMGL gr, char dir, int n, double val, const char *lbl, ...)

Задает явное положение val и подписи lbl для n меток вдоль оси dir. Массивы val и lbl должны содержать n элементов. Используйте SetTicks() для восстановления автоматических меток. Вы должны быть очень осторожны и использовать числа с плавающей точкой (а не целые!!!) для положения меток – из-за ограничений передачи аргументов в библиотеке stdarg. См. раздел Особые метки по осям, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void SetTuneTicks (bool tune, float pos=1.15)
Функция С: void mgl_tune_ticks (HMGL gr, bool tune, float pos)

Включает/выключает улучшение вида меток осей путем вынесения общего множителя (для маленьких, типа 0.001...0.002, или больших, типа 1000...2000, значений координат) или общей компоненты (для узкого диапазона, типа 0.999...1.000). Также задает положение pos общего множителя на оси: =0 около минимального значения, =1 около максимального значения.

Метод класса mglGraph (C++, Python): void SetXTT (const char *xtt)
Метод класса mglGraph (C++, Python): void SetYTT (const char *ytt)
Метод класса mglGraph (C++, Python): void SetZTT (const char *ztt)
Метод класса mglGraph (C++, Python): void SetCTT (const char *ctt)
Метод класса mglGraph (C++, Python): void SetXTT (const wchar_t *xtt)
Метод класса mglGraph (C++, Python): void SetYTT (const wchar_t *ytt)
Метод класса mglGraph (C++, Python): void SetZTT (const wchar_t *ztt)
Метод класса mglGraph (C++, Python): void SetCTT (const wchar_t *ctt)
Функция С: void mgl_set_xttw (HMGL gr, const wchar_t *xtt)
Функция С: void mgl_set_yttw (HMGL gr, const wchar_t *ytt)
Функция С: void mgl_set_zttw (HMGL gr, const wchar_t *ztt)
Функция С: void mgl_set_cttw (HMGL gr, const wchar_t *ctt)
Функция С: void mgl_set_xtt (HMGL gr, const wchar_t *xtt)
Функция С: void mgl_set_ytt (HMGL gr, const wchar_t *ytt)
Функция С: void mgl_set_ztt (HMGL gr, const wchar_t *ztt)
Функция С: void mgl_set_ctt (HMGL gr, const wchar_t *ctt)

Задает шаблоны для меток вдоль x-,y-,z-оси или colorbar. Шаблон может содержать и символы TeX. Если xtt, ytt, ztt, ctt="", то используется шаблон по умолчанию (в простейшем случае ‘%.2g’). Установка шаблона выключает автоматическое улучшение вида меток (См. SetTuneTicks()).

Устаревшая переменная of mglGraph: float dx, dy, dz

Шаг меток осей. См. SetTicks().

Устаревшая переменная of mglGraph: int NSx, NSy, NSz

Число подметок. См. SetTicks().

Устаревшая переменная of mglGraph: mglPoint OrgT

Начальная точка для меток. См. SetTicks().

Устаревшая переменная of mglGraph: bool TuneTicks

Флаг автоматического улучшения меток. См. SetTuneTicks().

Устаревшая переменная of mglGraph: float FactorPos

Положение общего множителя. См. SetTuneTicks().


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3 Матрица преобразования

Эти функции контролируют где и как график будет расположен. Существует определенный порядок вызова этих функций для лучшего вида графика. Вначале должны вызываться функции SubPlot() или InPlot() для указания местоположения вывода. После них – функции вращения Rotate() и сжатия Aspect(). И наконец любые другие функции для рисования графика. Вместо вращения графика можно вызвать функцию ColumnPlot() для расположения графиков в столбец одного над другим без зазора между осями.

Метод класса mglGraph (C++, Python): void SubPlot (int nx, int ny, int m, float dx=0, float dy=0)
Функция С: void mgl_subplot (HMGL gr, int nx, int ny, int m)
Функция С: void mgl_subplot_d (HMGL gr, int nx, int ny, int m, float dx, float dy)

Помещает последующий вывод в m-ую ячейку сетки размером nx*ny от всего рисунка. Функция сбрасывает матрицу трансформации (повороты и сжатие графика) и должна вызываться первой для создания "подграфика". С эстетической точки зрения не рекомендуется вызывать эту функцию с различными (или не кратными) размерами сетки. Ячейка может быть дополнительно сдвинута относительно своего обычного положения на относительный размер dx, dy.

Method on mglGraph (C++, Python): void SubPlot (int nx, int ny, int m, const char *style)
C function: void mgl_subplot_s (HMGL gr, int nx, int ny, int m, const char *style)

Аналогично предыдущему, но место для осей/colorbar резервируется только если строка style содержит: ‘L’ или ‘<’ – с левого края, ‘R’ или ‘>’ – с правого края, ‘A’ или ‘^’ – с верхнего края, ‘U’ или ‘_’ – с нижнего края.

Метод класса mglGraph (C++, Python): void InPlot (float x1, float x2, float y1, float y2, bool rel=false)
Функция С: void mgl_inplot (HMGL gr, float x1, float x2, float y1, float y2)
Функция С: void mgl_relplot (HMGL gr, float x1, float x2, float y1, float y2)

Помещает последующий вывод в прямоугольную область [x1, x2]*[y1, y2] (исходный размер [0,1]*[0,1]). Эта функция позволяет поместить график в произвольную область рисунка. Если параметр rel=true, то используется позиция относительно текщего SubPlot() (или InPlot() с rel=false). Функция сбрасывает матрицу трансформации (повороты и сжатие графика) и должна вызываться первой для создания "подграфика".

Метод класса mglGraph (C++, Python): void ColumnPlot (int num, int ind, float d=0)
Функция С: void mgl_columnplot (HMGL gr, int num, int ind)
Функция С: void mgl_columnplot (HMGL gr, int num, int ind, float d)

Помещает последующий вывод в ind-ую строку столбца из num строк. Положение столбца выбирается относительно последнего вызова SubPlot() (или InPlot() с rel=false). Параметр d задает дополнительный зазор между строк. См. раздел ColumnPlot – пример использования, для примеров кода и графика.

Method on mglGraph (C++, Python): void StickPlot (int num, int ind, float tet, float phi)
C function: void mgl_stickplot (HMGL gr, int num, int ind, float tet, float phi)

Помещает последующий вывод в ind-ую ячейку "бруска" из num ячеек. При этом сам брусок повернут на углы tet, phi. Положение выбирается относительно последнего вызова SubPlot() (или InPlot() с rel=false). См. раздел StickPlot – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Rotate (float TetX, float TetZ, float TetY=0)
Функция С: void mgl_rotate (HMGL gr, float TetX, float TetZ, float TetY)

Вращает систему координат относительно осей {x, z, y} последовательно на углы TetX, TetZ, TetY.

Метод класса mglGraph (C++, Python): void RotateN (float Tet, float x, float y, float z)
Функция С: void mgl_rotate_vector (HMGL gr, float Tet, float x, float y, float z)

Вращает систему координат относительно вектора {x, y, z} на угол Tet.

Метод класса mglGraph (C++, Python): void Aspect (float Ax, float Ay, float Az)
Функция С: void mgl_aspect (HMGL gr, float Ax, float Ay, float Az)

Устанавливает соотношение размеров осей в отношении Ax:Ay:Az. Для лучшего вида следует вызывать после функции Rotate().

Метод класса mglGraph (C++, Python): void Perspective (float a)
Функция С: void mgl_perspective (HMGL gr, float a)

Добавляет (включает) перспективу для графика. Параметр a ~ 1/z_eff \in [0,1). По умолчанию (a=0) перспектива отключена.

Метод класса mglGraph (C++, Python): void Identity (bool rel=false)
Функция С: void mgl_identity (HMGL gr, int rel)

Сбрасывает матрицу трансформации. Эквивалентно вызову InPlot(0,1,0,1,rel).

Method on mglGraph (C++, Python): void Push ()
C function: void mgl_mat_push (HMGL gr)

Помещает матрицу преобразования в стек. Позднее вы можете восстановить текущее состояние с помощью функции Pop(). Стек может содержать до 10 матриц.

Method on mglGraph (C++, Python): void Pop ()
C function: void mgl_mat_pop (HMGL gr)

Заменяет (восстанавливает) матрицу преобразования на последнюю помещенную в стек матрицу.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4 Экспорт в файл

Эти функции экспортируют текущую картинку (кадр) в файл. Имя файла fname должно иметь соответствующее расширение. Параметр descr дает краткое описание картинки. Пока прозрачность поддерживается только для форматов PNG, SVG и IDTF.

Метод класса mglGraph (C++, Python): void WriteFrame (const char *fname="", const char *descr="")
Функция С: void mgl_write_frame (HMGL gr, const char *fname, const char *descr)

Экспортирует текущий кадр в файл fname с типом, определяемым по расширению. Параметр descr добавляет описание (может быть пустым). Если fname пустой, то используется имя ‘frame####.jpg’, где ‘####’ – текущий номер кадра и имя ‘frame’ определяется переменной PlotId.

Метод класса mglGraph (C++, Python): void WritePNG (const char *fname, const char *descr="", int compr="", bool alpha=true)
Функция С: void mgl_write_png (HMGL gr, const char *fname, const char *descr)
Функция С: void mgl_write_png_solid (HMGL gr, const char *fname, const char *descr)

Экспортирует текущий кадр в PNG файл. Параметры функции следующие: fname – имя файла, descr – описание файла, alpha – прозрачность фона.

Метод класса mglGraph (C++, Python): void WriteJPEG (const char *fname, const char *descr="")
Функция С: void mgl_write_jpg (HMGL gr, const char *fname, const char *descr)

Экспортирует текущий кадр в JPEG файл. Параметры функции следующие: fname – имя файла, descr – описание файла. Если при компиляции MathGL не был определен флаг HAVE_JPEG, то экспорт в файл не производится.

Метод класса mglGraph (C++, Python): void WriteGIF (const char *fname, const char *descr="")
Функция С: void mgl_write_gif (HMGL gr, const char *fname, const char *descr)

Экспортирует текущий кадр в GIF файл. Параметры функции следующие: fname – имя файла, descr – описание файла. Если при компиляции MathGL не был определен флаг HAVE_GIF, то экспорт в файл не производится.

Метод класса mglGraph (C++, Python): void WriteBMP (const char *fname, const char *descr="")
Функция С: void mgl_write_bmp (HMGL gr, const char *fname, const char *descr)

Экспортирует текущий кадр в BMP файл. Параметры функции следующие: fname – имя файла, descr – описание файла.

Метод класса mglGraph (C++, Python): void WriteEPS (const char *fname, const char *descr="")
Функция С: void mgl_write_eps (HMGL gr, const char *fname, const char *descr)

Экспортирует текущий кадр в EPS файл, используя векторное представление графика (класс mglGraphPS). Вследствие чего не рекомендуется сохранять большие графики (поверхности, а особенно поверхности уровня) в формате EPS из-за большого размера файла. Хотя никаких внутренних ограничений на размер выходного файла нет. Для них лучше использовать растровый формат (например, PNG или JPEG). Параметры функции следующие: fname – имя файла, descr – описание файла. Если имя файла оканчивается на ‘z’ (например, ‘fname.eps.gz’), то файл автоматически архивируется в формате gzip.

Метод класса mglGraph (C++, Python): void WriteSVG (const char *fname, const char *descr="")
Функция С: void mgl_write_svg (HMGL gr, const char *fname, const char *descr)

Экспортирует текущий кадр в SVG файл, используя векторное представление графика (класс mglGraphPS). Вследствие чего не рекомендуется сохранять большие графики (поверхности, а особенно поверхности уровня) в формате SVG из-за большого размера файла. Хотя никаких внутренних ограничений на размер выходного файла нет. Для них лучше использовать растровый формат (например, PNG или JPEG). Параметры функции следующие: fname – имя файла, descr – описание файла. Если имя файла оканчивается на ‘z’ (например, ‘fname.svgz’), то файл автоматически архивируется в формате gzip.

Метод класса mglGraph (C++, Python): void WriteIDTF (const char *fname, const char *descr="")
Функция С: void mgl_write_idtf (HMGL gr, const char *fname, const char *descr)

Экспортирует текущий кадр в IDTF файл, используя векторное представление графика (класс mglGraphIDTF). Параметры функции следующие: fname – имя файла, descr – описание файла.

Метод класса mglGraph (C++, Python): void ShowImage (const char *viewer="kuickshow", bool nowait=false)
Функция С: void mgl_show_image (const char *viewer, int nowait)

Отображает текущий кадр используя внешнюю программу просмотра viewer. Функция сохраняет картинку во временный файл и вызывает viewer для его отображения. Если nowait=true, то функция возвращает управление немедленно – не ждет пока окно просмотра будет закрыто.

Метод класса mglGraph (C++, Python): void SetSize (int width, int height)
Функция С: void mgl_set_size (HMGL gr, int width, int height)

Изменяет размер картинки в пикселях. Функция должна вызываться перед любыми функциями построения потому что полностью очищает содержимое рисунка.

Метод класса mglGraph (C++, Python): void Flush ()
Функция С: void mgl_flush (HMGL gr)

Завершает рисование текущих графических команд, подготавливает кадр к экспорту в файл и служит для разделения объектов в mglGraphIDTF. Однако обычно данная функция вызывается внутри библиотеки.

Метод класса mglGraph (C++): void Finish ()

Завершает рисование и готовит растровое изображение.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.5 Рисование примитивов

Эти функции рисуют рисуют простые объекты типа линий, точек, сфер, капель, конусов, и т.д.

Метод класса mglGraph (C++, Python): void Clf (mglColor Back=WC)
Функция С: void mgl_clf (HMGL gr)
Функция С: void mgl_clf_rgb (HMGL gr, float r, float g, float b)

Очищает рисунок и заполняет его цветом Back.

Метод класса mglGraph (C++): void Ball (float x, float y, float z, mglColor col=RC, float alpha=1)
Метод класса mglGraph (C++): void Ball (mglPoint p, char col='r')
Метод класса mglGraph (Python): void Ball (float x, float y, float z, char col='r')
Функция С: void mgl_ball (HMGL gr, float x, float y, float z)
Функция С: void mgl_ball_rgb (HMGL gr, float x, float y, float z, float r, float g, float b, float alpha)
Функция С: void mgl_ball_str (HMGL gr, float x, float y, float z, char col)

Рисует точку (шарик) с координатами p={x, y, z} и цветом col.

Метод класса mglGraph (C++): void Error (mglPoint p, mglPoint e, char *pen="")

Рисует 3d error box в точке p размером e и стилем pen.

Метод класса mglGraph (C++): void Line (mglPoint p1, mglPoint p2, char *stl="B", intnum=2)
Метод класса mglGraph (Python): void Line (float x1, float y1, float z1, float x2, float y2, float z2, char *stl="B", intnum=2)
Функция С: void mgl_line (HMGL gr, float x1, float y1, float z1, float x2, float y2, float z2, char *stl, intnum)

Рисует геодезическую линию (декартовых координатах – прямую) из точки p1 в p2 использую стиль линии stl. Параметр num определяет гладкость линии (число точек на линии). Если num=2, то рисуется прямая даже в криволинейных координатах. Наоборот, для больших значений (например, =100) рисуется геодезическая линия (окружность в полярных координатах, парабола в параболических и т.д.). Линия рисуется даже если часть ее лежит вне диапазона осей координат.

Метод класса mglGraph (C++): void Curve (mglPoint p1, mglPoint d1, mglPoint p2, mglPoint d2, const char *stl="B", int num=100)
Метод класса mglGraph (Python): void Curve (float x1, float y1, float z1, float dx1, float dy1, float dz1, float x2, float y2, float z2, float dx2, float dy2, float dz2, const char *stl="B", int num=100)
Функция С: void mgl_curve (HMGL gr, float x1, float y1, float z1, float dx1, float dy1, float dz1, float x2, float y2, float z2, float dx2, float dy2, float dz2, const char *stl, int num)

Рисует кривую Безье из точки p1 в p2 используя стиль линии stl. Касательные в точках пропорциональны d1, d2. Параметр num определяет гладкость линии (число точек на линии). Кривая рисуется даже если часть ее лежит вне диапазона осей координат.

Метод класса mglGraph (C++): void Face (mglPoint p1, mglPoint p2, mglPoint p3, mglPoint p4, const char *stl="w", int num=2, float val=NAN)

Рисует заполненный четырехугольник (грань) с углами в точках p1, p2, p3, p4 и цветом(-ами) stl. При этом цвет может быть один для всей грани, или различным если указаны все 4 цвета. В последнем случае параметр val (если не NAN) задает цвет в соответствии с цветовой схемой. Грань будет нарисована даже если часть ее лежит вне диапазона осей координат.

Метод класса mglGraph (C++, Python): void FaceX (float x0, float y0, float z0, float wy, float wz, const char *stl="w", float dx=0, float dy=0)
Метод класса mglGraph (C++, Python): void FaceY (float x0, float y0, float z0, float wx, float wz, const char *stl="w", float dx=0, float dy=0)
Метод класса mglGraph (C++, Python): void FaceZ (float x0, float y0, float z0, float wx, float wy, const char *stl="w", float dx=0, float dy=0)
Функция С: void mgl_facex (HMGL gr, float x0, float y0, float z0, float wy, float wz, const char *stl, float d1, float d2)
Функция С: void mgl_facey (HMGL gr, float x0, float y0, float z0, float wx, float wz, const char *stl, float d1, float d2)
Функция С: void mgl_facez (HMGL gr, float x0, float y0, float z0, float wx, float wy, const char *stl, float d1, float d2)

Рисует закрашенный прямоугольник (грань) перпендикулярно оси [x,y,z] в точке {x0, y0, z0} цветом stl и шириной wx, wy, wz вдоль соответствующего направления. При этом цвет может быть один для всей грани, или различным для разных вершин если указаны все 4 цвета. Параметры d1!=0, d2!=0 задают дополнительный сдвиг последней точки (т.е. рисуют четырехугольник).Грань будет нарисована даже если часть ее лежит вне диапазона осей координат.

Метод класса mglGraph (C++): void Sphere (mglPoint p, float r, const char *stl="r")
Метод класса mglGraph (Python): void Sphere (float x0, float y0, float z0, float r, const char *stl="r")
Функция С: void mgl_sphere (HMGL gr, float x0, float y0, float z0, float r, const char *stl)

Рисует сферу радиуса r с центром в точке p={x, y, z} цветом stl.

Метод класса mglGraph (C++): void Drop (mglPoint p, mglPoint q, float r, mglColor col, float shift=1, float ap=1)
Метод класса mglGraph (C++): void Drop (mglPoint p, mglPoint q, float r, const char *col="r", float shift=1, float ap=1)
Метод класса mglGraph (Python): void Drop (float x0, float y0, float z0, float dx, float dy, float dz, float r, const char *col="r", float shift=1, float ap=1)
Функция С: void mgl_drop (HMGL gr, float x0, float y0, float z0, float dx, float dy, float dz, float r, const char *col, float shift, float ap)

Рисует каплю радиуса r в точке p вытянутую вдоль направления q цветом col. Параметр shift определяет степень вытянутости: ‘0’ – сфера, ‘1’ – классическая капля. Параметр ap определяет относительную ширину капли (аналог "эллиптичности" для сферы). См. раздел Drops – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++): void Cone (mglPoint p1, mglPoint p2, float r1, float r2=-1, const char *stl="B", bool edge=false)
Метод класса mglGraph (Python): void Cone (float x1, float y1, float z1, float x2, float y2, float z2, float r1, float r2=-1, const char *stl="B", bool edge=false)
Функция С: void mgl_cone (HMGL gr, float x1, float y1, float z1, float x2, float y2, float z2, float r1, float r2, const char *stl, int draw_edge)

Рисует трубу (или усеченный конус если edge=false) между точками p1, p2 с радиусами на концах r1, r2. Если r2<0, то полагается r2=r1. Цвет конуса задается строкой stl.

Метод класса mglGraph (C++): void Mark (mglPoint p, char mark='.')
Метод класса mglGraph (Python): void Mark (float x, float y, float z, char mark='.')
Функция С: void mgl_mark (HMGL gr, float x, float y, float z, char mark)

Рисует маркер типа mark в точке p.

Метод класса mglGraph (C++): void Glyph (float x, float y, float f, int nt, const short *trig, int nl, const short *line)

Рисует набор треугольников (или линий если trig=NULL) для буквы расположенной в точке {x, y}. Значения массивов будут нормированы на множитель f. Обычно эта функция используется внутри библиотеки.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.6 Вывод текста

Функции для вывода текста позволяют вывести строку текста в произвольном месте рисунка, в произвольном направлении и вдоль произвольной кривой. Для низкоуровневого вывода и разбора ТеХ-их выражений используется класс mglFont (see section mglFont class). Он позволяет использовать произвольное начертание шрифта и многие ТеХ-ие команды (детальнее see section Стиль текста). Все функции вывода текста имеют варианты для 8-bit строк (char *) и для Unicode строк (wchar_t *). В первом случае используется конверсия из текущей локали, т.е. иногда вам требуется явно указать локаль с помощью функции setlocale(). Аргумент size определяет размер текста: размер шрифта если положителен или относительный размер (=-size*FontSize) если отрицателен. Начертание шрифта (STIX, arial, courier, times и др) можно изменить с помощью функций SetFont(), GetFont(). See section Шрифты.

Параметры шрифта задаются строкой, которая может содержать символы стиля (‘rbiwou’) и/или выравнивания (‘LRC’). Также строка может содержать символы цвета ‘wkrgbcymhRGBCYMHW’ (see section Стиль линий) после символа ‘:’. Стили шрифта: ‘r’ – прямой, ‘i’ – курсив, ‘b’ – жирный, ‘w’ – контурный, ‘o’ – надчеркнутый, ‘u’ – подчеркнутый. По умолчанию используется прямой шрифт. Типы выравнивания: ‘L’ – по левому краю (по умолчанию), ‘C’ – по центру, ‘R’ – по правому краю. Например, строка ‘iC:b’ соответствует курсиву синего цвета с выравниванием по центру.

Если строка содержит символы ‘aA’, то текст выводится в абсолютных координатах (полагаются в диапазоне [0,1]). При этом используются координаты относительно рисунка (если указано ‘A’) или относительно последнего SubPlot()/InPlot() (если указано ‘a’).

Метод класса mglGraph (C++): void Puts (mglPoint p, const char *text, const char *font="", float size=-1, char dir=0, float shift=0)
Метод класса mglGraph (C++): void Putsw (mglPoint p, const wchar_t *text, const char *font="", float size=-1, char dir=0, float shift=0)
Метод класса mglGraph (Python): void Puts (float x, float y, float z, const char *text, const char *font="", float size=-1, char dir=0)
Функция С: void mgl_puts (HMGL gr, float x, float y, float z, const char *text)
Функция С: void mgl_putsw (HMGL gr, float x, float y, float z, const wchar_t *text)
Функция С: void mgl_puts_ext (HMGL gr, float x, float y, float z, const char *text, const char *font, float size, char dir)
Функция С: void mgl_putsw_ext (HMGL gr, float x, float y, float z, const wchar_t *text, const char *font, float size, char dir)

Выводит строку text от точки p шрифтом определяемым строкой how. Параметр dir указывает дополнительное выравнивание строки: ‘x’ – как метку вдоль оси x, ‘y’ – как метку вдоль оси y, ‘z’ – как метку вдоль оси z, ‘i’ – как метку вдоль оси x с инвертированием, ‘t’ – без выравнивания (по умолчанию), ‘n’ – выровнять в плоскости x-y.

Метод класса mglGraph (C++): float Puts (mglPoint p, mglPoint l, const char *text, charwhere='t', float size=-1)
Метод класса mglGraph (C++): float Putsw (mglPoint p, mglPoint l, const wchar_t *text, charwhere='t', float size=-1)
Метод класса mglGraph (Python): void Puts (float x, float y, float z, float dx, float dy, float dz, const char *text, charwhere='t', float size=-1)
Функция С: void mgl_puts_dir (HMGL gr, float x, float y, float z, float dx, float dy, float dz, const char *text, float size)
Функция С: void mgl_putsw_dir (HMGL gr, float x, float y, float z, float dx, float dy, float dz, const wchar_t *text, float size)

Выводит строку text от точки p вдоль направления l. Параметр where указывает выводить текст над линией (‘T’) или под ней (‘t’). Функция возвращает ширину строки.

Метод класса mglGraph (C++): void Printf (mglPoint p, const char *arg, ...)

Выводит форматированную строку от точки p.

Метод класса mglGraph (C++): void Label (float x, float y, const char *text, const char *font="", float size=-1)
Метод класса mglGraph (C++): void Labelw (float x, float y, const wchar_t *text, const char *font="", float size=-1)
Функция С: void mgl_label_xy (HMGL gr, float x, float y, const char *text, const char *font, float size)
Функция С: void mgl_labelw_xy (HMGL gr, float x, float y, const wchar_t *text, const char *font, float size)

Выводит строку text в произвольном месте экрана от точки {x, y} шрифтом указанным font. Координаты x, y считаются лежащими в диапазоне [0,1].

Метод класса mglGraph (C++): void Title (const char *text, const char *font=0, float size=-2)
Метод класса mglGraph (C++): void Title (const wchar_t *text, const char *font=0, float size=-2)
Метод класса mglGraph (Python): void Title (const char *text, const char *font=0, int size=-2)
Функция С: void mgl_title (HMGL gr, const char *text, const char *font, int size)
Функция С: void mgl_titlew (HMGL gr, const wchar_t *text, const char *font, int size)

Выводит строку text как заголовок рисунка (по верху рисунка). Может использоваться из любого места (даже изнутри SubPlot()).

Метод класса mglGraph (C++, Python): void Text (const mglData &y, const char *text, const char *font="", float size=-1)
Метод класса mglGraph (C++): void Text (const mglData &y, const wchar_t *text, const char *font="", float size=-1)
Метод класса mglGraph (C++, Python): void Text (const mglData &x, const mglData &y, const char *text, const char *font="", float size=-1)
Метод класса mglGraph (C++): void Text (const mglData &x, const mglData &y, const wchar_t *text, const char *font="", float size=-1)
Метод класса mglGraph (C++, Python): void Text (const mglData &x, const mglData &y, const mglData &z, const char *text, const char *font="", float size=-1)
Метод класса mglGraph (C++): void Text (const mglData &x, const mglData &y, const mglData &z, const wchar_t *text, const char *font="", float size=-1)
Функция С: void mgl_text_y (HMGL gr, const HMDT y, const char *text, const char *font, float size)
Функция С: void mgl_text_xy (const HMDT x, const HMDT y, const char *text, const char *font, float size)
Функция С: void mgl_text_xyz (const HMDT x, const HMDT y, const HMDT z, const char *text, const char *font, float size)

Выводит строку text вдоль кривой {x[i], y[i], z[i]} шрифтом font. Строка font может содержать символы: ‘t’ для вывода текста под кривой (по умолчанию), или ‘T’ для вывода текста над кривой. Размеры по 1-ой размерности должны быть одинаковы для всех массивов x.nx=y.nx=z.nx. Если массив x не указан, то используется "автоматический" массив со значениями в диапазоне [Min.x, Max.x] (see section Масштаб осей координат). Если массив z не указан, то используется z[i] = zVal. См. раздел Text – пример использования, для примеров кода и графика.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.7 Оси и Colorbar

Эти функции рисуют объекты для "измерения" типа осей координат, цветовой таблицы (colorbar), сетку по осям, обрамляющий параллелепипед и подписи по осям координат. См. также see section Настройки осей координат.

Метод класса mglGraph (C++, Python): void Axis (const char *dir="xyz", bool adjust=false)
Функция С: void mgl_axis (HMGL gr, const char *dir)

Рисует оси координат и метки на них (see section Настройки осей координат) в направлениях, указанных строкой dir. Если строка содержит символ ‘_’, то подписи меток отображаться не будут. Шрифт подписей определяется функцией SetFontDef() (see section Шрифты). Метки будут "подогнаны" если adjust=true (с помощью вызова функции AdjustTicks()).

Метод класса mglGraph (C++, Python): void Colorbar (const char *sch="", int pos=0)
Функция С: void mgl_colorbar (HMGL gr, const char *sch, int pos)

Рисует полосу соответствия цвета и числовых значений (colorbar) для цветовой схемы sch (используется текущая для sch="") с краю от графика. Параметр pos задает местоположение: ‘0’ - справа (по умолчанию), ‘1’ - слева, ‘2’ - сверху, ‘3’ - снизу. Если строка sch содержит ‘<>^_’, то параметр pos определяется как: pos=0 для ‘>’ (справа), pos=1 для ‘<’ (слева), pos=2 для ‘^’ (сверху), pos=3 для ‘_’ (снизу). Если строка содержит ‘A’, то используются абсолютные координаты (относительно рисунка). См. раздел Dens – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Colorbar (const mglData &v, const char *sch="", int where=0)
Функция С: void mgl_colorbar_val (HMGL gr, const HMDT v, const char *sch, int where)

Аналогично предыдущему, но для цветовой схемы без сглаживания с заданными значениями v. См. раздел ContD – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Colorbar (const char *sch, int where, float x, float y, float w, float h)
Метод класса mglGraph (C++, Python): void Colorbar (int where, float x, float y, float w, float h)
Функция С: void mgl_colorbar_ext (HMGL gr, const char *sch, int where, float x, float y, float w, float h)

Аналогично первому, но в произвольном месте графика {x, y} (полагаются в диапазоне [0,1]). Параметры w, h задают относительную ширину и высоту colorbar.

Метод класса mglGraph (C++): void Colorbar (const mglData &v, const char *sch, int where, float x, float y, float w, float h)

Аналогично предыдущему, но для цветовой схемы без сглаживания с заданными значениями v.

Метод класса mglGraph (C++, Python): void Grid (const char *dir="xyz", const char *pen="B-")
Функция С: void mgl_axis_grid (HMGL gr, const char *dir, const char *pen)

Рисует линии сетки в направлениях перпендикулярным dir. Шаг сетки такой же как у меток осей координат. Стиль линий задается параметром pen (по умолчанию – сплошная темно синяя линия ‘B-’).

Метод класса mglGraph (C++, Python): void Box (const char *col="", bool ticks=true)
Метод класса mglGraph (C++): void Box (mglColor col, bool ticks=true)
Функция С: void mgl_box (HMGL gr, int ticks)
Функция С: void mgl_box_rgb (HMGL gr, float r, float g, float b, int ticks)
Функция С: void mgl_box_str (HMGL gr, const char *col, int ticks)

Рисует ограничивающий параллелепипед цветом col.

Метод класса mglGraph (C++, Python): void Label (char dir, const char *text, float pos=0, float size=-1.4, float shift=0)
Метод класса mglGraph (C++): void Label (char dir, const wchar_t *text, float pos=0, float size=-1.4, float shift=0)
Функция С: void mgl_label (HMGL gr, char dir, const char *text)
Функция С: void mgl_label_ext (HMGL gr, char dir, const char *text, float pos, float size, float shift)
Функция С: void mgl_labelw_ext (HMGL gr, char dir, const wchar_t *text, float pos, float size, float shift)

Выводит подпись text для оси dir=‘x’,‘y’,‘z’,‘t’ (где ‘t’ – “тернарная” ось t=1-x-y). Параметр pos задает положение подписи: при pos=0 – по центру оси, при pos>0 – около максимальных значений, при pos<0 – около минимальных значений. Параметр size задает размер шрифта (по умолчанию в 1.4 раза больше чем у меток, see section Шрифты). See section Вывод текста.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.8 Легенда

Эти функции обеспечивают рисование легенды графика (полезно для 1D графики). Запись в легенде состоит из двух строк: одна для стиля линии и маркеров, другая с текстом описания (с включенным разбором TeX-их команд). Можно использовать непосредственно массивы строк, или накопление во внутренние массивы с помощью функции AddLegend() с последующим отображением. Положение легенды можно задать автоматически или вручную. Параметры font и size задают стиль и размер шрифта (see section Шрифты). Параметр llen задает относительную ширину примера линии. Ели стиль линии пустой, то соответствующий текст печатается без отступа. Если строка font содержит символ ‘A’, то координаты легенды считаются относительно картинки (а не текущего subplot). См. раздел Legend – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Legend (int where=0x3, const char *font="rL", float size=-0.8, float llen=0.1)
Функция С: void mgl_legend (HMGL gr, int where, const char *font, float size, float llen)

Рисует легенду из накопленных записей шрифтом font размером size. Параметр where задает положение легенды: ‘0’ – в нижнем левом углу, ‘1’ – нижнем правом углу, ‘2’ – верхнем левом углу, ‘3’ – верхнем правом углу (по умолчанию).

Метод класса mglGraph (C++): void Legend (int n, wchar_t **text, char **style, int where=0x3, const char *font="rL", float size=-0.8, float llen=0.1)

Рисует легенду из n записей шрифтом font размером size. Массив text задает описание кривых со стилем style (включая маркеры). Параметр where задает положение легенды: ‘0’ – в нижнем левом углу, ‘1’ – нижнем правом углу, ‘2’ – верхнем левом углу, ‘3’ – верхнем правом углу (по умолчанию).

Метод класса mglGraph (C++, Python): void Legend (float x, float y, const char *font="rL", float size=-0.8, float llen=0.1)
Функция С: void mgl_legend_xy (HMGL gr, float x, float y, const char *font, float size, float llen)

Рисует легенду из накопленных записей шрифтом font размером size. Положение легенды задается параметрами x, y, которые полагаются нормированными в диапазоне [0,1].

Метод класса mglGraph (C++): void Legend (int n, wchar_t **text, char **style, float x, float y, const char *font="rL", float size=-0.8, float llen=0.1)

Рисует легенду из n записей шрифтом font размером size. Массив text задает описание кривых со стилем style (включая маркеры). Положение легенды задается параметрами x, y, которые полагаются нормированными в диапазоне [0,1].

Метод класса mglGraph (C++, Python): void AddLegend (const char *text, const char *style)
Метод класса mglGraph (C++): void AddLegend (const wchar_t *text, const char *style)
Функция С: void mgl_add_legend (HMGL gr, const char *text, const char *style)
Функция С: void mgl_add_legendw (HMGL gr, const wchar_t *text, const char *style)

Добавляет описание text кривой со стилем style (see section Стиль линий) во внутренний массив записей легенды. Максимальное число записей 100.

Метод класса mglGraph (C++, Python): void ClearLegend ()
Функция С: void mgl_clear_legend (HMGL gr)

Очищает внутренний массив записей легенды.

Метод класса mglGraph (C++, Python): void SetLegendBox (bool enable)
Функция С: void mgl_set_legend_box (HMGL gr, int enable)

Включает/выключает рисование прямоугольника вокруг легенды. По умолчанию (=true) прямоугольник рисуется.

Method on mglGraph (C++, Python): void SetLegendMarks (int num)
C function: void mgl_set_legend_marks (HMGL gr, int num)

Задает число маркеров в легенде. По умолчанию используется 1 маркер.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9 1D графики

Эти функции строят графики для одномерных (1D) массивов. Одномерными считаются массивы, зависящие только от одного параметра (индекса) подобно кривой в параметрической форме {x(i),y(i),z(i)}, i=1...n. Есть 5 основных типов 1D графиков: линия (Plot), линия с заполнением (Area), ступеньки (Step), прямоугольники (Bars, Barh) и вертикальные линии (Stem). Все эти типы графиков имеют похожий интерфейс. Есть версии для рисования в пространстве и на плоскости. В последнем случае имеется возможность использования только одного массива. Стиль линии и маркеров указывается строковой переменной. Если она равна "", то используется сплошная линия с цветом из палитры (see section Палитра и цвета). Кроме того, есть еще несколько типов графиков для одномерных массивов, имеющих другой интерфейс и вид: поверхность вращения кривой (Torus), диаграмма (Chart), размер ошибки (Error), маркеры переменного размера (Mark), трубками (Tube) и т.д. See section Стиль линий. См. раздел Пример графиков 1D данных, для примеров кода и графика.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.1 Plot

Функции рисуют ломанную линию по точкам. График рисуется для каждой строки если один из массивов матрица. Размер по 1-ой координате должен быть одинаков для всех массивов x.nx=y.nx=z.nx. Строка pen задает цвет и стиль линии и маркеров (see section Стиль линий). По умолчанию (pen="") рисуется сплошная линия с текущим цветом из палитры (see section Палитра и цвета). См. также Area, Step, Stem, Tube, Mark, Error, Belt, Tens. См. раздел Plot – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Plot (const mglData &x, const mglData &y, const mglData &z, const char *pen="")
Функция С: void mgl_plot_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *pen)

Рисует в пространстве линию между точками {x[i], y[i], z[i]}.

Метод класса mglGraph (C++, Python): void Plot (const mglData &x, const mglData &y, const char *pen="")
Функция С: void mgl_plot_xy (HMGL gr, const HMDT x, const HMDT y, const char *pen)

Рисует линию между точками {x[i], y[i]} в плоскости z=zVal (по умолчанию в плоскости z=Min.z).

Метод класса mglGraph (C++, Python): void Plot (const mglData &y, const char *pen="")
Функция С: void mgl_plot (HMGL gr, const HMDT y, const char *pen)

Рисует линию между точками {x[i], y[i]} в плоскости z=zVal (по умолчанию в плоскости z=Min.z), где значения x[i] равно распределены в интервале [Min.x, Max.x].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.2 Radar

Метод класса mglGraph (C++, Python): void Radar (const mglData &a, const char *pen="", float r=-1)
Функция С: void mgl_radar (HMGL gr, const HMDT a, const char *pen, float r)

Функции рисуют radar chart, представляющий собой ломанную с вершинами на радиальных линиях (типа ломанной в полярных координатах). График рисуется для каждой строки если один из массивов матрица. Параметр r задает дополнительный сдвиг данных (т.е. используется a+r вместо a). Если r<0, то r=max(0, -min(a). Строка pen задает цвет и стиль линии и маркеров (see section Стиль линий). По умолчанию (pen="") используется сплошная линия с текущим цветом из палитры (see section Палитра и цвета). Если pen содержит символ ‘#’, то также рисуется "сетка" (радиальные линии и круг для r). См. также Plot. См. раздел Radar – пример использования, для примеров кода и графика.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.3 Tens

Функции рисуют ломанную линию по точкам с цветом, определяемым массивом c (типа графика натяжений). График рисуется для каждой строки если один из массивов матрица. Размер по 1-ой координате должен быть одинаков для всех массивов x.nx=y.nx=z.nx=c.nx. Строка pen задает цветовую схему (see section Цветовая схема) и стиль и/или толщину линии (see section Стиль линий). По умолчанию (pen="") используется сплошная линия с текущей цветовой схемой. См. также Plot, Mesh, Fall. См. раздел Tens – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Tens (const mglData &x, const mglData &y, const mglData &z, const mglData &c, const char *pen="")
Функция С: void mgl_tens_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT c, const char *pen)

Рисует в пространстве линию между точками {x[i], y[i], z[i]} с цветом c[i].

Метод класса mglGraph (C++, Python): void Tens (const mglData &x, const mglData &y, const mglData &c, const char *pen="")
Функция С: void mgl_tens_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT c, const char *pen)

Рисует линию между точками {x[i], y[i]} в плоскости z=zVal (по умолчанию в плоскости z=Min.z) с цветом c[i].

Метод класса mglGraph (C++, Python): void Tens (const mglData &y, const mglData &c, const char *pen="")
Функция С: void mgl_tens (HMGL gr, const HMDT y, const HMDT c, const char *pen)

Рисует линию между точками {x[i], y[i]} в плоскости z=zVal (по умолчанию в плоскости z=Min.z) с цветом c[i], где значения x[i] равно распределены в интервале [Min.x, Max.x].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.4 Area

Функции рисуют ломанную линию между точками и закрашивает ее вниз до плоскости осей координат. График рисуется для каждой строки если один из массивов матрица. Размер по 1-ой координате должен быть одинаков для всех массивов x.nx=y.nx=z.nx. Строка pen задает цвет и стиль линии и маркеров (see section Стиль линий). По умолчанию (pen="") используется сплошная линия с текущим цветом из палитры (see section Палитра и цвета). Также можно использовать градиентное закрашивание если число указанных цветов равно удвоенному числу кривых для построения. Если строка содержит символ ‘a’, то линии рисуются одна поверх другой (с суммированием) – того же эффекта можно достичь вызовом y.CumSum("y"); перед построением графика. См. также Plot, Bars, Stem. См. раздел Area – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Area (const mglData &x, const mglData &y, const mglData &z, const char *pen="")
Функция С: void mgl_area_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *pen)

Рисует в пространстве линию между точками {x[i], y[i], z[i]} и закрашивает ее вниз до плоскости z = Org.z.

Метод класса mglGraph (C++, Python): void Area (const mglData &x, const mglData &y, const char *pen="")
Функция С: void mgl_area_xy (HMGL gr, const HMDT x, const HMDT y, const char *pen)

Рисует линию между точками {x[i], y[i]} в плоскости z=zVal (по умолчанию в плоскости z=Min.z) и закрашивает ее до прямой y = Org.y.

Метод класса mglGraph (C++, Python): void Area (const mglData &y, const char *pen="", bool sum=false)
Функция С: void mgl_area (HMGL gr, const HMDT y, const char *pen)
Функция С: void mgl_area_s (HMGL gr, const HMDT y, const char *pen)

Рисует линию между точками {x[i], y[i]} в плоскости z=zVal (по умолчанию в плоскости z=Min.z) и закрашивает ее до прямой y = Org.y, где значения x[i] равно распределены в интервале [Min.x, Max.x]. Параметр sum задает режим рисования линий одна поверх другой (с сумированием). Замечу, что того же эффекта можно достичь вызовом y.CumSum("y"); перед построением графика.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.5 Region

Функции закрашивают область между 2 кривыми. График рисуется для каждой строки если один из массивов матрица. Размер по 1-ой координате должен быть одинаков для всех массивов x.nx=y1.nx=y2.nx и размеры массивов y1, y2 должны быть также одинаковы. Строка pen задает цвет (see section Стиль линий). По умолчанию (pen="") используется текущий цвет из палитры (see section Палитра и цвета). Также можно использовать градиентное закрашивание если число указанных цветов равно удвоенному числу кривых для построения. См. также Area, Bars, Stem. См. раздел Region – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Region (const mglData &x, const mglData &y1, const mglData &y2, const char *pen="", float zVal=NAN, bool inside=true)
Функция С: void mgl_region_xy (HMGL gr, const HMDT x, const HMDT y1, const HMDT y2, const char *pen, int inside)

Закрашивает область между кривыми {x[i], y1[i]} и {x[i], y2[i]} при z=zVal. При inside=off закрашивается только область y1<y<y2, в противном случае также будет закращена область y2<y<y1.

Метод класса mglGraph (C++, Python): void Region (const mglData &y1, const mglData &y2, const char *pen="", float zVal=NAN, bool inside=true)
Функция С: void mgl_region (HMGL gr, const HMDT y1, const HMDT y2, const char *pen, int inside)

Закрашивает область между кривыми {x[i], y1[i]} и {x[i], y2[i]} при z=zVal, где значения x[i] равно распределены в интервале [Min.x, Max.x].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.6 Stem

Функции рисуют вертикальные линии из точек до плоскости осей координат. График рисуется для каждой строки если один из массивов матрица. Размер по 1-ой координате должен быть одинаков для всех массивов x.nx=y.nx=z.nx. Строка pen задает цвет и стиль линии и маркеров (see section Стиль линий). По умолчанию (pen="") используется сплошная линия с текущим цветом из палитры (see section Палитра и цвета). См. также Area, Bars, Plot, Mark. См. раздел Stem – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Stem (const mglData &x, const mglData &y, const mglData &z, const char *pen="")
Функция С: void mgl_stem_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *pen)

Рисует вертикальные линии из точек {x[i], y[i], z[i]} вниз до плоскости z = Org.z.

Метод класса mglGraph (C++, Python): void Stem (const mglData &x, const mglData &y, const char *pen="")
Функция С: void mgl_stem_xy (HMGL gr, const HMDT x, const HMDT y, const char *pen)

Рисует вертикальные линии из точек {x[i], y[i]} до y = Org.y в плоскости z=zVal (по умолчанию в плоскости z=Min.z).

Метод класса mglGraph (C++, Python): void Stem (const mglData &y, const char *pen="")
Функция С: void mgl_stem (HMGL gr, const HMDT y, const char *pen)

Рисует вертикальные линии из точек {x[i], y[i]} до y = Org.y в плоскости z=zVal (по умолчанию в плоскости z=Min.z), где значения x[i] равно распределены в интервале [Min.x, Max.x].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.7 Bars

Функции рисуют вертикальные полосы (прямоугольники) из точек до плоскости осей координат. График рисуется для каждой строки если один из массивов матрица. Размер по 1-ой координате должен быть одинаков для всех массивов x.nx=y.nx=z.nx. Строка pen задает цвет и стиль линии и маркеров (see section Стиль линий). По умолчанию (pen="") используется сплошная линия с текущим цветом из палитры (see section Палитра и цвета). Если строка содержит символ ‘a’, то линии рисуются одна поверх другой. Если строка содержит символ ‘f’, то рисуется график типа waterfall для определения кумулятивного эффекта последовательности положительных и отрицательных значений. Можно использовать разные цвета для положительных и отрицательных значений если число указанных цветов равно удвоенному числу кривых для построения. См. также Barh, Area, Stem, Chart, Базовые размеры. См. раздел Bars – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Bars (const mglData &x, const mglData &y, const mglData &z, const char *pen="")
Функция С: void mgl_bars_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *pen)

Рисует вертикальные полосы из точек {x[i], y[i], z[i]} вниз до плоскости z = Org.z.

Метод класса mglGraph (C++, Python): void Bars (const mglData &x, const mglData &y, const char *pen="")
Функция С: void mgl_bars_xy (HMGL gr, const HMDT x, const HMDT y, const char *pen)

Рисует вертикальные полосы из точек {x[i], y[i]} до y = Org.y в плоскости z=zVal (по умолчанию в плоскости z=Min.z).

Метод класса mglGraph (C++, Python): void Bars (const mglData &y, const char *pen="")
Функция С: void mgl_bars (HMGL gr, const HMDT y, const char *pen)

Рисует вертикальные полосы из точек {x[i], y[i]} до y = Org.y в плоскости z=zVal (по умолчанию в плоскости z=Min.z), где значения x[i] равно распределены в интервале [Min.x, Max.x].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.8 Barh

Функции рисуют горизонтальные полосы (прямоугольники) из точек до плоскости осей координат. График рисуется для каждой строки если один из массивов матрица. Размер по 1-ой координате должен быть одинаков для всех массивов x.nx=y.nx=z.nx. Строка pen задает цвет и стиль линии и маркеров (see section Стиль линий). По умолчанию (pen="") используется сплошная линия с текущим цветом из палитры (see section Палитра и цвета). Если строка содержит символ ‘a’, то линии рисуются одна поверх другой. Если строка содержит символ ‘f’, то рисуется график типа waterfall для определения кумулятивного эффекта последовательности положительных и отрицательных значений. Можно использовать разные цвета для положительных и отрицательных значений если число указанных цветов равно удвоенному числу кривых для построения. См. также Barh, Базовые размеры. См. раздел Barh – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Barh (const mglData &y, const mglData &v, const char *pen="")
Функция С: void mgl_barh_xy (HMGL gr, const HMDT y, const HMDT v, const char *pen)

Рисует горизонтальные полосы из точек {v[i], y[i]} до x = Org.x в плоскости z=zVal (по умолчанию в плоскости z=Min.z).

Метод класса mglGraph (C++, Python): void Barh (const mglData &v, const char *pen="")
Функция С: void mgl_barh (HMGL gr, const HMDT v, const char *pen)

Рисует горизонтальные полосы из точек {v[i], y[i]} до x = Org.x в плоскости z=zVal (по умолчанию в плоскости z=Min.z), где значения y[i] равно распределены в интервале [Min.y, Max.y].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.9 Chart

Метод класса mglGraph (C++, Python): void Chart (const mglData &a, const char *col="")
Функция С: void mgl_chart (HMGL gr, const HMDT a, const char *col)

Рисует цветные полосы (пояса) для массива данных a. Число полос равно числу строк a (равно a.ny). Цвет полос поочередно меняется из цветов указанных в col или в палитре (see section Палитра и цвета). Пробел в цветах соответствует прозрачному "цвету", т.е. если col содержит пробел(ы), то соответствующая полоса не рисуется. Ширина полосы пропорциональна значению элемента в a. График строится только для массивов не содержащих отрицательных значений. Если строка col содержит ‘#’, то рисуется также черная граница полос. График выглядит лучше в (после вращения системы координат) и/или в полярной системе координат (становится Pie chart). См. раздел Chart – пример использования, для примеров кода и графика.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.10 Step

Функции рисуют ступеньки для точек массива. График рисуется для каждой строки если один из массивов матрица. Размер по 1-ой координате должен быть одинаков для всех массивов x.nx=y.nx=z.nx. Строка pen задает цвет и стиль линии и маркеров (see section Стиль линий). По умолчанию (pen="") используется сплошная линия с текущим цветом из палитры (see section Палитра и цвета). См. также Plot, Stem, Tile, Boxs. См. раздел Step – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Step (const mglData &x, const mglData &y, const mglData &z, const char *pen="")
Функция С: void mgl_step_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *pen)

Рисует ступеньки для точек {x[i], y[i], z[i]}.

Метод класса mglGraph (C++, Python): void Step (const mglData &x, const mglData &y, const char *pen="")
Функция С: void mgl_step_xy (HMGL gr, const HMDT x, const HMDT y, const char *pen)

Рисует ступеньки для точек {x[i], y[i]} в плоскости z=zVal (по умолчанию в плоскости z=Min.z).

Метод класса mglGraph (C++, Python): void Step (const mglData &y, const char *pen="")
Функция С: void mgl_step (HMGL gr, const HMDT y, const char *pen)

Рисует ступеньки для точек {x[i], y[i]} в плоскости z=zVal (по умолчанию в плоскости z=Min.z), где значения x[i] равно распределены в интервале [Min.x, Max.x].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.11 Torus

Функции рисуют поверхность вращения кривой {r, z} относительно оси, заданной SetAxialDir() (see section Прочие настройки). Размер по 1-ой координате должен быть одинаков для всех массивов r.nx=z.nx. Строка pen задает цвет (see section Стиль линий). По умолчанию (pen="") используется цвет из палитры (see section Палитра и цвета). См. также Plot, Axial. См. раздел Torus – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Torus (const mglData &r, const mglData &z, const char *pen="")
Функция С: void mgl_torus (HMGL gr, const HMDT r, const HMDT z, const char *pen)

Рисует поверхность вращения кривой {r[i], z[i]}.

Метод класса mglGraph (C++): void Torus (const mglData &z, const char *pen="")

Рисует поверхность вращения кривой {r[i], z[i]}, где значения r[i] равно распределены в интервале [Min.x, Max.x].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.12 Tube

Функции рисуют трубу радиуса r[i] вдоль кривой между точками {x[i], y[i], z[i]}. График рисуется для каждой строки если один из массивов матрица. Размер по 1-ой координате должен быть одинаков для всех массивов x.nx=y.nx=z.nx=r.nx. Строка pen задает цвет и стиль линии и маркеров (see section Стиль линий). По умолчанию (pen="") используется сплошная линия с текущим цветом из палитры (see section Палитра и цвета). См. также Plot. См. раздел Tube – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Tube (const mglData &x, const mglData &y, const mglData &z, const mglData &r, const char *pen="")
Метод класса mglGraph (C++, Python): void Tube (const mglData &x, const mglData &y, const mglData &z, float r, const char *pen="")
Функция С: void mgl_tube_xyzr (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT r, const char *pen)
Функция С: void mgl_tube_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, float r, const char *pen)

Рисует трубу радиуса r в пространстве между точками {x[i], y[i], z[i]}.

Метод класса mglGraph (C++, Python): void Tube (const mglData &x, const mglData &y, const mglData &r, const char *pen="")
Метод класса mglGraph (C++, Python): void Tube (const mglData &x, const mglData &y, float r, const char *pen="")
Функция С: void mgl_tube_xyr (HMGL gr, const HMDT x, const HMDT y, const HMDT r, const char *pen)
Функция С: void mgl_tube_xy (HMGL gr, const HMDT x, const HMDT y, float r, const char *pen)

Рисует трубу радиуса r между точками {x[i], y[i]} в плоскости z=zVal (по умолчанию в плоскости z=Min.z).

Метод класса mglGraph (C++, Python): void Tube (const mglData &y, const mglData &r, const char *pen="")
Метод класса mglGraph (C++, Python): void Tube (const mglData &y, float r, const char *pen="")
Функция С: void mgl_tube_r (HMGL gr, const HMDT y, const HMDT r, const char *pen)
Функция С: void mgl_tube (HMGL gr, const HMDT y, float r, const char *pen)

Рисует трубу радиуса r между точками {x[i], y[i]} в плоскости z=zVal (по умолчанию в плоскости z=Min.z), где значения x[i] равно распределены в интервале [Min.x, Max.x].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.13 Mark

Функции рисуют маркеры размером r*MarkSize (see section Базовые размеры) в точках {x[i], y[i], z[i]}. График рисуется для каждой строки если один из массивов матрица. Размер по 1-ой координате должен быть одинаков для всех массивов x.nx=y.nx=z.nx=r.nx. Строка pen задает цвет и стиль линии и маркеров (see section Стиль линий). По умолчанию (pen="") используется сплошная линия с текущим цветом из палитры (see section Палитра и цвета). Для рисования маркеров одинакового размера можно использовать функцию Plot с невидимой линией (со стилем содержащим ‘ ’). См. также Plot, TextMark, Stem, Error. См. раздел Mark – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Mark (const mglData &x, const mglData &y, const mglData &z, const mglData &r, const char *pen="")
Функция С: void mgl_mark_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT r, const char *pen)

Рисует маркеры для точек {x[i], y[i], z[i]}.

Метод класса mglGraph (C++, Python): void Mark (const mglData &x, const mglData &y, const mglData &r, const char *pen="")
Функция С: void mgl_mark_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT r, const char *pen)

Рисует маркеры для точек {x[i], y[i]} в плоскости z=zVal (по умолчанию в плоскости z=Min.z).

Метод класса mglGraph (C++, Python): void Mark (const mglData &y, const mglData &r, const char *pen="")
Функция С: void mgl_mark_y (HMGL gr, const HMDT y, const HMDT r, const char *pen)

Рисует маркеры для точек {x[i], y[i]} в плоскости z=zVal (по умолчанию в плоскости z=Min.z), где значения x[i] равно распределены в интервале [Min.x, Max.x].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.14 TextMark

Функции рисуют текст text как маркер с размером пропорциональным r*MarkSize (see section Базовые размеры) в точках {x[i], y[i], z[i]}. График рисуется для каждой строки если один из массивов матрица. Размер по 1-ой координате должен быть одинаков для всех массивов x.nx=y.nx=z.nx=r.nx. Строка pen задает цвет и стиль линии и маркеров (see section Стиль линий). По умолчанию (pen="") используется сплошная линия с текущим цветом из палитры (see section Палитра и цвета). См. также Plot, Mark, Stem. См. раздел TextMark – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void TextMark (const mglData &x, const mglData &y, const mglData &z, const mglData &r, const char *text, const char *fnt="")
Метод класса mglGraph (C++): void TextMark (const mglData &x, const mglData &y, const mglData &z, const mglData &r, const wchar_t *text, const char *fnt="")
Функция С: void mgl_textmarkw_xyzr (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT r, const wchar_t *text, const char *fnt)
Функция С: void mgl_textmark_xyzr (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT r, const char *text, const char *fnt)

Рисует текстовые маркеры в точках {x[i], y[i], z[i]}.

Метод класса mglGraph (C++, Python): void TextMark (const mglData &x, const mglData &y, const mglData &r, const char *text, const char *fnt="")
Метод класса mglGraph (C++): void TextMark (const mglData &x, const mglData &y, const mglData &r, const wchar_t *text, const char *fnt="")
Функция С: void mgl_textmarkw_xyr (HMGL gr, const HMDT x, const HMDT y, const HMDT r, const wchar_t *text, const char *fnt)
Функция С: void mgl_textmark_xyr (HMGL gr, const HMDT x, const HMDT y, const HMDT r, const char *text, const char *fnt)

Рисует текстовые маркеры в точках {x[i], y[i]} в плоскости z=zVal (по умолчанию в плоскости z=Min.z).

Метод класса mglGraph (C++, Python): void TextMark (const mglData &y, const mglData &r, const char *text, const char *fnt="")
Метод класса mglGraph (C++): void TextMark (const mglData &y, const mglData &r, const wchar_t *text, const char *fnt="")
Функция С: void mgl_textmarkw_yr (HMGL gr, const HMDT y, const HMDT r, const wchar_t *text, const char *fnt)
Функция С: void mgl_textmark_yr (HMGL gr, const HMDT y, const HMDT r, const char *text, const char *fnt)

Рисует текстовые маркеры в точках {x[i], y[i]} в плоскости z=zVal (по умолчанию в плоскости z=Min.z), где значения x[i] равно распределены в интервале [Min.x, Max.x].

Метод класса mglGraph (C++, Python): void TextMark (const mglData &y, const char *text, const char *fnt="")
Метод класса mglGraph (C++): void TextMark (const mglData &y, const wchar_t *text, const char *fnt="")
Функция С: void mgl_textmarkw (HMGL gr, const HMDT y, const wchar_t *text, const char *fnt)
Функция С: void mgl_textmark (HMGL gr, const HMDT y, const char *text, const char *fnt)

Рисует текстовые маркеры в точках {x[i], y[i]} в плоскости z=zVal (по умолчанию в плоскости z=Min.z), где значения x[i] равно распределены в интервале [Min.x, Max.x]. The mark sizes r[i]=1 for all points.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.15 Error

Функции рисуют размер ошибки в точках {x[i], y[i]} на плоскости z = zVal (по умолчанию z=Min.z). Такой график полезен для отображения ошибки эксперимента, вычислений и пр. График рисуется для каждой строки если один из массивов матрица. Размер по 1-ой координате должен быть одинаков для всех массивов x.nx=y.nx=z.nx=r.nx. Строка pen задает цвет и стиль линии и маркеров (see section Стиль линий). По умолчанию (pen="") используется сплошная линия с текущим цветом из палитры (see section Палитра и цвета). См. также Plot. См. раздел Error – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Error (const mglData &x, const mglData &y, const mglData &ex, const mglData &ey, const char *pen="")
Функция С: void mgl_error_exy (HMGL gr, const HMDT x, const HMDT y, const HMDT ex, const HMDT ey, const char *pen)

Рисует размер ошибки {ex, ey} в точках {x, y}.

Метод класса mglGraph (C++, Python): void Error (const mglData &x, const mglData &y, const mglData &ey, const char *pen="")
Функция С: void mgl_error_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT ey, const char *pen)

Рисует размер ошибки ey (только вдоль одного направления) в точках {x, y}.

Метод класса mglGraph (C++, Python): void Error (const mglData &y, const mglData &ey, const char *pen="")
Функция С: void mgl_error (HMGL gr, const HMDT y, const HMDT ey, const char *pen)

Рисует размер ошибки ey (только вдоль одного направления) в точках {x, y}, где значения x[i] равно распределены в интервале [Min.x, Max.x].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.16 BoxPlot

Функции рисуют boxplot (называемый также как box-and-whisker diagram или как "ящик с усами") в точках x[i] на плоскости z = zVal (по умолчанию z=Min.z). Это график, компактно изображающий распределение вероятностей a[i,j] (минимум, нижний квартиль (Q1), медиана (Q2), верхний квартиль (Q3) и максимум) вдоль второго (j-го) направления. Размер по 1-ой координате должен быть одинаков для всех массивов x.nx=a.nx. Строка pen задает цвет и стиль линий (see section Стиль линий). По умолчанию (pen="") используется сплошная линия с текущим цветом из палитры (see section Палитра и цвета). См. также Plot, Error, Bars, Базовые размеры. См. раздел BoxPlot – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void BoxPlot (const mglData &x, const mglData &a, const char *pen="")
Функция С: void mgl_boxplot_xy (HMGL gr, const HMDT x, const HMDT a, const char *pen)

Рисует boxplot с заданными значениями координат x[i].

Метод класса mglGraph (C++, Python): void BoxPlot (const mglData &a, const char *pen="")
Функция С: void mgl_boxplot (HMGL gr, const HMDT a, const char *pen)

Рисует boxplot со значениями x[i] равно распределенными в интервале [Min.x, Max.x].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.10 2D графики

Эти функции строят графики для двумерных (2D) массивов. Двумерными считаются массивы, зависящие только от двух параметров (индексов) подобно матрице f(x_i,y_j), i=1...n, j=1...m. Есть несколько основных типов 2D графиков: сплошная поверхность (Surf), сетчатая поверхность (Mesh), поверхность из ящиков (Boxs), поверхность из плиток (Tile), водопад (Fall), ленточки (Belt), график плотности (Dens), линии уровня (Cont), линии уровня с заполнением (ContF) и результат их вращения (Axial). В функциях Cont(), ContF() и Axial() значения уровней можно задавать автоматически и вручную. Можно также нарисовать сетку (Grid) по массиву данных для улучшения вида графика плотности или линий уровня. Каждый тип графика имеет похожий интерфейс. Есть версия для рисования одного массива с автоматическими координатами и версия для параметрически заданной поверхности. Параметры цветовой схемы задаются строкой See section Цветовая схема. См. раздел Пример графиков 2D данных, для примеров кода и графика.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.10.1 Mesh

Метод класса mglGraph (C++, Python): void Mesh (const mglData &x, const mglData &y, const mglData &z, const char *sch="")
Функция С: void mgl_mesh_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *sch)

Рисует сетчатую поверхность, заданную параметрически {x[i,j], y[i,j], z[i,j]}. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Младшие размерности массивов x, y, z должны быть одинаковы x.nx=z.nx && y.nx=z.ny или x.nx=y.nx=z.nx && x.ny=y.ny=z.ny. Массивы x и y могут быть векторами (не матрицами как z). График строится для каждого z среза данных. См. также Surf, Fall, MeshNum (see section Прочие настройки), Cont, Tens. См. раздел Mesh – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Mesh (const mglData &z, const char *sch="")
Функция С: void mgl_mesh (HMGL gr, const HMDT z, const char *sch)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.10.2 Fall

Метод класса mglGraph (C++, Python): void Fall (const mglData &x, const mglData &y, const mglData &z, const char *sch="")
Функция С: void mgl_fall_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *sch)

Рисует водопад для параметрически заданной поверхности {x[i,j], y[i,j], z[i,j]}. График удобен для построения нескольких кривых, сдвинутых вглубь друг относительно друга. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если sch содержит ‘x’, то линии рисуются вдоль x-оси (по умолчанию линии рисуются вдоль y-оси). Младшие размерности массивов x, y, z должны быть одинаковы x.nx=z.nx && y.nx=z.ny или x.nx=y.nx=z.nx && x.ny=y.ny=z.ny. Массивы x и y могут быть векторами (не матрицами как z). График строится для каждого z среза данных. См. также Belt, Mesh, Tens, MeshNum (see section Прочие настройки). См. раздел Fall – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Fall (const mglData &z, const char *sch="")
Функция С: void mgl_fall (HMGL gr, const HMDT z, const char *sch)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.10.3 Belt

Метод класса mglGraph (C++, Python): void Belt (const mglData &x, const mglData &y, const mglData &z, const char *sch="")
Функция С: void mgl_belt_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *sch)

Рисует ленточки для параметрически заданной поверхности {x[i,j], y[i,j], z[i,j]}. График может использоваться как 3d обобщение графика Plot() (see section Plot). Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если sch содержит ‘x’, то линии рисуются вдоль x-оси (по умолчанию линии рисуются вдоль y-оси). Младшие размерности массивов x, y, z должны быть одинаковы x.nx=z.nx && y.nx=z.ny или x.nx=y.nx=z.nx && x.ny=y.ny=z.ny. Массивы x и y могут быть векторами (не матрицами как z). График строится для каждого z среза данных. См. также Fall, Surf, Plot, MeshNum (see section Прочие настройки). См. раздел Belt – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Belt (const mglData &z, const char *sch="")
Функция С: void mgl_belt (HMGL gr, const HMDT z, const char *sch)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.10.4 Surf

Метод класса mglGraph (C++, Python): void Surf (const mglData &x, const mglData &y, const mglData &z, const char *sch="")
Функция С: void mgl_surf_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *sch)

Рисует параметрически заданную поверхность {x[i,j], y[i,j], z[i,j]}. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если sch содержит ‘#’, то на поверхности рисуется сетка. Младшие размерности массивов x, y, z должны быть одинаковы x.nx=z.nx && y.nx=z.ny или x.nx=y.nx=z.nx && x.ny=y.ny=z.ny. Массивы x и y могут быть векторами (не матрицами как z). График строится для каждого z среза данных. См. также Mesh, Dens, Belt, Tile, Boxs, SurfC, SurfA. См. раздел Surf – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Surf (const mglData &z, const char *sch="")
Функция С: void mgl_surf (HMGL gr, const HMDT z, const char *sch)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.10.5 Boxs

Метод класса mglGraph (C++, Python): void Boxs (const mglData &x, const mglData &y, const mglData &z, const char *sch="")
Функция С: void mgl_boxs_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *sch)

Рисует вертикальные ящики для параметрически заданной поверхности {x[i,j], y[i,j], z[i,j]}. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Младшие размерности массивов x, y, z должны быть одинаковы x.nx=z.nx && y.nx=z.ny или x.nx=y.nx=z.nx && x.ny=y.ny=z.ny. Массивы x и y могут быть векторами (не матрицами как z). График строится для каждого z среза данных. См. также Surf, Dens, Tile, Step. См. раздел Boxs – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Boxs (const mglData &z, const char *sch="")
Функция С: void mgl_boxs (HMGL gr, const HMDT z, const char *sch)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.10.6 Tile

Метод класса mglGraph (C++, Python): void Tile (const mglData &x, const mglData &y, const mglData &z, const char *sch="")
Функция С: void mgl_tile_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *sch)

Рисует плитки для параметрически заданной поверхности {x[i,j], y[i,j], z[i,j]}. График может использоваться как 3d обобщение Step() (see section Step). Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Младшие размерности массивов x, y, z должны быть одинаковы x.nx=z.nx && y.nx=z.ny или x.nx=y.nx=z.nx && x.ny=y.ny=z.ny. Массивы x и y могут быть векторами (не матрицами как z). График строится для каждого z среза данных. См. также Surf, Boxs, Step, TileS. См. раздел Tile – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Tile (const mglData &z, const char *sch="")
Функция С: void mgl_tile (HMGL gr, const HMDT z, const char *sch)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.10.7 Dens

Метод класса mglGraph (C++, Python): void Dens (const mglData &x, const mglData &y, const mglData &z, const char *sch="", float zVal=NAN)
Функция С: void mgl_dens_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *sch, float zVal)

Рисует график плотности для параметрически заданной поверхности {x[i,j], y[i,j], z[i,j]} при z = zVal. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если sch содержит ‘#’, то рисуется сетка. Младшие размерности массивов x, y, z должны быть одинаковы x.nx=z.nx && y.nx=z.ny или x.nx=y.nx=z.nx && x.ny=y.ny=z.ny. Массивы x и y могут быть векторами (не матрицами как z). График строится для каждого z среза данных. См. также Surf, Cont, ContF, Boxs, Tile, DensXYZ. См. раздел Dens – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Dens (const mglData &z, const char *sch="", float zVal=NAN)
Функция С: void mgl_dens (HMGL gr, const HMDT z, const char *sch, float zVal)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.10.8 Cont

Метод класса mglGraph (C++, Python): void Cont (const mglData &v, const mglData &x, const mglData &y, const mglData &z, const char *sch="", float zVal=NAN)
Функция С: void mgl_cont_xy_val (HMGL gr, const HMDT v, const HMDT x, const HMDT y, const HMDT z, const char *sch, float zVal)

Рисует линии уровня для параметрически заданной поверхности {x[i,j], y[i,j], z[i,j]} при z = zVal (или при z=v[k] если zVal==NAN). Линии уровня рисуются для z[i,j]=v[k]. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если sch содержит ‘#’, то рисуется сетка. Если sch содержит ‘t’ или ‘T’, то значения v[k] будут выведены вдоль контуров над (или под) кривой. Младшие размерности массивов x, y, z должны быть одинаковы x.nx=z.nx && y.nx=z.ny или x.nx=y.nx=z.nx && x.ny=y.ny=z.ny. Массивы x и y могут быть векторами (не матрицами как z). График строится для каждого z среза данных. См. также Dens, ContF, ContD, Axial, ContXYZ. См. раздел Cont – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Cont (const mglData &v, const mglData &z, const char *sch="", float zVal=NAN)
Функция С: void mgl_cont__val (HMGL gr, const HMDT v, const HMDT z, const char *sch, float zVal)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void Cont (const mglData &x, const mglData &y, const mglData &z, const char *sch="", int num=7, float zVal=NAN)
Функция С: void mgl_cont_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *sch, int num, float zVal)

Как предыдущий с вектором v из num элементов равно распределенных в интервале [Cmin, Cmax].

Метод класса mglGraph (C++, Python): void Cont (const mglData &z, const char *sch="", int num=7, float zVal=NAN)
Функция С: void mgl_cont (HMGL gr, const HMDT z, const char *sch, int num, float zVal)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.10.9 ContF

Метод класса mglGraph (C++, Python): void ContF (const mglData &v, const mglData &x, const mglData &y, const mglData &z, const char *sch="", float zVal=NAN)
Функция С: void mgl_contf_xy_val (HMGL gr, const HMDT v, const HMDT x, const HMDT y, const HMDT z, const char *sch, float zVal)

Рисует закрашенные линии (контуры) уровня для параметрически заданной поверхности {x[i,j], y[i,j], z[i,j]} при z = zVal (или при z=v[k] если zVal==NAN). Линии уровня рисуются для z[i,j]=v[k]. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если sch содержит ‘#’, то рисуется сетка. Младшие размерности массивов x, y, z должны быть одинаковы x.nx=z.nx && y.nx=z.ny или x.nx=y.nx=z.nx && x.ny=y.ny=z.ny. Массивы x и y могут быть векторами (не матрицами как z). График строится для каждого z среза данных. См. также Dens, Cont, Axial, ContFXYZ. См. раздел ContF – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void ContF (const mglData &v, const mglData &z, const char *sch="", float zVal=NAN)
Функция С: void mgl_contf_val (HMGL gr, const HMDT v, const HMDT z, const char *sch, float zVal)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void ContF (const mglData &x, const mglData &y, const mglData &z, const char *sch="", int num=7, float zVal=NAN)
Функция С: void mgl_contf_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *sch, int num, float zVal)

Как предыдущий с вектором v из num элементов равно распределенных в интервале [Cmin, Cmax].

Метод класса mglGraph (C++, Python): void ContF (const mglData &z, const char *sch="", int num=7, float zVal=NAN)
Функция С: void mgl_contf (HMGL gr, const HMDT z, const char *sch, int num, float zVal)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.10.10 ContD

Метод класса mglGraph (C++, Python): void ContD (const mglData &v, const mglData &x, const mglData &y, const mglData &z, const char *sch="", float zVal=NAN)
Функция С: void mgl_contd_xy_val (HMGL gr, const HMDT v, const HMDT x, const HMDT y, const HMDT z, const char *sch, float zVal)

Рисует закрашенные линии (контуры) уровня для параметрически заданной поверхности {x[i,j], y[i,j], z[i,j]} при z = zVal (или при z=v[k] если zVal==NAN) цветами заданными явно. Линии уровня рисуются для z[i,j]=v[k] (должно быть v.nx>2). Строка sch задает цвет контуров: цвет k-го контура определяется символом sch[k%strlen(sch)]. Младшие размерности массивов x, y, z должны быть одинаковы x.nx=z.nx && y.nx=z.ny или x.nx=y.nx=z.nx && x.ny=y.ny=z.ny. Массивы x и y могут быть векторами (не матрицами как z). График строится для каждого z среза данных. См. также Dens, Cont, ContF. См. раздел ContD – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void ContD (const mglData &v, const mglData &z, const char *sch="", float zVal=NAN)
Функция С: void mgl_contd_val (HMGL gr, const HMDT v, const HMDT z, const char *sch, float zVal)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void ContD (const mglData &x, const mglData &y, const mglData &z, const char *sch="", int num=7, float zVal=NAN)
Функция С: void mgl_contd_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *sch, int num, float zVal)

Как предыдущий с вектором v из num элементов равно распределенных в интервале [Cmin, Cmax].

Метод класса mglGraph (C++, Python): void ContD (const mglData &z, const char *sch="", int num=7, float zVal=NAN)
Функция С: void mgl_contd (HMGL gr, const HMDT z, const char *sch, int num, float zVal)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.10.11 Axial

Метод класса mglGraph (C++, Python): void Axial (const mglData &v, const mglData &x, const mglData &y, const mglData &z, const char *sch="")
Функция С: void mgl_axial_xy_val (HMGL gr, const HMDT v, const HMDT x, const HMDT y, const HMDT z, const char *sch)

Рисует поверхность вращения линии уровня для параметрически заданной поверхности {x[i,j], y[i,j], z[i,j]}. Линии уровня рисуются для z[i,j]=v[k]. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если sch содержит ‘#’, то рисуется сетчатая поверхность. Если строка содержит символы ‘x’, ‘y’ или ‘z’, то ось вращения (see section Прочие настройки) устанавливается в указанное направление. Младшие размерности массивов x, y, z должны быть одинаковы x.nx=z.nx && y.nx=z.ny или x.nx=y.nx=z.nx && x.ny=y.ny=z.ny. Массивы x и y могут быть векторами (не матрицами как z). График строится для каждого z среза данных. См. также Cont, ContF, Torus, Surf3. См. раздел Axial – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Axial (const mglData &v, const mglData &z, const char *sch="")
Функция С: void mgl_axial_val (HMGL gr, const HMDT v, const HMDT z, const char *sch)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void Axial (const mglData &x, const mglData &y, const mglData &z, const char *sch="", int num=3)
Функция С: void mgl_axial_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *sch, int num)

Как предыдущий с вектором v из num элементов равно распределенных в интервале [Cmin, Cmax].

Метод класса mglGraph (C++, Python): void Axial (const mglData &z, const char *sch="", int num=3)
Функция С: void mgl_axial (HMGL gr, const HMDT z, const char *sch, int num)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.10.12 Grad

Метод класса mglGraph (C++, Python): void Grad (const mglData &x, const mglData &y, const mglData &z, const mglData &phi, const char *sch="", int num=5)
Функция С: void mgl_grad_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *sch, int num, float zVal)

Рисует линии градиента скалярного поля phi[i,j,k] заданного параметрически {x[i,j,k], y[i,j,k], z[i,j,k]}. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Число линий пропорционально num. Линии рисуются только с границ интервала при num<0. Младшие размерности массивов x, y, z, phi должны быть одинаковы x.nx=phi.nx && y.nx=phi.ny && z.nx=phi.nz или x.nx=y.nx=z.nx=phi.nx && x.ny=y.ny=z.ny=phi.ny && x.nz=y.nz=z.nz=phi.nz. Массивы x, y и z могут быть векторами (не матрицами как phi). См. также Dens3, Cont3, Flow.

Метод класса mglGraph (C++, Python): void Grad (const mglData &x, const mglData &y, const mglData &z, const char *sch="", int num=5, float zVal=NAN)
Функция С: void mgl_grad_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *sch, int num, float zVal)

Рисует линии градиента скалярного поля phi[i,j] заданного параметрически {x[i,j], y[i,j]} при z = zVal. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Число линий пропорционально num. Линии рисуются только с границ интервала при num<0. Младшие размерности массивов x, y, phi должны быть одинаковы x.nx=phi.nx && y.nx=phi.ny или x.nx=y.nx=phi.nx && x.ny=y.ny=phi.ny. Массивы x и y могут быть векторами (не матрицами как phi). График строится для каждого z среза данных. См. также Dens, Cont, ContF, Flow. См. раздел Grad – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Grad (const mglData &z, const char *sch="", int num=5, float zVal=NAN)
Функция С: void mgl_grad (HMGL gr, const HMDT z, const char *sch, int num, float zVal)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.10.13 Grid

Метод класса mglGraph (C++, Python): void Grid (const mglData &x, const mglData &y, const mglData &z, const char *sch="", float zVal=NAN)
Функция С: void mgl_grid_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *sch, float zVal)

Рисует плоскую сету для параметрически заданной поверхности {x[i,j], y[i,j], z[i,j]} при z = zVal. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Младшие размерности массивов x, y, z должны быть одинаковы x.nx=z.nx && y.nx=z.ny или x.nx=y.nx=z.nx && x.ny=y.ny=z.ny. Массивы x и y могут быть векторами (не матрицами как z). График строится для каждого z среза данных. См. также Dens, Cont, ContF.

Метод класса mglGraph (C++, Python): void Grid (const mglData &z, const char *sch="", float zVal=NAN)
Функция С: void mgl_grid (HMGL gr, const HMDT z, const char *sch, float zVal)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.11 3D графики

Эти функции строят графики для трехмерных (3D) массивов. Трехмерными считаются массивы, зависящие от трех параметров (индексов) подобно матрице f(x_i,y_j,z_k), i=1...n, j=1...m, k=1...l. Есть 5 основных типов 3D графиков: поверхность постоянного уровня (Surf3), график плотности на срезе (Dens3), линии уровня на срезе (Cont3), закрашенные контуры уровня на срезе (ContF3) и график объемной прозрачности типа облака (Cloud). В функциях Cont3(), ContF3() и Surf3() значения уровней можно задавать автоматически и вручную. Можно также нарисовать на срезе сетку (Grid3) по массиву данных для улучшения вида графика плотности или линий уровня. Каждый тип графика имеет похожий интерфейс. Есть версия для рисования одного массива с автоматическими координатами и версия для параметрически заданного массива. Параметры цветовой схемы задаются строкой See section Цветовая схема. См. раздел Пример графиков 3D данных, для примеров кода и графика.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.11.1 Surf3

Метод класса mglGraph (C++, Python): void Surf3 (float val, const mglData &x, const mglData &y, const mglData &z, const mglData &a, const char *stl="")
Функция С: void mgl_surf3_xyz_val (HMGL gr, float val, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const char *stl)

Рисует поверхность уровня для 3d массива, заданного параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]) при a(x,y,z)=val. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если sch содержит ‘#’, то рисуется сетчатая поверхность. Массивы x, y, z могут быть векторами (не 3d массивами как a). Замечу, что возможно некорректная отрисовка граней вследствие неопределенности построения сечения если поверхность пересекает ячейку данных 2 и более раз. См. также Cloud, Dens3, Surf3C, Surf3A, Axial. См. раздел Surf3 – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Surf3 (float val, const mglData &a, const char *sch="")
Функция С: void mgl_surf3_val (HMGL gr, float val, const HMDT a, const char *sch)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void Surf3 (const mglData &x, const mglData &y, const mglData &z, const mglData &a, const char *stl="", int num=3)
Функция С: void mgl_surf3_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const char *stl, int num)

Рисует num поверхностей уровня равномерно распределенных в интервале [Cmin, Cmax].

Метод класса mglGraph (C++, Python): void Surf3 (const mglData &a, const char *sch="", int num=3)
Функция С: void mgl_surf3 (HMGL gr, const HMDT a, const char *sch, int num)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.11.2 Dens3

Метод класса mglGraph (C++, Python): void Dens3 (const mglData &x, const mglData &y, const mglData &z, const mglData &a, char dir, int sVal=-1, const char *stl="")
Функция С: void mgl_dens3_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT a, char dir, int sVal, const char *stl)

Рисует график плотности для 3d массива, заданного параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). График рисуется на срезе sVal в направлении dir={‘x’, ‘y’, ‘z’}. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если stl содержит ‘#’, то на срезе рисуется сетка. Младшие размерности массивов x, y, z должны быть одинаковы. Массивы x, y, z могут быть векторами (не 3d массивами как a). См. также Cont3, ContF3, Dens, Grid3. См. раздел Dens3 – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Dens3 (const mglData &a, char dir, int sVal=-1, const char *sch="")
Функция С: void mgl_dens3 (HMGL gr, const HMDT a, char dir, int sVal, const char *sch)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void DensA (const mglData &x, const mglData &y, const mglData &z, const mglData &a, const char *stl="")
Функция С: void mgl_dens3_all_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const char *stl)

Рисует графики плотности на всех центральных срезах 3d данных, заданных параметрически.

Метод класса mglGraph (C++, Python): void DensA (const mglData &a, const char *sch="")
Функция С: void mgl_dens3_all (HMGL gr, const HMDT a, const char *sch)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.11.3 Cont3

Метод класса mglGraph (C++, Python): void Cont3 (const mglData &v, const mglData &x, const mglData &y, const mglData &z, const mglData &a, char dir, int sVal=-1, const char *stl="")
Функция С: void mgl_cont3_xyz_val (HMGL gr, const HMDT v, const HMDT x, const HMDT y, const HMDT z, const HMDT a, char dir, int sVal, const char *stl)

Рисует линии уровня для 3d массива, заданного параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). Линии рисуются для значений из массива v на срезе sVal в направлении dir={‘x’, ‘y’, ‘z’}. Строка stl задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если stl содержит ‘#’, то на срезе рисуется сетка. Если sch содержит ‘t’ или ‘T’, то значения v[k] будут выведены вдоль контуров над (или под) кривой. Младшие размерности массивов x, y, z должны быть одинаковы. Массивы x, y, z могут быть векторами (не 3d массивами как a). См. также Dens3, ContF3, Cont, Grid3. См. раздел Cont3 – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Cont3 (const mglData &v, const mglData &a, char dir, int sVal=-1, const char *sch="")
Функция С: void mgl_cont3_val (HMGL gr, const HMDT v, const HMDT a, char dir, int sVal, const char *sch)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void Cont3 (const mglData &x, const mglData &y, const mglData &z, const mglData &a, char dir, int sVal=-1, const char *stl="", int num=7)
Функция С: void mgl_cont3_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT a, char dir, int sVal, const char *stl, int num)

Как предыдущий с вектором v из num элементов равно распределенных в интервале [Cmin, Cmax].

Метод класса mglGraph (C++, Python): void Cont3 (const mglData &a, char dir, int sVal=-1, const char *sch="", int num=7)
Функция С: void mgl_cont3 (HMGL gr, const HMDT a, char dir, int sVal, const char *sch, int num)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void ContA (const mglData &x, const mglData &y, const mglData &z, const mglData &a, const char *stl="", int num=7)
Функция С: void mgl_cont3_all_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const char *stl, int num)

Рисует линии уровня на всех центральных срезах 3d данных, заданных параметрически.

Метод класса mglGraph (C++, Python): void ContA (const mglData &a, const char *sch="", int num=7)
Функция С: void mgl_cont3_all (HMGL gr, const HMDT a, const char *sch, int num)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.11.4 ContF3

Метод класса mglGraph (C++, Python): void ContF3 (const mglData &v, const mglData &x, const mglData &y, const mglData &z, const mglData &a, char dir, int sVal=-1, const char *stl="")
Функция С: void mgl_contf3_xyz_val (HMGL gr, const HMDT v, const HMDT x, const HMDT y, const HMDT z, const HMDT a, char dir, int sVal, const char *stl)

Рисует закрашенные линии (контуры) уровня для 3d массива, заданного параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). Линии рисуются для значений из массива v на срезе sVal в направлении dir={‘x’, ‘y’, ‘z’}. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если stl содержит ‘#’, то на срезе рисуется сетка. Младшие размерности массивов x, y, z должны быть одинаковы. Массивы x, y, z могут быть векторами (не 3d массивами как a). См. также Dens3, Cont3, ContF, Grid3. См. раздел ContF3 – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void ContF3 (const mglData &v, const mglData &a, char dir, int sVal=-1, const char *sch="")
Функция С: void mgl_contf3_val (HMGL gr, const HMDT v, const HMDT a, char dir, int sVal, const char *sch)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void ContF3 (const mglData &x, const mglData &y, const mglData &z, const mglData &a, char dir, int sVal=-1, const char *stl="", int num=7)
Функция С: void mgl_contf3_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT a, char dir, int sVal, const char *stl, int num)

Как предыдущий с вектором v из num элементов равно распределенных в интервале [Cmin, Cmax].

Метод класса mglGraph (C++, Python): void ContF3 (const mglData &a, char dir, int sVal=-1, const char *sch="", int num=7)
Функция С: void mgl_contf3 (HMGL gr, const HMDT a, char dir, int sVal, const char *sch, int num)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void ContFA (const mglData &x, const mglData &y, const mglData &z, const mglData &a, const char *stl="", int num=7)
Функция С: void mgl_contf3_all_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const char *stl, int num)

Рисует закрашенные линии (контуры) уровня на всех центральных срезах 3d данных, заданных параметрически.

Метод класса mglGraph (C++, Python): void ContFA (const mglData &a, const char *sch="", int num=7)
Функция С: void mgl_contf3_all (HMGL gr, const HMDT a, const char *sch, int num)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.11.5 Grid3

Метод класса mglGraph (C++, Python): void Grid3 (const mglData &x, const mglData &y, const mglData &z, const mglData &a, char dir, int sVal=-1, const char *stl="")
Функция С: void mgl_grid3_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT a, char dir, int sVal, const char *stl)

Рисует сетку для 3d массива, заданного параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). График рисуется на срезе sVal в направлении dir={‘x’, ‘y’, ‘z’}. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Младшие размерности массивов x, y, z должны быть одинаковы. Массивы x, y, z могут быть векторами (не 3d массивами как a). См. также Cont3, ContF3, Dens3, Grid.

Метод класса mglGraph (C++, Python): void Grid3 (const mglData &a, char dir, int sVal=-1, const char *sch="")
Функция С: void mgl_grid3 (HMGL gr, const HMDT a, char dir, int sVal, const char *sch)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void GridA (const mglData &x, const mglData &y, const mglData &z, const mglData &a, const char *stl="")
Функция С: void mgl_grid3_all_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const char *stl)

Рисует сетку на всех центральных срезах 3d данных, заданных параметрически.

Метод класса mglGraph (C++, Python): void GridA (const mglData &a, const char *sch="")
Функция С: void mgl_grid3_all (HMGL gr, const HMDT a, const char *sch)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.11.6 Cloud

Метод класса mglGraph (C++, Python): void Cloud (const mglData &x, const mglData &y, const mglData &z, const mglData &a, const char *stl="", float alpha=1)
Функция С: void mgl_cloud_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const char *stl, float alpha=1)

Рисует облачный график для 3d массива, заданного параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). График состоит из кубиков с цветом и прозрачностью пропорциональной значениям a. Результат похож на облако – малые значения прозрачны, а большие нет. Число кубиков зависит от SetMeshNum() (see section Прочие настройки). Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Параметр alpha меняет общую прозрачность графика. Младшие размерности массивов x, y, z должны быть одинаковы. Массивы x, y, z могут быть векторами (не 3d массивами как a). См. также Surf3. См. раздел Cloud – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Cloud (const mglData &a, const char *stl="", float alpha=1)
Функция С: void mgl_cloud (HMGL gr, const HMDT a, const char *stl, float alpha=1)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++): void CloudP (const mglData &x, const mglData &y, const mglData &z, const mglData &a, const char *stl="", float alpha=1)
Функция С: void mgl_cloudp_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const char *stl, float alpha=1)

Как первый, но используются полупрозрачные точки вместо кубиков. См. раздел CloudP – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++): void CloudP (const mglData &a, const char *stl="", float alpha=1)
Функция С: void mgl_cloudp (HMGL gr, const HMDT a, const char *stl, float alpha=1)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.11.7 Beam

Метод класса mglGraph (C++, Python): void Beam (float val, const mglData &tr, const mglData &g1, const mglData &g2, const mglData &a, float r, const char *stl="", int flag=0)
Функция С: void mgl_beam_val (HMGL gr, float val, const HMDT tr, const HMDT g1, const HMDT g2, const HMDT a, float r, const char *stl, int flag)

Рисует поверхность уровня для 3d массива a при постоянном значении a=val. Это специальный тип графика для a заданного в сопровождающей системе координат вдоль кривой tr с ортами g1, g2 и с поперечным размером r. Переменная flag – битовый флаг: ‘0x1’ - рисовать в сопровождающих (не лабораторных) координатах; ‘0x2’ - рисовать проекцию на плоскость \rho-z; ‘0x4’ - рисовать нормированное в каждом сечении поле. Размеры массивов по 1-му индексу tr, g1, g2 должны быть nx>2. Размеры массивов по 2-му индексу tr, g1, g2 и размер по 3-му индексу массива a должны быть одинаковы. См. также Surf3.

Метод класса mglGraph (C++, Python): void Beam (const mglData &tr, const mglData &g1, const mglData &g2, const mglData &a, float r, const char *stl="", int flag=0, int num=3)
Функция С: void mgl_beam (HMGL gr, const HMDT tr, const HMDT g1, const HMDT g2, const HMDT a, float r, const char *stl, int flag=0, int num=3)

Рисует num равномерно распределенных в интервале [Cmin, Cmax] поверхностей уровня 3d массива в сопровождающей системе координат.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.12 Парные графики

Эти функции строят графики для двух связанных массивов. Есть несколько основных типов 3D графиков: поверхность и поверхность уровня с окраской по второму массиву (SurfC, Surf3C), поверхность и поверхность уровня с прозрачностью по второму массиву (SurfA, Surf3A), плитки переменного размера (TileS), диаграмма точечного отображения (Map), STFA диаграмма (STFA). В функциях Surf3A() и Surf3C() значения уровней можно задавать автоматически и вручную. Каждый тип графика имеет похожий интерфейс. Есть версия для рисования одного массива с автоматическими координатами и версия для параметрически заданного массива. Параметры цветовой схемы задаются строкой See section Цветовая схема.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.12.1 SurfC

Метод класса mglGraph (C++, Python): void SurfC (const mglData &x, const mglData &y, const mglData &z, const mglData &c, const char *sch="")
Функция С: void mgl_surfc_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT c, const char *sch)

Рисует параметрически заданную поверхность {x[i,j], y[i,j], z[i,j]} с цветом, заданным массивом c[i,j]. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если sch содержит ‘#’, то на поверхности рисуется сетка. Все размеры массивов z и c должны быть одинаковы. Младшие размерности массивов x, y, z должны быть одинаковы x.nx=z.nx && y.nx=z.ny или x.nx=y.nx=z.nx && x.ny=y.ny=z.ny. Массивы x и y могут быть векторами (не матрицами как z). График строится для каждого z среза данных. См. также Surf, SurfA, Surf3C. См. раздел SurfC – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void SurfC (const mglData &z, const mglData &c, const char *sch="")
Функция С: void mgl_surfc (HMGL gr, const HMDT z, const HMDT c, const char *sch)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.12.2 Surf3C

Метод класса mglGraph (C++, Python): void Surf3C (float val, const mglData &x, const mglData &y, const mglData &z, const mglData &a, const mglData &c, const char *stl="")
Функция С: void mgl_surf3c_xyz_val (HMGL gr, float val, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const HMDT c, const char *stl)

Рисует поверхность уровня для 3d массива, заданного параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]) при a(x,y,z)=val. Аналогично Surf3(), но цвет задается массивом c. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если sch содержит ‘#’, то рисуется сетчатая поверхность. Все размеры массивов z и c должны быть одинаковы. Массивы x, y, z могут быть векторами (не 3d массивами как a). Замечу, что возможно некорректная отрисовка граней вследствие неопределенности построения сечения если поверхность пересекает ячейку данных 2 и более раз. См. также Surf3, SurfC, Surf3A. См. раздел Surf3C – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Surf3C (float val, const mglData &a, const mglData &c, const char *sch="")
Функция С: void mgl_surf3c_val (HMGL gr, float val, const HMDT a, const HMDT c, const char *sch)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void Surf3C (const mglData &x, const mglData &y, const mglData &z, const mglData &a, const mglData &c, const char *stl="", int num=3)
Функция С: void mgl_surf3c_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const HMDT c, const char *stl, int num)

Рисует num поверхностей уровня равномерно распределенных в интервале [Cmin, Cmax].

Метод класса mglGraph (C++, Python): void Surf3C (const mglData &a, const mglData &c, const char *sch="", int num=3)
Функция С: void mgl_surf3c (HMGL gr, const HMDT a, const HMDT c, const char *sch, int num)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.12.3 SurfA

Метод класса mglGraph (C++, Python): void SurfA (const mglData &x, const mglData &y, const mglData &z, const mglData &c, const char *sch="")
Функция С: void mgl_surfa_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT c, const char *sch)

Рисует параметрически заданную поверхность {x[i,j], y[i,j], z[i,j]} с прозрачностью, заданным массивом c[i,j]. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если sch содержит ‘#’, то на поверхности рисуется сетка. Все размеры массивов z и c должны быть одинаковы. Младшие размерности массивов x, y, z должны быть одинаковы x.nx=z.nx && y.nx=z.ny или x.nx=y.nx=z.nx && x.ny=y.ny=z.ny. Массивы x и y могут быть векторами (не матрицами как z). График строится для каждого z среза данных. См. также Surf, SurfC, Surf3A, TileS. См. раздел SurfA – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void SurfA (const mglData &z, const mglData &c, const char *sch="")
Функция С: void mgl_surfa (HMGL gr, const HMDT z, const HMDT c, const char *sch)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.12.4 Surf3A

Метод класса mglGraph (C++, Python): void Surf3A (float val, const mglData &x, const mglData &y, const mglData &z, const mglData &a, const mglData &c, const char *stl="")
Функция С: void mgl_surf3a_xyz_val (HMGL gr, float val, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const HMDT c, const char *stl)

Рисует поверхность уровня для 3d массива, заданного параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]) при a(x,y,z)=val. Аналогично Surf3(), но прозрачность задается массивом c. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если sch содержит ‘#’, то рисуется сетчатая поверхность. Все размеры массивов z и c должны быть одинаковы. Массивы x, y, z могут быть векторами (не 3d массивами как a). Замечу, что возможно некорректная отрисовка граней вследствие неопределенности построения сечения если поверхность пересекает ячейку данных 2 и более раз. См. также Surf3, SurfA, Surf3C. См. раздел Surf3A – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Surf3A (float val, const mglData &a, const mglData &c, const char *sch="")
Функция С: void mgl_surf3a_val (HMGL gr, float val, const HMDT a, const HMDT c, const char *sch)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void Surf3A (const mglData &x, const mglData &y, const mglData &z, const mglData &a, const mglData &c, const char *stl="", int num=3)
Функция С: void mgl_surf3a_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const HMDT c, const char *stl, int num)

Рисует num поверхностей уровня равномерно распределенных в интервале [Cmin, Cmax].

Метод класса mglGraph (C++, Python): void Surf3A (const mglData &a, const mglData &c, const char *sch="", int num=3)
Функция С: void mgl_surf3a (HMGL gr, const HMDT a, const HMDT c, const char *sch, int num)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.12.5 TileS

Метод класса mglGraph (C++, Python): void TileS (const mglData &x, const mglData &y, const mglData &z, const mglData &r, const char *sch="")
Функция С: void mgl_tiles_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT r, const char *sch)

Рисует плитки для параметрически заданной поверхности {x[i,j], y[i,j], z[i,j]}. Аналогично Tile(), но размер плиток задается массивов r. Это создает эффект "прозрачности" при экспорте в файлы EPS. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Младшие размерности массивов x, y, z должны быть одинаковы x.nx=z.nx && y.nx=z.ny или x.nx=y.nx=z.nx && x.ny=y.ny=z.ny. Массивы x и y могут быть векторами (не матрицами как z). График строится для каждого z среза данных. См. также SurfA, Tile. См. раздел TileS – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void TileS (const mglData &z, const mglData &c, const char *sch="")
Функция С: void mgl_tiles (HMGL gr, const HMDT z, const HMDT c, const char *sch)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.12.6 Map

Метод класса mglGraph (C++, Python): void Map (const mglData &x, const mglData &y, const mglData &ax, const mglData &ay, const char *sch="", int ks=0, bool pnts=true)
Функция С: void mgl_map_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT ax, const HMDT ay, const char *sch, int ks, int pnts)

Визуализирует точечное отображение для матриц {ax, ay } параметрически зависящих от координат x, y. Исходное положение ячейки задает ее цвет. Высота пропорциональна якобиану J(ax,ay). График является аналогом диаграммы Арнольда. Если pnts=false, то рисуются грани, иначе цветные точки рисуются в узлах матриц (полезно для "запутанного" отображения). Параметр ks задает используемый срез матриц. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Все размеры массивов ax и ay должны быть одинаковы. Младшие размерности массивов x, y, ax должны быть одинаковы. Массивы x и y могут быть векторами (не матрицами как ax). See section Цветовая схема. См. раздел Map – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Map (const mglData &ax, const mglData &ay, const char *sch="", int ks=0, bool pnts=true)
Функция С: void mgl_map (HMGL gr, const HMDT ax, const HMDT ay, const char *sch, int ks, int pnts)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.12.7 STFA

Метод класса mglGraph (C++, Python): void STFA (const mglData &x, const mglData &y, const mglData &re, const mglData &im, int dn, const char *sch="", float zVal=NAN)
Функция С: void mgl_stfa_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT re, const HMDT im, int dn, const char *sch, float zVal)

Рисует спектрограмму комплексного массива re+i*im для Фурье размером dn точек в плоскости z=zVal. Параметр dn – любое четное число. Например в 1D случае, результатом будет график плотности от массива res[i,j]=|\sum_d^dn exp(I*j*d)*(re[i*dn+d]+I*im[i*dn+d])|/dn размером {int(nx/dn), dn, ny}. Массивы re, im параметрически зависят от координат x, y. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Все размеры массивов re и im должны быть одинаковы. Младшие размерности массивов x, y, re должны быть одинаковы. Массивы x и y могут быть векторами (не матрицами как re). См. раздел STFA – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void STFA (const mglData &re, const mglData &im, int dn, const char *sch="", float zVal=NAN)
Функция С: void mgl_stfa (HMGL gr, const HMDT re, const HMDT im, int dn, const char *sch, float zVal)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.13 Векторные поля

Эти функции рисуют графики для 2D и 3D векторных полей. Есть несколько типов графиков: просто векторное поле (Vect), вектора вдоль траектории (Traj), векторное поле каплями (Dew), нити тока (Flow, FlowP), трубки тока (Pipe). Каждый тип графика имеет похожий интерфейс. Есть версия для рисования одного массива с автоматическими координатами и версия для параметрически заданного массива. Параметры цветовой схемы задаются строкой See section Цветовая схема.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.13.1 Traj

Метод класса mglGraph (C++, Python): void Traj (const mglData &x, const mglData &y, const mglData &z, const mglData &ax, const mglData &ay, const mglData &az, const char *sch="", float len=0)
Метод класса mglGraph (C++, Python): void Traj (const mglData &x, const mglData &y, const mglData &ax, const mglData &ay, const char *sch="", float zVal=NAN, float len=0)
Функция С: void mgl_traj_xyz (HMGL gr, const HMDTx, const HMDTy, const HMDTz, const HMDTax, const HMDTay, const HMDTaz, const char *sch, float len)
Функция С: void mgl_traj_xy (HMGL gr, const HMDTx, const HMDTy, const HMDTax, const HMDTay, const char *sch, float zVal, float len)

Рисует вектора {ax, ay, az} вдоль кривой {x, y, z}. Длина векторов пропорциональна \sqrtax^2+ay^2+az^2. Строка pen задает цвет (see section Стиль линий). По умолчанию (pen="") используется текущий цвет из палитры (see section Палитра и цвета). Параметр len задает фактор длины векторов (если не нуль) или выбирать длину пропорционально расстоянию между точками кривой (если len=0). Размер по 1-му индексу должен быть 2 или больше. График рисуется для каждой строки если один из массивов матрица. См. также Vect. См. раздел Traj – пример использования, для примеров кода и графика.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.13.2 Vect

Метод класса mglGraph (C++, Python): void Vect (const mglData &x, const mglData &y, const mglData &ax, const mglData &ay, const char *sch="", float zVal=NAN, int flag=0)
Функция С: void mgl_vect_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT ax, const HMDT ay, const char *sch, float zVal, int flag)

Рисует векторное поле {ax, ay} параметрически зависящее от координат x, y на плоскости при z=zVal. Длина и цвет векторов пропорциональна \sqrtax^2+ay^2. Число рисуемых векторов зависит от SetMeshNum() (see section Прочие настройки). Цвет задается строкой sch. Предыдущая цветовая схема используется по умолчанию. Параметр flag побитовый флаг для настройки вид векторов: MGL_VEC_COL – двуцветный вектор, MGL_VEC_LEN – одинаковая длина векторов, MGL_VEC_DOT – рисует штрихи вместо стрелок, MGL_VEC_END – рисует стрелку в точку сетки, MGL_VEC_MID – рисует стрелку с серединой в точке сетки. Все размеры массивов ax и ay должны быть одинаковы. Младшие размерности массивов x, y и ax должны быть одинаковы. Массивы x и y могут быть векторами (не матрицами как ax). График строится для каждого z среза ax, ay. См. также Flow, Dew. См. раздел Vect – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Vect (const mglData &ax, const mglData &ay, const char *sch="", float zVal=NAN, int flag=0)
Функция С: void mgl_vect_2d (HMGL gr, const HMDT ax, const HMDT ay, const char *sch, float zVal, int flag)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void Vect (const mglData &x, const mglData &y, const mglData &z, const mglData &ax, const mglData &ay, const mglData &az, const char *sch="", int flag=0)
Функция С: void mgl_vect_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT ax, const HMDT ay, const HMDT az, const char *sch, int flag)

Это 3D версия графика. Здесь массивы ax, ay, az должны быть 3d массивами, а длина и цвет пропорциональны \sqrtax^2+ay^2+az^2. См. раздел Vect 3D – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Vect (const mglData &ax, const mglData &ay, const mglData &az, const char *sch="", int flag=0)
Функция С: void mgl_vect_3d (HMGL gr, const HMDT ax, const HMDT ay, const HMDT az, const char *sch, int flag)

Как предыдущий с x, y, z равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.13.3 Dew

Метод класса mglGraph (C++, Python): void Dew (const mglData &x, const mglData &y, const mglData &ax, const mglData &ay, const char *sch="", float zVal=NAN)
Функция С: void mgl_dew_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT ax, const HMDT ay, const char *sch, float zVal)

Рисует капли для векторного поля {ax, ay}, параметрически зависящего от координат x, y при z=zVal. Замечу, что график требует много памяти и процессорного времени для своего создания! Цвет капель пропорционален \sqrtax^2+ay^2. Число капель определяется SetMeshNum() (see section Прочие настройки). Цвет задается строкой sch. Предыдущая цветовая схема используется по умолчанию. Все размеры массивов ax и ay должны быть одинаковы. Младшие размерности массивов x, y и ax должны быть одинаковы. Массивы x и y могут быть векторами (не матрицами как ax). График строится для каждого z среза ax, ay. См. также Vect. См. раздел Dew – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Dew (const mglData &ax, const mglData &ay, const char *sch="", float zVal=NAN)
Функция С: void mgl_dew (HMGL gr, const HMDT ax, const HMDT ay, const char *sch, float zVal)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.13.4 Flow

Метод класса mglGraph (C++, Python): void Flow (const mglData &x, const mglData &y, const mglData &ax, const mglData &ay, const char *sch="", int num=5, bool central=true, float zVal=NAN)
Функция С: void mgl_flow_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT ax, const HMDT ay, const char *sch, int num, int central, float zVal)

Рисует нити тока для векторного поля {ax, ay}, параметрически зависящего от координат x, y на плоскости при z = zVal. Число нитей пропорционально num. Параметр central задает возможность старта нитей изнутри сетки (если true) или только с краев (если false). С версии 1.11 он игнорируется и всегда равен (num>0). Цвет нитей пропорционален \sqrtax^2+ay^2. Теплые цвета соответствуют нормальному току (типа стока). Холодные цвета соответствуют обратному току (типа источника). Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Все размеры массивов ax и ay должны быть одинаковы. Младшие размерности массивов x, y и ax должны быть одинаковы. Массивы x и y могут быть векторами (не матрицами как ax). График строится для каждого z среза ax, ay. См. также Pipe, Vect. См. раздел Flow – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Flow (const mglData &ax, const mglData &ay, const char *sch="", int num=5, bool central=true, float zVal=NAN)
Функция С: void mgl_flow_2d (HMGL gr, const HMDT ax, const HMDT ay, const char *sch, int num, int central, float zVal)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void Flow (const mglData &x, const mglData &y, const mglData &z, const mglData &ax, const mglData &ay, const mglData &az, const char *sch="", int num=3, bool central=true)
Функция С: void mgl_flow_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT ax, const HMDT ay, const HMDT az, const char *sch, int num, int central)

Это 3D версия графика. Здесь массивы ax, ay, az должны быть 3d массивами, а цвет пропорционален \sqrtax^2+ay^2+az^2. См. раздел Flow 3D – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Flow (const mglData &ax, const mglData &ay, const mglData &az, const char *sch="", int num=3, bool central=true)
Функция С: void mgl_flow_3d (HMGL gr, const HMDT ax, const HMDT ay, const HMDT az, const char *sch, int num, int central)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.13.5 FlowP

Метод класса mglGraph (C++): void FlowP (mglPoint p0, const mglData &x, const mglData &y, const mglData &ax, const mglData &ay, const char *sch="")
Метод класса mglGraph (Python): void FlowP (float x0, float y0, float z0, const mglData &x, const mglData &y, const mglData &ax, const mglData &ay, const char *sch="")
Функция С: void mgl_flowp_xy (HMGL gr, float x0, float y0, float z0, const HMDT x, const HMDT y, const HMDT ax, const HMDT ay, const char *sch)

Рисует нить тока из точки p0 для векторного поля {ax, ay}, параметрически зависящего от координат x, y на плоскости при z = p0.z. Цвет нити пропорционален \sqrtax^2+ay^2. Теплые цвета соответствуют нормальному току (типа стока). Холодные цвета соответствуют обратному току (типа источника). Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Все размеры массивов ax и ay должны быть одинаковы. Младшие размерности массивов x, y и ax должны быть одинаковы. Массивы x и y могут быть векторами (не матрицами как ax). График строится для каждого z среза ax, ay. См. также Pipe, Vect.

Метод класса mglGraph (C++): void FlowP (mglPoint p0, const mglData &ax, const mglData &ay, const char *sch="")
Метод класса mglGraph (Python): void FlowP (float x0, float y0, float z0, const mglData &ax, const mglData &ay, const char *sch="")
Функция С: void mgl_flowp_2d (HMGL gr, float x0, float y0, float z0, const HMDT ax, const HMDT ay, const char *sch)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++): void FlowP (mglPoint p0, const mglData &x, const mglData &y, const mglData &z, const mglData &ax, const mglData &ay, const mglData &az, const char *sch="")
Метод класса mglGraph (Python): void FlowP (float x0, float y0, float z0, const mglData &x, const mglData &y, const mglData &z, const mglData &ax, const mglData &ay, const mglData &az, const char *sch="")
Функция С: void mgl_flowp_xyz (HMGL gr, float x0, float y0, float z0, const HMDT x, const HMDT y, const HMDT z, const HMDT ax, const HMDT ay, const HMDT az, const char *sch)

Это 3D версия графика. Здесь массивы ax, ay, az должны быть 3d массивами, а цвет пропорциональны \sqrtax^2+ay^2+az^2. См. раздел Flow 3D – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++): void FlowP (mglPoint p0, const mglData &ax, const mglData &ay, const mglData &az, const char *sch="")
Метод класса mglGraph (Python): void FlowP (float x0, float y0, float z0, const mglData &ax, const mglData &ay, const mglData &az, const char *sch="")
Функция С: void mgl_flowp_3d (HMGL gr, float x0, float y0, float z0, const HMDT ax, const HMDT ay, const HMDT az, const char *sch)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.13.6 Pipe

Метод класса mglGraph (C++, Python): void Pipe (const mglData &x, const mglData &y, const mglData &ax, const mglData &ay, const char *sch="", float r0=0.05, int num=5, bool central=true, float zVal=NAN)
Функция С: void mgl_pipe_xy (HMGL gr, const HMDT x, const HMDT y, const HMDT ax, const HMDT ay, const char *sch, float r0, int num, int central, float zVal)

Рисует трубки тока для векторного поля {ax, ay}, параметрически зависящего от координат x, y на плоскости при z = zVal. Число трубок пропорционально num. Параметр central задает возможность старта трубок изнутри сетки (если true) или только с краев (если false). С версии 1.11 он игнорируется и всегда равен (num>0). Цвет и радиус трубок пропорционален \sqrtax^2+ay^2. Теплые цвета соответствуют нормальному току (типа стока). Холодные цвета соответствуют обратному току (типа источника). Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Параметр r0 задает радиус трубок. При r0<0 радиус трубок обратно пропорционален их амплитуде. Все размеры массивов ax и ay должны быть одинаковы. Младшие размерности массивов x, y и ax должны быть одинаковы. Массивы x и y могут быть векторами (не матрицами как ax). График строится для каждого z среза ax, ay. См. также Flow, Vect. См. раздел Pipe – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Pipe (const mglData &ax, const mglData &ay, const char *sch="", float r0=0.05, int num=5, bool central=true, float zVal=NAN)
Функция С: void mgl_pipe_2d (HMGL gr, const HMDT ax, const HMDT ay, const char *sch, float r0, int num, int central, float zVal)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void Pipe (const mglData &x, const mglData &y, const mglData &z, const mglData &ax, const mglData &ay, const mglData &az, const char *sch="", float r0=0.05, int num=3, bool central=true)
Функция С: void mgl_pipe_xyz (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT ax, const HMDT ay, const HMDT az, const char *sch, float r0, int num, int central)

Это 3D версия графика. Здесь массивы ax, ay, az должны быть 3d массивами, а цвет пропорциональны \sqrtax^2+ay^2+az^2. См. раздел Pipe 3D – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void Pipe (const mglData &ax, const mglData &ay, const mglData &az, const char *sch="", float r0=0.05, int num=3, bool central=true)
Функция С: void mgl_pipe_3d (HMGL gr, const HMDT ax, const HMDT ay, const HMDT az, const char *sch, float r0, int num, int central)

Как предыдущий с x, y равно распределенными в интервале [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.14 Прочие графики

Это функции, не относящиеся к какой-то специальной категории. Сюда входят функции построения графиков по текстовым формулам (Plots by formula), рисования поверхностей из треугольников (TriPlot), произвольных точек в пространстве (Dots) и реконструкции по ним поверхности (Crust), графики плотности и линии уровня на плоскостях, перпендикулярных осям x, y или z (Dens[XYZ], Cont[XYZ], ContF[XYZ]), функция "упрощенного" рисования (SimplePlot). Каждый тип графика имеет похожий интерфейс. Есть версия для рисования одного массива с автоматическими координатами и версия для параметрически заданного массива. Параметры цветовой схемы задаются строкой. See section Цветовая схема.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.14.1 DensXYZ

Эти функции рисуют график плотности на x, y или z плоскостях. Если a – 3d массив, то выполняется интерполяция к заданному срезу sVal. Функции полезны для создания проекций 3D массивов на оси координат. Например, код

 
gr->DensX(c.Sum("x"),"BbcyrR",-1);
gr->DensY(c.Sum("y"),0,1);
gr->DensZ(c.Sum("z"),0,-1);

создают такую картинку. См. также ContXYZ, ContFXYZ, Dens, Распределение данных. См. раздел Dens projection – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void DensX (const mglData &a, const char *stl="", float sVal=NAN)
Функция С: void mgl_dens_x (HMGL gr, const HMDT a, const char *stl, float sVal)

Рисует график плотности a при x = sVal.

Метод класса mglGraph (C++, Python): void DensY (const mglData &a, const char *stl="", float sVal=NAN)
Функция С: void mgl_dens_y (HMGL gr, const HMDT a, const char *stl, float sVal)

Рисует график плотности a при y = sVal.

Метод класса mglGraph (C++, Python): void DensZ (const mglData &a, const char *stl="", float sVal=NAN)
Функция С: void mgl_dens_z (HMGL gr, const HMDT a, const char *stl, float sVal)

Рисует график плотности a при z = sVal.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.14.2 ContXYZ

Эти функции рисуют линии уровня на x, y или z плоскостях. Если a – 3d массив, то выполняется интерполяция к заданному срезу sVal. Функции полезны для создания проекций 3D массивов на оси координат. Например, код

 
gr->ContX(c.Sum("x"),"BbcyrR",-1);
gr->ContY(c.Sum("y"),0,1);
gr->ContZ(c.Sum("z"),0,-1);

создают такую картинку. См. также ContFXYZ, DensXYZ, Cont, Распределение данных. См. раздел Cont projection – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): void ContX (const mglData &a, const char *stl="", float sVal=NAN, int num=7)
Функция С: void mgl_cont_x (HMGL gr, const HMDT a, const char *stl, float sVal, int num)

Рисует num линий уровня для массива a при x = sVal.

Метод класса mglGraph (C++, Python): void ContY (const mglData &a, const char *stl="", float sVal=NAN, int num=7)
Функция С: void mgl_cont_y (HMGL gr, const HMDT a, const char *stl, float sVal, int num)

Рисует num линий уровня для массива a при y = sVal.

Метод класса mglGraph (C++, Python): void ContZ (const mglData &a, const char *stl="", float sVal=NAN, int num=7)
Функция С: void mgl_cont_z (HMGL gr, const HMDT a, const char *stl, float sVal, int num)

Рисует num линий уровня для массива a при z = sVal.

Метод класса mglGraph (C++, Python): void ContX (const mglData &v, const mglData &a, const char *stl="", float sVal=NAN)
Функция С: void mgl_cont_x_val (HMGL gr, const HMDT v, const HMDT a, const char *stl, float sVal)

Рисует линии уровня для массива a=v[i] при x = sVal.

Метод класса mglGraph (C++, Python): void ContY (const mglData &v, const mglData &a, const char *stl="", float sVal=NAN)
Функция С: void mgl_cont_y_val (HMGL gr, const HMDT v, const HMDT a, const char *stl, float sVal)

Рисует линии уровня для массива a=v[i] при y = sVal.

Метод класса mglGraph (C++, Python): void ContZ (const mglData &v, const mglData &a, const char *stl="", float sVal=NAN)
Функция С: void mgl_cont_z_val (HMGL gr, const HMDT v, const HMDT a, const char *stl, float sVal)

Рисует линии уровня для массива a=v[i] при z = sVal.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.14.3 ContFXYZ

Эти функции рисуют закрашенные контуры уровня на x, y или z плоскостях. Если a – 3d массив, то выполняется интерполяция к заданному срезу sVal. Функции полезны для создания проекций 3D массивов на оси координат. См. также ContXYZ, DensXYZ, ContF, Распределение данных.

Метод класса mglGraph (C++, Python): void ContFX (const mglData &a, const char *stl="", float sVal=NAN, int num=7)
Функция С: void mgl_contf_x (HMGL gr, const HMDT a, const char *stl, float sVal, int num)

Рисует num закрашенных контуров уровня для массива a при x = sVal.

Метод класса mglGraph (C++, Python): void ContFY (const mglData &a, const char *stl="", float sVal=NAN, int num=7)
Функция С: void mgl_contf_y (HMGL gr, const HMDT a, const char *stl, float sVal, int num)

Рисует num закрашенных контуров уровня для массива a при y = sVal.

Метод класса mglGraph (C++, Python): void ContFZ (const mglData &a, const char *stl="", float sVal=NAN, int num=7)
Функция С: void mgl_contf_z (HMGL gr, const HMDT a, const char *stl, float sVal, int num)

Рисует num закрашенных контуров уровня для массива a при z = sVal.

Метод класса mglGraph (C++, Python): void ContFX (const mglData &v, const mglData &a, const char *stl="", float sVal=NAN)
Функция С: void mgl_contf_x_val (HMGL gr, const HMDT v, const HMDT a, const char *stl, float sVal)

Рисует закрашенные конутры уровня для массива a=v[i] при x = sVal.

Метод класса mglGraph (C++, Python): void ContFY (const mglData &v, const mglData &a, const char *stl="", float sVal=NAN)
Функция С: void mgl_contf_y_val (HMGL gr, const HMDT v, const HMDT a, const char *stl, float sVal)

Рисует закрашенные конутры уровня для массива a=v[i] при y = sVal.

Метод класса mglGraph (C++, Python): void ContFZ (const mglData &v, const mglData &a, const char *stl="", float sVal=NAN)
Функция С: void mgl_contf_z_val (HMGL gr, const HMDT v, const HMDT a, const char *stl, float sVal)

Рисует закрашенные конутры уровня для массива a=v[i] при z = sVal.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.14.4 Dots

Метод класса mglGraph (C++, Python): void Dots (const mglData &x, const mglData &y, const mglData &z, const char *sch="")
Метод класса mglGraph (C++, Python): void Dots (const mglData &x, const mglData &y, const mglData &z, const mglData &a, const char *sch="")
Функция С: void mgl_dots (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *sch)
Функция С: void mgl_dots_a (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const char *sch)

Рисует произвольно расположенные точки {x[i], y[i], z[i]}. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если определен массив a, то он задает прозрачность точек. Массивы x, y, z, a должны иметь одинаковые размеры. См. также Crust, Mark, Plot. См. раздел Dots – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++): void Dots (const mglData &tr, const char *sch="")
Функция С: void mgl_dots_tr (HMGL gr, const HMDT tr, const char *sch)

Как предыдущий с x=tr(0,:), y=tr(1,:), z=tr(2,:) и если tr.nx>3, то a=tr(3,:).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.14.5 Crust

Метод класса mglGraph (C++, Python): void Crust (const mglData &x, const mglData &y, const mglData &z, const char *sch="", float er=0)
Функция С: void mgl_crust (HMGL gr, const HMDT x, const HMDT y, const HMDT z, const char *sch, float er)

Реконструирует и рисует поверхность по произвольно расположенным точкам {x[i], y[i], z[i]}. Параметр er задает радиус ошибки (увеличте для удаления дыр). Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если строка содержит ‘#’, то рисуется сетчатая поверхность. Массивы x, y, z должны иметь одинаковые размеры. См. также Dots, TriPlot. См. раздел Crust – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++): void Crust (const mglData &tr, const char *sch="", float er=0)
Функция С: void mgl_crust_tr (HMGL gr, const HMDT tr, const char *sch, float er)

Как предыдущий с x=tr(0,:), y=tr(1,:), z=tr(2,:).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.14.6 TriPlot

Метод класса mglGraph (C++, Python): void TriPlot (const mglData &id, const mglData &x, const mglData &y, const mglData &z, const mglData &c, const char *sch="")
Метод класса mglGraph (C++, Python): void TriPlot (const mglData &id, const mglData &x, const mglData &y, const mglData &z, const char *sch="")
Функция С: void mgl_triplot_xyz (HMGL gr, const HMDT id, const HMDT x, const HMDT y, const HMDT z, const char *sch)
Функция С: void mgl_triplot_xyzc (HMGL gr, const HMDT id, const HMDT x, const HMDT y, const HMDT z, const HMDT c, const char *sch)

Рисует поверхность из треугольников. Вершины треугольников задаются индексами id в массиве точек {x[i], y[i], z[i]}. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если строка содержит ‘#’, то рисуется сетчатая поверхность. Размер по 1-му индексу массива id должен быть 3 или больше. Массивы x, y, z должны иметь одинаковые размеры. Массив c задает цвет треугольников (если id.ny=c.nx) или цвет вершин (если x.nx=c.nx). См. также Dots, Crust, QuadPlot, TriCont.

Метод класса mglGraph (C++, Python): void TriPlot (const mglData &id, const mglData &x, const mglData &y, const char *sch="", float zVal=NAN)
Функция С: void mgl_triplot_xy (HMGL gr, const HMDT id, const HMDT x, const HMDT y, const char *sch, float zVal)

Как предыдущий с z[i]=zVal.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.14.7 TriCont

Method on mglGraph (C++, Python): void TriContV (const mglData &v, const mglData &id, const mglData &x, const mglData &y, const mglData &z, const mglData &c, const char *sch="", float zVal=NAN)
Method on mglGraph (C++, Python): void TriContV (const mglData &v, const mglData &id, const mglData &x, const mglData &y, const mglData &z, const char *sch="", float zVal=NAN)
C function: void mgl_tricont_xyzcv (HMGL gr, const HMDT v, const HMDT id, const HMDT x, const HMDT y, const HMDT z, const HMDT c, const char *sch, float zVal)
C function: void mgl_tricont_xyzv (HMGL gr, const HMDT v, const HMDT id, const HMDT x, const HMDT y, const HMDT z, const char *sch, float zVal)

Рисует линии уровня поверхности из треугольников при z = zVal (или для z=v[k] если zVal==NAN). Вершины треугольников задаются индексами id в массиве точек {x[i], y[i], z[i]}. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Размер по 1-му индексу массива id должен быть 3 или больше. Массивы x, y, z должны иметь одинаковые размеры. Массив c задает цвет треугольников (если id.ny=c.nx) или цвет вершин (если x.nx=c.nx). См. также TriPlot, Cont.

Method on mglGraph (C++, Python): void TriCont (const mglData &id, const mglData &x, const mglData &y, const mglData &z, const mglData &c, const char *sch="", num=7, float zVal=NAN)
Method on mglGraph (C++, Python): void TriCont (const mglData &id, const mglData &x, const mglData &y, const mglData &z, const char *sch="", num=7, float zVal=NAN)
C function: void mgl_tricont_xyzc (HMGL gr, const HMDT id, const HMDT x, const HMDT y, const HMDT z, const HMDT c, const char *sch, num, float zVal)
C function: void mgl_tricont_xyz (HMGL gr, const HMDT id, const HMDT x, const HMDT y, const HMDT z, const char *sch, num, float zVal)

Аналогично предыдущему с вектором v из num элементов равно распределенных в интервале [Cmin, Cmax].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.14.8 QuadPlot

Method on mglGraph (C++, Python): void QuadPlot (const mglData &id, const mglData &x, const mglData &y, const mglData &z, const mglData &c, const char *sch="")
Method on mglGraph (C++, Python): void QuadPlot (const mglData &id, const mglData &x, const mglData &y, const mglData &z, const char *sch="")
C function: void mgl_quadplot_xyz (HMGL gr, const HMDT id, const HMDT x, const HMDT y, const HMDT z, const char *sch)
C function: void mgl_quadplot_xyzc (HMGL gr, const HMDT id, const HMDT x, const HMDT y, const HMDT z, const HMDT c, const char *sch)

Рисует поверхность из четырехугольников. Вершины четырехугольников задаются индексами id в массиве точек {x[i], y[i], z[i]}. Строка sch задает цветовую схему. Предыдущая цветовая схема используется по умолчанию. Если строка содержит ‘#’, то рисуется сетчатая поверхность. Размер по 1-му индексу массива id должен быть 4 или больше. Массивы x, y, z должны иметь одинаковые размеры. Массив c задает цвет четырехугольников (если id.ny=c.nx) или цвет вершин (если x.nx=c.nx). См. также TriPlot.

Method on mglGraph (C++, Python): void QuadPlot (const mglData &id, const mglData &x, const mglData &y, const char *sch="", float zVal=NAN)
C function: void mgl_quadplot_xy (HMGL gr, const HMDT id, const HMDT x, const HMDT y, const char *sch, float zVal)

Как предыдущий с z[i]=zVal.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.14.9 Графики функций

Эти функции строят графики 1D или 2D функций, заданный текстовыми формулами. Вам не нужно создавать массивы для их построения. Параметр stl задаект стиль линии (see section Стиль линий) для Plot() или цветовую схему (see section Цветовая схема) для Surf(). Параметр n задает минимальное число точек по координате(ам) для графика. В настоящее время (v. 1.10) число точек автоматически увеличивается для области резкого изменения функции, но только для 1D графиков (т.е. для Plot()).

Метод класса mglGraph (C++, Python): void Plot (const char *eqY, const char *stl="", float zVal=NAN, int n=100)
Функция С: void mgl_fplot (HMGL gr, const char *eqY, const char *stl, float zVal, int n)

Рисует функцию ‘eqY(x)’ в плоскости z=zVal с координатой ‘x’ в диапазоне [Min.x, Max.x]. См. также Plot.

Метод класса mglGraph (C++, Python): void Plot (const char *eqX, const char *eqY, const char *eqZ, const char *stl="", float zVal=NAN, int n=100)
Функция С: void mgl_fplot_xyz (HMGL gr, const char *eqX, const char *eqY, const char *eqZ, const char *stl, float zVal, int n)

Рисует параметрическую кривую {‘eqX(t)’, ‘eqY(t)’, ‘eqZ(t)’}, где координата ‘t’ меняется в диапазоне [0, 1]. См. также Plot.

Метод класса mglGraph (C++, Python): void Surf (const char *eqZ, const char *stl="", int n=100);
Функция С: void mgl_fsurf (HMGL gr, const char *eqZ, const char *stl, int n);

Рисует поверхность ‘eqY(x,y)’ с координатами ‘x’, ‘y’ в диапазоне [Min, Max]. См. также Surf.

Метод класса mglGraph (C++, Python): void Surf (const char *eqX, const char *eqY, const char *eqZ, const char *stl="", int n=100)
Функция С: void mgl_fsurf_xyz (HMGL gr, const char *eqX, const char *eqY, const char *eqZ, const char *stl, int n)

Рисует параметрическую поверхность {‘eqX(u,v)’, ‘eqY(u,v)’, ‘eqZ(u,v)’}, где координаты ‘u’, ‘v’ меняются в диапазоне [0, 1]. См. также Surf.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.14.10 SimplePlot

Метод класса mglGraph (C++, Python): void SimplePlot (const mglData &a, int type=0, const char *stl="")
Функция С: void mgl_simple_plot (HMGL gr, const HMDT a, int type, const char *stl)

Рисует график массива a в зависимости от его размерности и параметра type. Строка stl задает стиль графика. Для 1d массивов: type=0Plot, type=1Area, type=2Step, type=3Stem, type=4Bars. Для 2d массивов: type=0Surf, type=1Dens, type=2Mesh, type=3Cont. Для 3d массивов: type=0Surf3, type=1Dens3, type=2Cont3, type=2Cloud.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.15 Nonlinear fitting

Эти функции подбирают параметры функции для наилучшей аппроксимации данных, т.е. минимизируют сумму \sum_i (f(x_i, y_i, z_i) - a_i)^2/s_i^2. При этом аппроксимирующая функция ‘f’ может зависеть от одного аргумента ‘x’ (1D случай), от двух аргументов ‘x,y’ (2D случай) или от трех аргументов ‘x,y,z’ (3D случай). Функция ‘f’ также может зависеть от параметров. Список параметров задается строкой var (например, ‘abcd’). Обычно пользователь должен предоставить начальные значения параметров в переменной ini. Однако, при его отсутствии используются нулевые значения. Параметр print=true включает вывод найденной формулы в Message (see section Обработка ошибок).

Функции Fit() и FitS() не рисуют полученные массивы. Они заполняют массив fit по формуле ‘f’ с найденными коэффициентами и возвращают \chi^2 ошибку аппроксимации. При этом, координаты ‘x,y,z’ равнораспределены в интервале MinMax. Число точек в fit выбирается максимальным из размера массива fit и значения переменной FitPnts. Функции используют библиотеку GSL. См. раздел Fitting – пример использования, для примеров кода и графика.

Метод класса mglGraph (C++, Python): float FitS (mglData &fit, const mglData &x, const mglData &y, const mglData &z, const mglData &a, const mglData &s, const char *func, const char *var, float *ini=NULL, bool print=false)
Метод класса mglGraph (C++, Python): float FitS (mglData &fit, const mglData &x, const mglData &y, const mglData &z, const mglData &a, const mglData &s, const char *func, const char *var, mglData &ini, bool print=false)
Функция С: float mgl_fit_xyzas (HMGL gr, HMDT fit, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const HMDT s, const char *func, const char *var, float *ini)
Функция С: float mgl_fit_xyzas_d (HMGL gr, HMDT fit, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const HMDT s, const char *func, const char *var, HMDT ini)

"Подгоняют" формулу вдоль x-, y- и z-направлений для 3d массива заданного параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]).

Метод класса mglGraph (C++, Python): float FitS (mglData &fit, const mglData &x, const mglData &y, const mglData &a, const mglData &s, const char *func, const char *var, float *ini=NULL, bool print=false)
Метод класса mglGraph (C++, Python): float FitS (mglData &fit, const mglData &x, const mglData &y, const mglData &a, const mglData &s, const char *func, const char *var, mglData &ini, bool print=false)
Функция С: float mgl_fit_xyzs (HMGL gr, HMDT fit, const HMDT x, const HMDT y, const HMDT a, const HMDT s, const char *func, const char *var, float *ini)
Функция С: float mgl_fit_xyzs_d (HMGL gr, HMDT fit, const HMDT x, const HMDT y, const HMDT a, const HMDT s, const char *func, const char *var, HMDT ini)

"Подгоняют" формулу вдоль x- и y-направлений для 2d массива заданного параметрически a[i,j](x[i,j], y[i,j]) для каждого среза данных.

Метод класса mglGraph (C++, Python): float FitS (mglData &fit, const mglData &x, const mglData &a, const mglData &s, const char *func, const char *var, float *ini=NULL, bool print=false)
Метод класса mglGraph (C++, Python): float FitS (mglData &fit, const mglData &x, const mglData &a, const mglData &s, const char *func, const char *var, mglData &ini, bool print=false)
Функция С: float mgl_fit_xys (HMGL gr, HMDT fit, const HMDT x, const HMDT a, const HMDT s, const char *func, const char *var, float *ini)
Функция С: float mgl_fit_xys_d (HMGL gr, HMDT fit, const HMDT x, const HMDT a, const HMDT s, const char *func, const char *var, HMDT ini)

"Подгоняют" формулу вдоль x-направления для 1d массива заданного параметрически a[i](x[i]) для каждого среза данных.

Метод класса mglGraph (C++, Python): float FitS (mglData &fit, const mglData &a, const mglData &s, const char *func, const char *var, float *ini=NULL, bool print=false)
Метод класса mglGraph (C++, Python): float FitS (mglData &fit, const mglData &a, const mglData &s, const char *func, const char *var, mglData &ini, bool print=false)
Функция С: float mgl_fit_ys (HMGL gr, HMDT fit, const HMDT a, const HMDT s, const char *func, const char *var, float *ini)
Функция С: float mgl_fit_ys_d (HMGL gr, HMDT fit, const HMDT a, const HMDT s, const char *func, const char *var, HMDT ini)

"Подгоняют" формулу вдоль x-направления для 1d массива с x равно распределенным в интервале [Min.x, Max.x].

Метод класса mglGraph (C++, Python): float Fit (mglData &fit, const mglData &x, const mglData &y, const mglData &z, const mglData &a, const char *func, const char *var, float *ini=NULL, bool print=false)
Метод класса mglGraph (C++, Python): float Fit (mglData &fit, const mglData &x, const mglData &y, const mglData &z, const mglData &a, const char *func, const char *var, mglData &ini, bool print=false)
Функция С: float mgl_fit_xyza (HMGL gr, HMDT fit, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const char *func, const char *var, float *ini)
Функция С: float mgl_fit_xyza_d (HMGL gr, HMDT fit, const HMDT x, const HMDT y, const HMDT z, const HMDT a, const char *func, const char *var, HMDT ini)

"Подгоняют" формулу вдоль x-, y- и z-направлений для 3d массива заданного параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]) с s[i,j,k]=1.

Метод класса mglGraph (C++, Python): float Fit (mglData &fit, const mglData &x, const mglData &y, const mglData &a, const char *func, const char *var, float *ini=NULL, bool print=false)
Метод класса mglGraph (C++, Python): float Fit (mglData &fit, const mglData &x, const mglData &y, const mglData &a, const char *func, const char *var, mglData &ini, bool print=false)
Функция С: float mgl_fit_xyz (HMGL gr, HMDT fit, const HMDT x, const HMDT y, const HMDT a, const char *func, const char *var, float *ini)
Функция С: float mgl_fit_xyz_d (HMGL gr, HMDT fit, const HMDT x, const HMDT y, const HMDT a, const char *func, const char *var, HMDT ini)

"Подгоняют" формулу вдоль x- и y-направлений для 2d массива заданного параметрически a[i,j](x[i,j], y[i,j]) с s[i,j]=1 для каждого среза данных.

Метод класса mglGraph (C++, Python): float Fit (mglData &fit, const mglData &x, const mglData &a, const char *func, const char *var, float *ini=NULL, bool print=false)
Метод класса mglGraph (C++, Python): float Fit (mglData &fit, const mglData &x, const mglData &a, const char *func, const char *var, mglData &ini, bool print=false)
Функция С: float mgl_fit_xy (HMGL gr, HMDT fit, const HMDT x, const HMDT a, const char *func, const char *var, float *ini)
Функция С: float mgl_fit_xy_d (HMGL gr, HMDT fit, const HMDT x, const HMDT a, const char *func, const char *var, HMDT ini)

"Подгоняют" формулу вдоль x-направления для 1d массива заданного параметрически a[i](x[i]) с s[i]=1 для каждого среза данных.

Метод класса mglGraph (C++, Python): float Fit (mglData &fit, const mglData &a, const char *func, const char *var, float *ini="", bool print=false)
Метод класса mglGraph (C++, Python): float Fit (mglData &fit, const mglData &a, const char *func, const char *var, mglData &ini, bool print=false)
Функция С: float mgl_fit_1 (HMGL gr, HMDT fit, const HMDT a, const char *func, const char *var, float *ini)
Функция С: float mgl_fit_1_d (HMGL gr, HMDT fit, const HMDT a, const char *func, const char *var, HMDT ini)

"Подгоняют" формулу вдоль x-направления для 1d массива a с s=1 и x равно распределенным в интервале [Min.x, Max.x].

Метод класса mglGraph (C++, Python): float Fit2 (mglData &fit, const mglData &a, const char *func, const char *var, float *ini=NULL, bool print=false)
Метод класса mglGraph (C++, Python): float Fit2 (mglData &fit, const mglData &a, const char *func, const char *var, mglData &ini, bool print=false)
Функция С: float mgl_fit_2 (HMGL gr, HMDT fit, const HMDT a, const char *func, const char *var, float *ini)
Функция С: float mgl_fit_2_d (HMGL gr, HMDT fit, const HMDT a, const char *func, const char *var, HMDT ini)

"Подгоняют" формулу вдоль x- и y-направлений для 2d массива a с s=1 и x, y равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): float Fit3 (mglData &fit, const mglData &a, const char *func, const char *var, float *ini=NULL, bool print=false)
Метод класса mglGraph (C++, Python): float Fit3 (mglData &fit, const mglData &a, const char *func, const char *var, mglData &ini, bool print=false)
Функция С: float mgl_fit_3 (HMGL gr, HMDT fit, const HMDT a, const char *func, const char *var, float *ini)
Функция С: float mgl_fit_3_d (HMGL gr, HMDT fit, const HMDT a, const char *func, const char *var, HMDT ini)

"Подгоняют" формулу вдоль x-, y- и z-направлений для 3d массива a с s=1 и x, y, z равно распределенными в интервале [Min, Max].

Метод класса mglGraph (C++, Python): void PutsFit (mglPoint p, const char *prefix="", const char *font=NULL, float size=-1)
Функция С: void mgl_puts_fit (HMGL gr, float x, float y, float z, const char *prefix, const char *font, float size=-1)

Печатает последнюю подобранную формулу с найденными коэффициентами в точке p0. Строка prefix будет напечатана перед формулой. Все другие параметры такие же как в Вывод текста.

Метод класса mglGraph (C++, Python): const char * GetFit ()
Функция С: const char * mgl_get_fit (HMGL gr)

Возвращает последнюю подобранную формулу с найденными коэффициентами.

Переменная(C++) of mglGraph: int FitPnts

Минимальное число точек для массива со значениями подобранной формулы.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.16 Распределение данных

Эти функции создают распределения данных. Они не выполняют построение сами по себе. Функции могут быть полезны в случае когда данные пользователя определены на случайно расположенных точка (например, после PIC расчетов) и он хочет построить график, требующий регулярных данных (данных на сетках). Диапазон сеток равен диапазону осей координат Min...Max. Массивы x, y, z определяют положение (координаты) точек. Массив a задает значения данных. Число точек в результате res – максимум из размера res и значения FitPnts.

Method on mglGraph (C++, Python): void Hist (mglData &res, const mglData &x, const mglData &a)
C function: int mgl_hist_x (HMGL gr, HMDT res, const HMDT x, const HMDT a)

Создет 1D распределение значений массива a в диапазоне [Min, Max].

Method on mglGraph (C++, Python): void Hist (mglData &res, const mglData &x, const mglData &y, const mglData &a)
C function: int mgl_hist_xy (HMGL gr, HMDT res, const HMDT x, const HMDT y, const HMDT a)

Создет 2D распределение значений массива a в диапазоне [Min, Max].

Method on mglGraph (C++, Python): void Hist (mglData &res, const mglData &x, const mglData &y, const mglData &z, const mglData &a)
C function: int mgl_hist_xyz (HMGL gr, HMDT res, const HMDT x, const HMDT y, const HMDT z, const HMDT a)

Создет 3D распределение значений массива a в диапазоне [Min, Max].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.17 Кадры/Анимация

Эти функции позволяют создавать несколько картинок одновременно. В большинстве случаев это бесполезно, но для органов управления (see section “Оконные” классы) это позволяет показывать анимацию. Также можно записать несколько кадров в анимированный GIF файл.

Метод класса mglGraph (C++, Python): int NewFrame ()
Функция С: int mgl_new_frame (HMGL gr)

Создает новый кадр. Функция возвращает номер текущего кадра. В режиме OpenGL функция не должны вызываться в параллельных потоках! – используйте прямое создание списка. Функция EndFrame() должна быть вызвана после рисования кадра для каждого вызова этой функции.

Метод класса mglGraph (C++, Python): void EndFrame ()
Функция С: void mgl_end_frame (HMGL gr)

Завершает рисование кадра.

Метод класса mglGraph (C++, Python): int GetNumFrame ()
Функция С: int mgl_get_num_frame (HMGL gr)

Возвращает число созданных кадров.

Метод класса mglGraph (C++, Python): void ResetFrames ()
Функция С: int mgl_reset_frames (HMGL gr)

Сбрасывает счетчик кадров в 0.

Метод класса mglGraph (C++, Python): void StartGIF (const char *fname, int ms=100)
Функция С: void mgl_start_gif (HMGL gr, const char *fname, int ms)

Начинает запись кадров в анимированный GIF файл fname. Параметр ms задает задержку между кадрами в миллисекундах. Вы не должны менять размер рисунка во время создания кино. Используйте CloseGIF() для завершения записи. Эта функция не работает в режиме OpenGL.

Метод класса mglGraph (C++, Python): int CloseGIF ()
Функция С: void mgl_close_gif (HMGL gr)

Завершает запись анимированного GIF файла.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.18 IDTF функции

Эти функции обеспечивают поддержку особых возможностей при создании IDTF. Во всех прочих случаях они не делают ничего.

Метод класса mglGraph (C++): void VertexColor (bool enable)

Разрешает плавное изменение цвета.

Метод класса mglGraph (C++): void Compression (bool enable)

Дает меньший объем файла, но с худшим качеством.

Метод класса mglGraph (C++): void StartGroup (const char *name)

Начинает определение группы. Группа может содержать объекты и другие группы. Они используются для выбора части модели при приближении, изменении прозрачности и т.д.

Метод класса mglGraph (C++): void EndGroup ()

Завершает определение группы.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated on May 10, 2012 using texi2html 1.82.