'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=4
Paraboloidal coordinates: {(x*x-y*y)*cos(z)/2, (x*x-y*y)*sin(z)/2, x*y};
mglOblate=5
Oblate coordinates: {cosh(x)*cos(y)*cos(z), cosh(x)*cos(y)*sin(z), sinh(x)*sin(y)};
mglProlate=6
Prolate 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=11
Log-log координаты: {lg(x), lg(y), lg(z)};
mglLogX=12
Log-x координаты: {lg(x), y, z};
mglLogY=13
Log-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, для примеров кода и графика.