isoview настраивает изометрическое представление графических осей

## Синтаксис

    isoview
                isoview on
                isoview off
                isoview(idGraphics [,"on"|"off"])
                isoview(xmin, xmax, ymin, ymax)    // НЕ РЕКОМЕНДУЕТСЯ, используйте replot()

## Аргументы

"on" | "off" | <none>
  Включает или отключает или переключает изометрическое представление для всех рассматриваемых осей.

idGraphics
  Вектор графических указателей. Обрабатываются все связанные оси. По умолчанию обрабатываются текущие оси.

xmin, xmax, ymin, ymax
  Четыре десятичных числа: новые пределы осей.
  Эти параметры будут удалены из Scilab 6.1. Пожалуйста, вместо этого используйте replot после `isoview`.

## Описание

Функция `isoview` используется для установки или вернуть в исходное состояние масштабы изометрического представления осей x, y (и z), без изменения размера графического окна.

`isoview()` или просто `isoview` переключает статус изометрического представления текущих осей, и сохраняет их текущие пределы: изометрические масштабы устанавливаются всегда, когда они свободны, или масштабы возвращаются в исходное состояние всегда, когда они являются изометрическими.

`isoview("on")` или `isoview on` устанавливаются изометрические масштабы для текущих осей.

`isoview("off")` или `isoview off` возвращает в исходное состояние масштабы x, y (и z) для текущих осей.

`isoview(idGraphics,..)` запускается на осях, связанных с каждым графическим объектом, содержащимся в векторе `idGraphics`:

- Если `idGraphics(i)` - это указатель на графическое окно, то рассматриваются все её оси (Axes).
- Если `idGraphics(i)` - это оси Axes, то он рассматривается как есть.
- Если `idGraphics(i)` - это указатель на подосевой компонент (такой как polyline, compound, и т.д.), то рассматриваются оси, на которых он размещается.

`isoview(xmin, xmax, ymin, ymax)` устанавливает текущие оси в изометрический режим, а затем устанавливает их пределы на указанные значения.

Это использование не рекомендуется и будет удалено из Scilab 6.1. Пожалуйста, используйте вместо этого replot после `isoview`.
Графический элемент текущих осей остаётся таким же после вызова `isoview(..)`.
Чтобы построить график каких-либо кривых напрямую в изометрическом режиме без вызова `isoview` после того, как опция `plot2d(...,frameflag=4)` может быть использована в момент вызова.

### Построение в соответствии с установками .isoview и .cube_scaling

isoview(..) | gca().isoview | gca().cube_scaling | Построение
on | on | off | X, Y и Z изометрические
off | off | on | Независимые масштабы по X, Y и Z. В трёхмерном представлении, улучшенные отношения высоты и ширины объекта, когда диапазоны X/Y/Z очень разные.
| off | off | Независимые масштабы по X, Y и Z. В трёхмерном представлении, улучшенные отношения высоты и ширины объекта, когда диапазоны X/Y/Z близки к диапазонам данных
| on | on | Масштабы таковы, что оси выглядят квадратными или кубическими

## Примеры

    t = [0:0.1:2*%pi]';
    clf
    nc = 3;
    subplot(2,nc,1)
    plot2d(cos(t),sin(t))
    xtitle("Истинная окружность")
    a1 = gca();
    subplot(2,nc,nc+1)
    plot2d(cos(t),sin(t))
    isoview
    subplot(2,nc,2)
    plot2d(7*cos(t),2*sin(t))
    xtitle("Истинный эллипс")
    a2 = gca();
    subplot(2,nc,nc+2)
    plot2d(7*cos(t),2*sin(t))
    isoview
    // построение сферы, используя фасеты, вычисленные с помощью eval3dp
    deff("[x,y,z] = sph(alp,tet)",[
        "x = r*cos(alp).*cos(tet)+orig(1)*ones(tet)"; ..
        "y = r*cos(alp).*sin(tet)+orig(2)*ones(tet)"; ..
        "z = r*sin(alp)+orig(3)*ones(tet)"]);
    r = 3; orig = [0 0 0];
    [xx,yy,zz] = eval3dp(sph,linspace(-%pi/2,%pi/2,40),linspace(0,%pi*2,40));
    subplot(2,nc,3)
    plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
    zlabel("isoview off", "rotation", -90, "fontsize",4)
    xtitle("Истинная сфера")
    a3 = gca();
    subplot(2,nc,nc+3)
    plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
    zlabel("isoview on", "rotation", -90, "fontsize",4)
    isoview
    // Переключение статуса isoview для всех осей
    isoview(gcf())
    // Установка isoview для всех осей текущего графического окна
    isoview(gcf(), "on")
    // Восстановление исходных значений isoview для текущих осей
    isoview off
    // Установка isoview для верхних осей
    isoview(gcf(),"off")
    isoview([a1 a2 a3], "on")

t = [0:0.1:2*%pi]'; clf f = gcf(); f.axes_size = [850 400]; nc = 3; subplot(2,nc,1) plot2d(cos(t),sin(t)) xtitle("True circle") a1 = gca(); subplot(2,nc,nc+1) plot2d(cos(t),sin(t)) isoview subplot(2,nc,2) plot2d(7*cos(t),2*sin(t)) xtitle("True ellipse") a2 = gca(); subplot(2,nc,nc+2) plot2d(7*cos(t),2*sin(t)) isoview // plot of a sphere using facets computed by eval3dp deff("[x,y,z] = sph(alp,tet)",["x = r*cos(alp).*cos(tet)+orig(1)*ones(tet)"; .. "y = r*cos(alp).*sin(tet)+orig(2)*ones(tet)"; .. "z = r*sin(alp)+orig(3)*ones(tet)"]); r = 3; orig = [0 0 0]; [xx,yy,zz] = eval3dp(sph,linspace(-%pi/2,%pi/2,40),linspace(0,%pi*2,40)); subplot(2,nc,3) plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4]) zlabel("isoview off", "rotation", -90, "fontsize",4) xtitle("True sphere") a3 = gca(); subplot(2,nc,nc+3) plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4]) zlabel("isoview on", "rotation", -90, "fontsize",4) isoview

    // Использование plot2d(..., frameflag=4) :
    r = linspace(1,10,200);
    t = r*3;
    scf();
    subplot(1,2,1)
    plot2d(r.*sin(t),r.*cos(t))
    xtitle("plot2d(..)")
    subplot(1,2,2)
    plot2d(r.*sin(t),r.*cos(t),frameflag=4)
    xtitle("при frameflag=4")

r = linspace(1,10,200); t = r*3; scf(); subplot(1,2,1) plot2d(r.*sin(t),r.*cos(t)) xtitle("plot2d(..)") subplot(1,2,2) plot2d(r.*sin(t),r.*cos(t),frameflag=4) xtitle("при frameflag=4")

## Смотрите также

- replot
- свойства осей

## История

6.0.0

- добавлены входные флаги "on"|"off".
- добавлены входные параметры <none> или idGraphics.
- `isoview(xmin, xmax, ymin, ymax)` отмечена как нерекомендуемая.

6.0.2 "isoview on" теперь устанавливает .cube_scaling="off", а "isoview off" устанавливает .cube_scaling="on".