1 <?xml version="1.0" encoding="UTF-8"?>
3 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4 * Copyright (C) INRIA - Serge Steer
5 * Copyright (C) 2016, 2018 - Samuel GOUGEON
7 * Copyright (C) 2012 - 2016 - Scilab Enterprises
9 * This file is hereby licensed under the terms of the GNU GPL v2.0,
10 * pursuant to article 5.3.4 of the CeCILL v.2.1.
11 * This file was originally licensed under the terms of the CeCILL v2.1,
12 * and continues to be available under such terms.
13 * For more information, see the COPYING file which you should have received
14 * along with this program.
17 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
18 xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML"
19 xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
20 xml:lang="ru" xml:id="isoview">
22 <refname>isoview</refname>
24 настраивает изометрическое представление графических осей
28 <title>Синтаксис</title>
32 isoview(idGraphics [,"on"|"off"])
33 isoview(xmin, xmax, ymin, ymax) // НЕ РЕКОМЕНДУЕТСЯ, используйте replot()
36 <refsection role="arguments">
37 <title>Аргументы</title>
40 <term>"on" | "off" | <none></term>
42 Включает или отключает или переключает изометрическое представление для всех
48 <term>idGraphics</term>
50 Вектор графических указателей. Обрабатываются все связанные оси.
51 По умолчанию обрабатываются текущие оси.
56 <term>xmin, xmax, ymin, ymax</term>
58 Четыре десятичных числа: новые пределы осей.
60 Эти параметры будут удалены из Scilab 6.1.
61 Пожалуйста, вместо этого используйте <link linkend="replot">replot</link>
62 после <function>isoview</function>.
69 <refsection role="description">
70 <title>Описание</title>
72 Функция <function>isoview</function> используется для установки или
73 вернуть в исходное состояние масштабы изометрического представления
74 осей x, y (и z), без изменения размера графического окна.
77 <literal>isoview()</literal> или просто <literal>isoview</literal>
78 переключает статус изометрического представления текущих осей, и
79 сохраняет их текущие пределы: изометрические масштабы устанавливаются
80 всегда, когда они свободны, или масштабы возвращаются в исходное
81 состояние всегда, когда они являются изометрическими.
84 <literal>isoview("on")</literal> или <literal>isoview on</literal>
85 устанавливаются изометрические масштабы для текущих осей.
88 <literal>isoview("off")</literal> или <literal>isoview off</literal>
89 возвращает в исходное состояние масштабы x, y (и z) для текущих осей.
92 <literal>isoview(idGraphics,..)</literal> запускается на осях, связанных
93 с каждым графическим объектом, содержащимся в векторе <varname>idGraphics</varname>:
96 Если <varname>idGraphics(i)</varname> - это указатель на графическое окно,
97 то рассматриваются все её оси (Axes).
100 Если <varname>idGraphics(i)</varname> - это оси Axes, то
101 он рассматривается как есть.
104 Если <varname>idGraphics(i)</varname> - это указатель на подосевой
105 компонент (такой как polyline, compound, и т.д.), то рассматриваются
106 оси, на которых он размещается.
111 <literal>isoview(xmin, xmax, ymin, ymax)</literal> устанавливает текущие
112 оси в изометрический режим, а затем устанавливает их пределы на указанные значения.
114 Это использование не рекомендуется и будет удалено из Scilab 6.1.
115 Пожалуйста, используйте вместо этого <link linkend="replot">replot</link>
116 после <function>isoview</function>.
120 Графический элемент текущих осей остаётся таким же после вызова <literal>isoview(..)</literal>.
123 Чтобы построить график каких-либо кривых напрямую в изометрическом режиме
124 без вызова <function>isoview</function> после того, как опция <literal>plot2d(...,frameflag=4)</literal>
125 может быть использована в момент вызова.
128 <title>Построение в соответствии с установками .isoview и .cube_scaling</title>
130 <table align="middle">
132 <th>isoview(..)</th><th>gca().isoview</th>
133 <th>gca().cube_scaling</th>
134 <td><emphasis role="bold">Построение</emphasis></td>
137 <th>on</th><td align="center">on</td>
138 <td align="center">off</td>
139 <td>X, Y и Z изометрические</td>
142 <th>off</th><td align="center">off</td>
143 <td align="center">on</td>
144 <td>Независимые масштабы по X, Y и Z. В трёхмерном представлении, улучшенные
145 отношения высоты и ширины объекта, когда диапазоны X/Y/Z очень разные.</td>
148 <th></th><td align="center">off</td>
149 <td align="center">off</td>
150 <td>Независимые масштабы по X, Y и Z. В трёхмерном представлении, улучшенные
151 отношения высоты и ширины объекта, когда диапазоны X/Y/Z близки к диапазонам данных</td>
154 <th></th><td align="center">on</td>
155 <td align="center">on</td>
156 <td>Масштабы таковы, что оси выглядят квадратными или кубическими</td>
162 <refsection role="examples">
163 <title>Примеры</title>
164 <programlisting role="example"><![CDATA[
169 plot2d(cos(t),sin(t))
170 xtitle("Истинная окружность")
173 plot2d(cos(t),sin(t))
176 plot2d(7*cos(t),2*sin(t))
177 xtitle("Истинный эллипс")
180 plot2d(7*cos(t),2*sin(t))
182 // построение сферы, используя фасеты, вычисленные с помощью eval3dp
183 deff("[x,y,z] = sph(alp,tet)",[
184 "x = r*cos(alp).*cos(tet)+orig(1)*ones(tet)"; ..
185 "y = r*cos(alp).*sin(tet)+orig(2)*ones(tet)"; ..
186 "z = r*sin(alp)+orig(3)*ones(tet)"]);
187 r = 3; orig = [0 0 0];
188 [xx,yy,zz] = eval3dp(sph,linspace(-%pi/2,%pi/2,40),linspace(0,%pi*2,40));
190 plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
191 zlabel("isoview off", "rotation", -90, "fontsize",4)
192 xtitle("Истинная сфера")
195 plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
196 zlabel("isoview on", "rotation", -90, "fontsize",4)
198 // Переключение статуса isoview для всех осей
200 // Установка isoview для всех осей текущего графического окна
202 // Восстановление исходных значений isoview для текущих осей
204 // Установка isoview для верхних осей
206 isoview([a1 a2 a3], "on")
212 f.axes_size = [850 400];
215 plot2d(cos(t),sin(t))
216 xtitle("True circle")
219 plot2d(cos(t),sin(t))
222 plot2d(7*cos(t),2*sin(t))
223 xtitle("True ellipse")
226 plot2d(7*cos(t),2*sin(t))
228 // plot of a sphere using facets computed by eval3dp
229 deff("[x,y,z] = sph(alp,tet)",["x = r*cos(alp).*cos(tet)+orig(1)*ones(tet)"; ..
230 "y = r*cos(alp).*sin(tet)+orig(2)*ones(tet)"; ..
231 "z = r*sin(alp)+orig(3)*ones(tet)"]);
232 r = 3; orig = [0 0 0];
233 [xx,yy,zz] = eval3dp(sph,linspace(-%pi/2,%pi/2,40),linspace(0,%pi*2,40));
235 plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
236 zlabel("isoview off", "rotation", -90, "fontsize",4)
237 xtitle("True sphere")
240 plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
241 zlabel("isoview on", "rotation", -90, "fontsize",4)
244 <programlisting role="example"><![CDATA[
245 // Использование plot2d(..., frameflag=4) :
246 r = linspace(1,10,200);
250 plot2d(r.*sin(t),r.*cos(t))
253 plot2d(r.*sin(t),r.*cos(t),frameflag=4)
254 xtitle("при frameflag=4")
257 r = linspace(1,10,200);
261 plot2d(r.*sin(t),r.*cos(t))
264 plot2d(r.*sin(t),r.*cos(t),frameflag=4)
265 xtitle("при frameflag=4")
268 <refsection role="see also">
269 <title>Смотрите также</title>
270 <simplelist type="inline">
272 <link linkend="replot">replot</link>
275 <link linkend="axes_properties">свойства осей</link>
279 <refsection role="history">
280 <title>История</title>
283 <revnumber>6.0.0</revnumber>
286 <listitem>добавлены входные флаги "on"|"off".</listitem>
287 <listitem>добавлены входные параметры <none> или idGraphics.</listitem>
289 <literal>isoview(xmin, xmax, ymin, ymax)</literal> отмечена как нерекомендуемая.
295 <revnumber>6.0.2</revnumber>
297 "isoview on" теперь устанавливает .cube_scaling="off", а
298 "isoview off" устанавливает .cube_scaling="on".