[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Функции и переменные в этой группе влияют на вид всего рисунка. Соответственно они должны располагаться перед вызовом функций непосредственно рисующих графики.
mglGraph
: void
DefaultPlotParam ()void
mgl_set_def_param (HMGL
gr)Устанавливает все настройки по умолчанию.
4.2.1 Прозрачность | ||
4.2.2 Освещение | ||
4.2.3 Туман | ||
4.2.4 Базовые размеры | ||
4.2.5 Обрезание | ||
4.2.6 Шрифты | ||
4.2.7 Палитра и цвета | ||
4.2.8 Обработка ошибок |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Эти функции и переменные настраивают тип и степень прозрачности поверхностей. Главной является функция alpha, которая включает/выключает прозрачность для всего графика. Функция alphadef устанавливает величину alpha-канала по умолчанию. Наконец, функция transptype задает тип прозрачности. См. раздел Transparency and lighting, для примеров кода и графика.
[val=on]
mglGraph
: void
Alpha (bool
enable)void
mgl_set_alpha (HMGL
gr, int
enable)Включает/выключает прозрачность и возвращает свое предыдущее состояние. По умолчанию прозрачность выключена. Функция включает прозрачность для всего рисунка.
val
mglGraph
: void
SetAlphaDef (mreal
val)void
mgl_set_alpha_default (HMGL
gr, mreal
alpha)Задает значение прозрачности по умолчанию для всех графиков. Значение по умолчанию 0.5.
val
mglGraph
: void
SetTranspType (int
type)void
mgl_set_transp_type (HMGL
gr, int
type)Задает тип прозрачности. Обычная прозрачность (‘0’) – "закрытые" объекты видны меньше чем закрывающие. Этот режим некорректно отображается в OpenGL (mglGraphGL) для нескольких перекрывающихся поверхностей. "Стеклянная" прозрачность (‘1’) – закрытые и закрывающие объекты единообразно ослабляют интенсивность света (по RGB каналам). "Ламповая" прозрачность (‘2’) – закрытые и закрывающие объекты являются источниками дополнительного освещения (рекомендую установить SetAlphaDef(0.3)
или меньше в этом случае). См. раздел Types of transparency, для примеров кода и графика.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Эти функции настраивают освещение графика. Главная функция light включает/выключает освещение графиков построенных после ее вызова (в OpenGL работает сразу для всего рисунка). MathGL поддерживает до 10 независимых источников света. Но в режиме OpenGL можно использовать только первые 8 из них. Положение, цвет, яркость каждого источника света можно задавать по отдельности. По умолчанию включен только первый (с порядковым номером 0
) источник света белого цвета, расположенный сверху.
[val=on]
mglGraph
: bool
Light (bool
enable)void
mgl_set_light (HMGL
gr, int
enable)Включает/выключает освещение графика и возвращает предыдущее состояние. По умолчанию освещение выключено.
num
val
mglGraph
: void
Light (int
n, bool
enable)void
mgl_set_light_n (HMGL
gr, int
n, int
enable)Включает/выключает n-ый источник света.
num xdir ydir zdir
['col'='w' br=0.5
]num xdir ydir zdir xpos ypos zpos
['col'='w' br=0.5
]mglGraph
: void
AddLight (int
n, mglPoint
d, char
c='w'
, mreal
bright=0.5
, mreal
ap=0
)mglGraph
: void
AddLight (int
n, mglPoint
r, mglPoint
d, char
c='w'
, mreal
bright=0.5
, mreal
ap=0
)void
mgl_add_light (HMGL
gr, int
n, mreal
dx, mreal
dy, mreal
dz)void
mgl_add_light_ext (HMGL
gr, int
n, mreal
dx, mreal
dy, mreal
dz, char
c, mreal
bright, mreal
ap)void
mgl_add_light_loc (HMGL
gr, int
n, mreal
rx, mreal
ry, mreal
rz, mreal
dx, mreal
dy, mreal
dz, char
c, mreal
bright, mreal
ap)Добавляет источник света с номером n в положение p с цветом c и яркостью bright, которая должна быть в диапазоне [0,1]. Если указано положение источника r и оно не NAN, то источник считается локальным, иначе источник полагается бесконечно удалённым (для более быстрого рисования).
mglGraph
: void
SetDifLight (bool
enable)void
mgl_set_light_dif (HMGL
gr, int
enable)Задает использование диффузного освещения (только для локальных источников света).
val
mglGraph
: void
SetAmbient (mreal
bright=0.5
)void
mgl_set_ambbr (HMGL
gr, mreal
bright)Задает яркость рассеянного освещения. Значение должно быть в диапазоне [0,1].
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
val [dz=0.25]
mglGraph
: void
Fog (mreal
d, mreal
dz=0.25
)void
mgl_set_fog (HMGL
gr, mreal
d, mreal
dz)Имитирует туман на графике. Туман начинается на относительном расстоянии dz от точки обзора и его плотность растет экспоненциально вглубь по закону ~ 1-exp(-d*z). Здесь z – нормализованная на 1 глубина графика. Если d=0
то туман отсутствует. См. раздел Adding fog, для примеров кода и графика.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Эти функции задают величины большинства параметров графика, включая размеры маркеров, стрелок, толщину линий и т.д. Как и любые другие настройки, они подействуют только на графики созданные после изменения настроек.
val
mglGraph
: void
SetBarWidth ( mreal
val)void
mgl_set_bar_width (HMGL
gr, mreal
val)Задает относительный размер прямоугольников в bars, barh, boxplot, candle. Значение по умолчанию 0.7
.
val
mglGraph
: void
SetMarkSize (mreal
val)void
mgl_set_mark_size (HMGL
gr, mreal
val)Задает размер маркеров для 1D графики. Значение по умолчанию 1
.
val
mglGraph
: void
SetArrowSize (mreal
val)void
mgl_set_arrow_size (HMGL
gr, mreal
val)Задает размер стрелок для 1D графики, линий и кривых (см. Рисование примитивов). Значение по умолчанию 1
.
val
mglGraph
: void
SetMeshNum (int
val)void
mgl_set_meshnum (HMGL
gr, int
num)Задает ориентировочное число линий в mesh, fall, grid и число стрелок (штрихов) в vect, dew и число ячеек в cloud. По умолчанию (=0) рисуются все линии, стрелки, ячейки.
val
mglGraph
: void
SetFaceNum (int
val)void
mgl_set_facenum (HMGL
gr, int
num)Задает ориентировочное число видимых граней. Может быть использована для ускорения рисования за счет более грубого рисунка. По умолчанию (=0) рисуются все грани.
mglGraph
: void
SetPlotId (const char *
id)void
mgl_set_plotid (HMGL
gr, const char *
id)Задает имя графика для сохранения в файл (например, в окне FLTK).
mglGraph
: const char *
GetPlotId ()const char *
mgl_get_plotid (HMGL
gr)Возвращает имя графика для сохранения в файл (например, в окне FLTK).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Эти функции задают условия когда точка будет исключена (вырезана) из рисования. Замечу, что все точки со значением(-ями) NAN по одной из координат или амплитуде автоматически исключаются из рисования. См. раздел Cutting sample, для примеров кода и графика.
val
mglGraph
: void
SetCut (bool
val)void
mgl_set_cut (HMGL
gr, int
val)Задает обрезание точек за пределами осей координат. Если true
то такие точки исключаются из рисования (это по умолчанию) иначе они проецируются на ограничивающий прямоугольник.
x1 y1 z1 x2 y2 z2
mglGraph
: void
SetCutBox (mglPoint
p1, mglPoint
p1)void
mgl_set_cut_box (HMGL
gr, mreal
x1, mreal
y1, mreal
z1, mreal
x2, mreal
y2, mreal
z2)Задает границы параллелепипеда внутри которого точки не рисуются. Если границы одинаковы (переменные равны), то параллелепипеда считается пустым.
mglGraph
: void
CutOff (const char *
cond)void
mgl_set_cutoff (HMGL
gr, const char *
cond)Задает условие обрезания по формуле cond. Это условие исключает точки из рисования если результат вычисления формулы не равен нулю. Установите аргумент ""
для выключения условия обрезания.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
val=6
]Задает стиль и размер шрифта. Вначале используется ‘:rC’ – прямой шрифт с выравниванием по центру. По умолчанию размер подписей оси координат в 1.4 раза больше. См. также см. Стиль текста.
val
mglGraph
: void
SetRotatedText (bool
val)void
mgl_set_rotated_text (HMGL
gr, int
val)Включает/выключает вращение меток и подписей осей координат вдоль оси.
mglGraph
: void
LoadFont (const char *
name, const char *
path=""
)void
mgl_load_font (HMGL
gr, const char *
name, const char *
path)Загружает начертание шрифта из файла path/name. Пустая строка загрузит шрифт по умолчанию.
mglGraph
: void
SetFontDef (const char *
fnt)void
mgl_set_font_def (HMGL
gr, const char *
val)Задает стиль шрифта (см. Вывод текста). По умолчанию используется ‘rC’ – прямой шрифт с выравниванием по центру.
mglGraph
: void
SetFontSize (mreal
val)void
mgl_set_font_size (HMGL
gr, mreal
val)Задает базовый размер шрифта. По умолчанию размер подписей оси координат в 1.4 раза больше.
mglGraph
: void
SetFontSizePT (mreal
cm, int
dpi=72
)Задает размер шрифта в пунктах для заданного DPI (по умолчанию 16 pt для dpi=72).
mglGraph
: inline void
SetFontSizeCM (mreal
cm, int
dpi=72
)Задает размер шрифта в сантиметрах для заданного DPI (по умолчанию 0.56 см = 16 pt).
mglGraph
: inline void
SetFontSizeIN (mreal
cm, int
dpi=72
)Задает размер шрифта в дюймах для заданного DPI (по умолчанию 0.22 in = 16 pt).
mglGraph
: void
CopyFont (mglGraph *
from)void
mgl_copy_font (HMGL
gr, HMGL
gr_from)Копирует начертание шрифта из другого объекта mglGraph
.
mglGraph
: void
RestoreFont ()void
mgl_restore_font (HMGL
gr)Восстанавливает начертание шрифта по умолчанию.
void
mgl_def_font (const char *
name, const char *
path)Загружает начертание шрифта по умолчанию (для всех вновь создаваемых HMGL/mglGraph объектов) из файла path/name.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
mglGraph
: 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 графиках (см. 1D графики) для кривых с неопределённым стилем линии. Внутренний счетчик цвета будет сброшен при любом изменении палитры, включая скрытые (например, функциями box или axis).
mglGraph
: void
SetDefScheme (const char *
sch)void
mgl_set_def_sch (HMGL
gr, const char *
sch)Устанавливает sch в качестве цветовой схемы по умолчанию. Начальное значение "BbcyrR"
.
void
mgl_set_color (char
id, mreal
r, mreal
g, mreal
b)Задает RGB значения для цвета с заданным id.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Обычно вы должны сбросить признак ошибки с помощью SetWarn(0);
перед построением и проверить GetWarnCode()
или Message()
на наличие ошибок после построения. Только последнее предупреждение сохраняется. Замечу, что все предупреждения/ошибки в MathGL не являются критичными – в худшем из вариантов соответствующий график просто не будет построен.
mglGraph
: void
SetWarn (int
code, const char *
info=""
)void
mgl_set_warn (HMGL
gr, int
code, const char *
info)Задает код предупреждения. Обычно вызывается только для очистки предупреждений (SetWarn(0);
) или внутри библиотеки. Текст info будет добавлен к предупреждениям как есть при code<0.
mglGraph
: const char *
Message ()const char *
mgl_get_mess (HMGL
gr)Возвращает текст предупреждений о причине отсутствия графика. Если возвращаемая строка пустая, то сообщений нет.
mglGraph
: int
GetWarnCode ()int
mgl_get_warn_code (HMGL
gr)Возвращает код сообщения о причине отсутствия графика. Возможные значения:
mglWarnNone=0
Предупреждений нет
mglWarnDim
Неправильные или несовместимые размеры данных
mglWarnLow
Размеры данных слишком малы
mglWarnNeg
Минимальное значение отрицательно
mglWarnFile
Файл не найден или указаны неправильные размерности
mglWarnMem
Не достаточно памяти
mglWarnZero
Значение данных равно нулю
mglWarnLegA
Слишком много записей в легенде
mglWarnLeg
Нет записей в легенде
mglWarnSlc
Индекс среза вне данных
mglWarnCnt
Число линий уровня меньше или равно нулю
mglWarnOpen
Не могу открыть файл
mglWarnLId
Light: ID вне допустимых значений
mglWarnSize
Setsize: размер(ы) равны нулю или отрицательны
mglWarnFmt
Формат не поддерживается
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by Autobuild on September 28, 2013 using texi2html 1.82.