'fx' 'fy' 'fz' ['fa'=''] ¶mglGraph: 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, const char *EqA) ¶Задает формулы перехода к криволинейным координатам. Каждая строка является математическим выражением, зависящим от старых координат ‘x’, ‘y’, ‘z’ и ‘a’ или ‘c’ для цветовой шкалы. Например, для цилиндрических координат будет SetFunc("x*cos(y)", "x*sin(y)", "z");. Для удаления формул соответствующий параметр должен быть пустым или NULL. Использование формул преобразования слегка замедляет программу. Параметр EqA задает аналогичную формулу для цветовой шкалы. See Текстовые формулы.
how ¶mglGraph: void SetCoor (int how) ¶void mgl_set_coor (HMGL gr, int how) ¶Устанавливает одну из предопределенных систем криволинейных координат в зависимости от параметра how:
mglCartesian=0декартова система (нет преобразования координат, {x,y,z});
mglPolar=1полярные координаты: {x*cos(y),x*sin(y), z};
mglSpherical=2сферические координаты: {x*sin(y)*cos(z), x*sin(y)*sin(z), x*cos(y)};
mglParabolic=3параболические координаты: {x*y, (x*x-y*y)/2, z};
mglParaboloidal=4Paraboloidal coordinates: {(x*x-y*y)*cos(z)/2, (x*x-y*y)*sin(z)/2, x*y};
mglOblate=5Oblate coordinates: {cosh(x)*cos(y)*cos(z), cosh(x)*cos(y)*sin(z), sinh(x)*sin(y)};
mglProlate=6Prolate coordinates: {sinh(x)*sin(y)*cos(z), sinh(x)*sin(y)*sin(z), cosh(x)*cos(y)};
mglElliptic=7эллиптические координаты: {cosh(x)*cos(y), sinh(x)*sin(y), z};
mglToroidal=8тороидальные координаты: {sinh(x)*cos(z)/(cosh(x)-cos(y)), sinh(x)*sin(z)/(cosh(x)-cos(y)), sin(y)/(cosh(x)-cos(y))};
mglBispherical=9бисферические координаты: {sin(y)*cos(z)/(cosh(x)-cos(y)), sin(y)*sin(z)/(cosh(x)-cos(y)), sinh(x)/(cosh(x)-cos(y))};
mglBipolar=10биполярные координаты: {sinh(x)/(cosh(x)-cos(y)), sin(y)/(cosh(x)-cos(y)), z};
mglLogLog=11Log-log координаты: {lg(x), lg(y), lg(z)};
mglLogX=12Log-x координаты: {lg(x), y, z};
mglLogY=13Log-y координаты: {x, lg(y), z}.
val ¶mglGraph: void Ternary (int tern) ¶void mgl_set_ternary (HMGL gr, int tern) ¶Задает рисование треугольных (Ternary, tern=1), пирамидальных (Quaternary, tern=2) осей координат и проекций осей координат (tern=4,5,6).
Ternary – специальный тип графика для 3 зависимых координат (компонент) a, b, c таких, что a+b+c=1. MathGL использует только 2 независимые координаты a=x и b=y поскольку их достаточно для построения всех графиков. При этом третья координата z является независимым параметром для построения линий уровня, поверхностей и т.д.
Соответственно Quaternary координаты – 4 зависимые координаты a, b, c и d, такие что a+b+c+d=1. MathGL использует только 2 независимые координаты a=x, b=y и d=z поскольку их достаточно для построения всех графиков.
Проекции строятся если к переменной tern добавить число 4. Так что tern=4 нарисует проекции в декартовых координатах, tern=5 нарисует проекции в треугольных координатах, tern=6 нарисует проекции в пирамидальных координатах. Если добавить 8 вместо 4, то текст не будет выводиться на проекциях.
Используйте Ternary(0) для возвращения к привычным координатам. См. раздел Ternary axis, для примеров кода и графика. См. раздел Axis projection, для примеров кода и графика.