[SCM] Packaging for mathgl branch, master, updated. debian/1.11.2-7-4-g9f6ca8a
Dimitrios Eftaxiopoulos
eftaxi12 at otenet.gr
Sun Feb 26 18:03:43 UTC 2012
The following commit has been merged in the master branch:
commit 9f6ca8a5f8dbd11efebc405e134c51952825857f
Author: Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>
Date: Sun Feb 26 13:10:53 2012 +0200
Add gawk to build depends
diff --git a/debian/control b/debian/control
index 8361ceb..bead61e 100644
--- a/debian/control
+++ b/debian/control
@@ -5,8 +5,8 @@ Maintainer: Debian Science Maintainers <debian-science-maintainers at lists.alioth.
Uploaders: Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>, D Haley <mycae at yahoo.com>
DM-Upload-Allowed: yes
Build-Depends: debhelper (>= 7.2.3~), libltdl-dev, libgsl0-dev, freeglut3-dev,
- libgl1-mesa-dev | libgl-dev, libpng-dev, libhdf5-dev,
- libjpeg-dev, libtiff-dev, libfltk1.3-dev | libfltk-dev, libqt4-dev, libwxgtk2.8-dev, swig,
+ libgl1-mesa-dev | libgl-dev, libpng-dev, libhdf5-dev, gawk, swig,
+ libjpeg-dev, libtiff-dev, libfltk1.3-dev | libfltk-dev, libqt4-dev, libwxgtk2.8-dev,
texinfo, texi2html, texlive, texlive-generic-recommended, octave3.2-headers,
libgif-dev, autoconf, automake, python, python-dev, python-numpy, python-support,
libhdf4-dev, chrpath
diff --git a/debian/source/options b/debian/source/options
index 633e446..07421a3 100644
--- a/debian/source/options
+++ b/debian/source/options
@@ -1 +1 @@
- extend-diff-ignore = "(^|/)(config\.log)$"
\ No newline at end of file
+ extend-diff-ignore = "(^|/)(config\.log|texinfo/mgl_ru\.info-1|texinfo/mgl_ru\.info-2)$"
\ No newline at end of file
diff --git a/texinfo/mgl_ru.info-1 b/texinfo/mgl_ru.info-1
index 15034fc..e80adfa 100644
--- a/texinfo/mgl_ru.info-1
+++ b/texinfo/mgl_ru.info-1
@@ -1,8 +1,10 @@
This is mgl_ru.info, produced by makeinfo version 4.13 from mgl_ru.texi.
-Это документация для MathGL (версии 1.11) - библиотеки классов и
-функций для построения научной графики. Пожалуйста сообщайте о любых
-ошибках в этом руководстве на <mathgl.abalakin at gmail.org>.
+Это документация для MathGL (версии 1.11) -
+библиотеки классов и функций для
+построения научной графики.
+Пожалуйста сообщайте о любых ошибках в
+этом руководстве на <mathgl.abalakin at gmail.org>.
Copyright (C) 2009 Алексей Балакин.
@@ -29,10 +31,13 @@ File: mgl_ru.info, Node: Top, Next: MGL interface, Up: (dir)
Язык MGL
************
-Это документация для языка MGL (версии 1.11). Пожалуйста сообщайте о
-любых ошибках в этом руководстве на <mathgl.abalakin at gmail.org>.
-Дополнительную информацию о MGL и MathGL можно найти на домашней
-странице проекта `http://mathgl.sourceforge.net/'.
+Это документация для языка MGL (версии
+1.11). Пожалуйста сообщайте о любых
+ошибках в этом руководстве на
+<mathgl.abalakin at gmail.org>. Дополнительную
+информацию о MGL и MathGL можно найти на
+домашней странице проекта
+`http://mathgl.sourceforge.net/'.
Copyright (C) 2010 Алексей Балакин.
@@ -62,97 +67,156 @@ File: mgl_ru.info, Node: MGL interface, Next: Examples, Up: Top
1 Язык MGL
**************
-MathGL имеет встроенный скриптовый язык MGL для обработки и отображения
-данных. Скрипты MGL можно использовать как независимо (программами
-UDAV, mgl2png, mgl2eps, mgl2svg и пр., *note Utilities::) так и
-вызовами библиотеки.
-
- Язык MGL достаточно простой. Каждая строка - отдельная команда.
-Первое слово - имя команды, а все остальные ее аргументы. Команда может
-иметь до 1000 аргументов (по крайней мере сейчас). Слова разделяются
-одно от другого пробелом или символом табуляции. Различий между верхним
-и нижним индексом нет, т.е. переменные A и A идентичны. Символ `#'
-начинает комментарий - все символы после него игнорируются до конца
-строки. Исключением является случай, когда `#' входит в строку. Опции
-команды указываются после символа `;' (*note Command options::). Символ
-`:' начинает новую команду (подобно переводу строки) если он расположен
-не внутри скобок или строки.
-
- Если строка содержит ссылки на внешние параметры (`$0', `$1' ...
-`$9') или макроопределения (`$a', `$b' ... `$z'), то текущие значения
-параметров/макроопределений подставляются в строку вместо ссылки до
-выполнением команды. Это позволяет использовать один и тот же скрипт
-при различных входных параметрах командной строки или вводить
-макроопределения по ходу исполнения команд скрипта.
-
- Аргументы команды могут быть строками, переменными или числами.
- * Строка - произвольный набор символов между метками `''.
-
- * Обычно переменная имеет имя, состоящее из букв и чисел (должно
- начинаться с буквы и не быть длиннее 64 символов). В качестве
- переменной можно использовать временные массивы, включающие в себя:
- * срезы ("подмассивы") массивов данных (подобно команде *note
- subdata::). Например, `a(1)' или `a(1,:)' или `a(1,:,:)' -
- вторая строка массива A, `a(:,2)' или `a(:,2,:)' - третий
- столбец, `a(:,:,0)' - первый срез и т.д. Также можно выделить
- часть массива с m-го по n-ый элемент `a(m:n,:,:)' или просто
+MathGL имеет встроенный скриптовый язык
+MGL для обработки и отображения данных.
+Скрипты MGL можно использовать как
+независимо (программами UDAV, mgl2png, mgl2eps,
+mgl2svg и пр., *note Utilities::) так и вызовами
+библиотеки.
+
+ Язык MGL достаточно простой. Каждая
+строка - отдельная команда. Первое
+слово - имя команды, а все остальные ее
+аргументы. Команда может иметь до 1000
+аргументов (по крайней мере сейчас).
+Слова разделяются одно от другого
+пробелом или символом табуляции.
+Различий между верхним и нижним
+индексом нет, т.е. переменные A и A
+идентичны. Символ `#' начинает
+комментарий - все символы после него
+игнорируются до конца строки.
+Исключением является случай, когда `#'
+входит в строку. Опции команды
+указываются после символа `;' (*note Command
+options::). Символ `:' начинает новую команду
+(подобно переводу строки) если он
+расположен не внутри скобок или строки.
+
+ Если строка содержит ссылки на
+внешние параметры (`$0', `$1' ... `$9') или
+макроопределения (`$a', `$b' ... `$z'), то
+текущие значения
+параметров/макроопределений
+подставляются в строку вместо ссылки
+до выполнением команды. Это позволяет
+использовать один и тот же скрипт при
+различных входных параметрах
+командной строки или вводить
+макроопределения по ходу исполнения
+команд скрипта.
+
+ Аргументы команды могут быть
+строками, переменными или числами.
+ * Строка - произвольный набор
+ символов между метками `''.
+
+ * Обычно переменная имеет имя,
+ состоящее из букв и чисел (должно
+ начинаться с буквы и не быть длиннее
+ 64 символов). В качестве переменной
+ можно использовать временные
+ массивы, включающие в себя:
+ * срезы ("подмассивы") массивов
+ данных (подобно команде *note subdata::).
+ Например, `a(1)' или `a(1,:)' или `a(1,:,:)' -
+ вторая строка массива A, `a(:,2)' или
+ `a(:,2,:)' - третий столбец, `a(:,:,0)' -
+ первый срез и т.д. Также можно
+ выделить часть массива с m-го по
+ n-ый элемент `a(m:n,:,:)' или просто
`a(m:n)'.
- * произвольные комбинации столбцов данных (например,
- `a('n*w^2/exp(t)')'), если столбцы данных были именованы
- командой *note idset:: или в файле данных (в строке
+ * произвольные комбинации
+ столбцов данных (например,
+ `a('n*w^2/exp(t)')'), если столбцы данных
+ были именованы командой *note idset::
+ или в файле данных (в строке
начинающейся с `##').
- * произвольное выражение из существующих переменных и констант.
- Например, `sqrt(dat(:,5)+1)' даст временный массив данных с
- элементами равными `tmp[i,j] = sqrt(dat[i,5,j]+1)'.
-
- * массивы с элементами заданными в квадратных скобках [],
- разделенные `,'. При этом внутри выражения не должно быть
- пробелов! Например, `[1,2,3]' даст временный массив из 3
- элементов {1, 2, 3}; `[[11,12],[21,22]]' даст матрицу 2*2 и
- т.д. Элементами такой конструкции могут быть и массивы если
- их размерности одинаковые, например `[v1,v2,...,vn]'.
-
- * результат команд построения новых данных (*note Make another
- data::), если они заключены в фигурные скобки {}. Например,
- `{sum dat 'x'}' даст временный массив, который есть результат
- суммирования DAT вдоль 'x'. Это такой же массив как и TMP,
- полученный командой `sum tmp dat 'x''. При этом можно
- использовать вложенные конструкции, например `{sum {max dat
- 'z'} 'x'}'.
- Временные массивы не могут стоять в качестве первого аргумента
- команд, создающих массивы (например, `new', `read', `hist' и т.д.).
-
- * К скалярным переменным, кроме собственно чисел, относятся:
- специальные переменные `nan=#QNAN, pi=3.1415926..., on=1, off=0,
- :=-1', переменные с суффиксами (*note Suffixes::), переменные
- определенные командой *note define::. Также массивы размером 1x1x1
- считаются скалярами (например, `pi/dat.nx').
- Перед первым использованием все переменные должны быть определены с
-помощью команд, создающих массивы (*note new::, *note var::, *note
-list::, *note copy::, *note read::, *note hist::, *note sum:: и др.,
-*note Data create:: и *note Make another data::).
-
- Команды могут иметь несколько наборов аргументов (например, `plot
-ydat' и `plot xdat ydat'). Все аргументы команды для выбранного набора
-должны быть указаны, однако часть из них могут иметь значения по
-умолчанию. Такие аргументы в описании команд будут помещены в
-квадратные скобки [], например `plot ydat ['stl'='' zval=nan]'. При
-этом запись `[arg1 arg2 arg3 ...]' подразумевает `[arg1 [arg2 [arg3
-...]]]', т.е. опускать можно только аргументы с конца, если вы согласны
-с их значениями по умолчанию. Например, `plot ydat '' 1' или `plot ydat
-''' правильно, а `plot ydat 1' не правильно (аргумент `'stl'' пропущен).
-
- Все команды MGL можно разделить на несколько групп. В дальнейшем
-будет использованы следующие обозначения при описании команд: имя
-команды выделено жирным, строки заключены в одинарные кавычки ",
-переменные выделены курсивом, числа (скаляры) выделены моноширинным
-шрифтом. Необязательные аргументы будут помещены в квадратные скобки []
-и показаны их значения по умолчанию. Подробную информацию о цвете и
-стиле линий (*note Line styles::), цветовых схемах (*note Color
-scheme::), стиле текста и символах TeX (*note Font styles::), текстовых
-формулах (*note Textual formulas::) можно найти в соответствующих
+ * произвольное выражение из
+ существующих переменных и
+ констант. Например, `sqrt(dat(:,5)+1)'
+ даст временный массив данных с
+ элементами равными `tmp[i,j] =
+ sqrt(dat[i,5,j]+1)'.
+
+ * массивы с элементами заданными в
+ квадратных скобках [],
+ разделенные `,'. При этом внутри
+ выражения не должно быть
+ пробелов! Например, `[1,2,3]' даст
+ временный массив из 3 элементов {1,
+ 2, 3}; `[[11,12],[21,22]]' даст матрицу 2*2 и
+ т.д. Элементами такой конструкции
+ могут быть и массивы если их
+ размерности одинаковые, например
+ `[v1,v2,...,vn]'.
+
+ * результат команд построения
+ новых данных (*note Make another data::), если
+ они заключены в фигурные скобки
+ {}. Например, `{sum dat 'x'}' даст
+ временный массив, который есть
+ результат суммирования DAT вдоль
+ 'x'. Это такой же массив как и TMP,
+ полученный командой `sum tmp dat 'x''.
+ При этом можно использовать
+ вложенные конструкции, например
+ `{sum {max dat 'z'} 'x'}'.
+ Временные массивы не могут стоять в
+ качестве первого аргумента команд,
+ создающих массивы (например, `new',
+ `read', `hist' и т.д.).
+
+ * К скалярным переменным, кроме
+ собственно чисел, относятся:
+ специальные переменные `nan=#QNAN,
+ pi=3.1415926..., on=1, off=0, :=-1', переменные с
+ суффиксами (*note Suffixes::), переменные
+ определенные командой *note define::.
+ Также массивы размером 1x1x1
+ считаются скалярами (например,
+ `pi/dat.nx').
+ Перед первым использованием все
+переменные должны быть определены с
+помощью команд, создающих массивы (*note
+new::, *note var::, *note list::, *note copy::, *note read::, *note
+hist::, *note sum:: и др., *note Data create:: и *note Make another
+data::).
+
+ Команды могут иметь несколько
+наборов аргументов (например, `plot ydat' и
+`plot xdat ydat'). Все аргументы команды для
+выбранного набора должны быть указаны,
+однако часть из них могут иметь
+значения по умолчанию. Такие аргументы
+в описании команд будут помещены в
+квадратные скобки [], например `plot ydat
+['stl'='' zval=nan]'. При этом запись `[arg1 arg2 arg3
+...]' подразумевает `[arg1 [arg2 [arg3 ...]]]', т.е.
+опускать можно только аргументы с
+конца, если вы согласны с их значениями
+по умолчанию. Например, `plot ydat '' 1' или
+`plot ydat ''' правильно, а `plot ydat 1' не
+правильно (аргумент `'stl'' пропущен).
+
+ Все команды MGL можно разделить на
+несколько групп. В дальнейшем будет
+использованы следующие обозначения
+при описании команд: имя команды
+выделено жирным, строки заключены в
+одинарные кавычки ", переменные
+выделены курсивом, числа (скаляры)
+выделены моноширинным шрифтом.
+Необязательные аргументы будут
+помещены в квадратные скобки [] и
+показаны их значения по умолчанию.
+Подробную информацию о цвете и стиле
+линий (*note Line styles::), цветовых схемах (*note
+Color scheme::), стиле текста и символах TeX (*note
+Font styles::), текстовых формулах (*note Textual
+formulas::) можно найти в соответствующих
разделах.
* Menu:
@@ -192,55 +256,95 @@ File: mgl_ru.info, Node: General concepts, Prev: Utilities, Up: MGL interface
1.1 Основные принципы
=====================================
-Возможности библиотеки MathGL довольно богаты - число только основных
-типов графиков превышает 50 видов. Кроме того, есть функции для
-обработки данных, настройки вида графика и пр. и пр. Тем не менее, я
-старался придерживаться единого стиля в порядке аргументов функций и
-способе их "настройки". В основном все ниже сказанное относится к
-функциям рисования различных графиков.
-
- Всего основных концепций (базисных идей) четыре:
- 1. *Все настройки графиков (стиль линий, цветовые схемы поверхностей,
- стиль и цвет текста) задаются строками.* Это обеспечивает:
- удобство для пользователя - короткую строку легче читать и здесь
- тяжелее ошибиться, чем в большом списке параметров; переносимость
- - строки выглядят одинаково на всех платформах и не надо
- заботиться о типе и числе аргументов.
-
- 2. *Все функции имеют "упрощенный" и "продвинутый" варианты.* Сделано
- опять из-за удобства. В "упрощенном" варианте для построения
- графика нужны только один-два массив(а) данных, которые
- автоматически равнораспределяются в заданном диапазоне осей
- координат. В "продвинутой" версии можно не только указать явно
- диапазон построения графика, но и задать его параметрически.
- Последнее позволяет легко строить довольно сложные кривые и
- поверхности. В обоих вариантах функций порядок аргументов
- стандартен: сначала идут массивы данных, потом необязательный
- строковый параметр стиля графика, а далее - второстепенные
- необязательные параметры для более точной настройки графика.
-
- 3. *Все элементы рисунков векторные.* Изначально библиотека MathGL
- была ориентированна на работу с научными данными, которые по своей
- природе векторные (линии, грани, матрицы и т.д.). Поэтому
- векторность используется во всех рисунках! Причем иногда даже в
- ущерб производительности (например, при выводе шрифтов). Помимо
- всего прочего, векторность позволяет легко масштабировать рисунок
- - измените размер картинки в 2 раза, и рисунок пропорционально
- растянется.
-
- 4. *Новые графики не удаляют уже нарисованное.* Этот, в чем-то
- неожиданный, подход позволяет создавать огромное количество
- "комбинированных" графиков. Например, поверхность с наложенными
- линиями уровня строится двумя последовательными вызовами функций
- рисования поверхности и линий уровня (в любом порядке). И
- совершенно не надо писать специальную функцию (как в Matlab и
- некоторых других программах) для рисования этого графика. Примеров
- таких графиков можно привести множество (см. раздел *note Hints::
- и сайт программы `http://mathgl.sf.net/index.html').
-
- Кроме основных концепций я хотел бы остановиться на нескольких, как
-оказалось, нетривиальных моментах - способе указания положения графика,
-осей координат и строковых параметров линий, поверхностей, текста.
+Возможности библиотеки MathGL довольно
+богаты - число только основных типов
+графиков превышает 50 видов. Кроме того,
+есть функции для обработки данных,
+настройки вида графика и пр. и пр. Тем
+не менее, я старался придерживаться
+единого стиля в порядке аргументов
+функций и способе их "настройки". В
+основном все ниже сказанное относится
+к функциям рисования различных
+графиков.
+
+ Всего основных концепций (базисных
+идей) четыре:
+ 1. *Все настройки графиков (стиль
+ линий, цветовые схемы поверхностей,
+ стиль и цвет текста) задаются
+ строками.* Это обеспечивает:
+ удобство для пользователя -
+ короткую строку легче читать и
+ здесь тяжелее ошибиться, чем в
+ большом списке параметров;
+ переносимость - строки выглядят
+ одинаково на всех платформах и не
+ надо заботиться о типе и числе
+ аргументов.
+
+ 2. *Все функции имеют "упрощенный" и
+ "продвинутый" варианты.* Сделано
+ опять из-за удобства. В "упрощенном"
+ варианте для построения графика
+ нужны только один-два массив(а)
+ данных, которые автоматически
+ равнораспределяются в заданном
+ диапазоне осей координат. В
+ "продвинутой" версии можно не только
+ указать явно диапазон построения
+ графика, но и задать его
+ параметрически. Последнее
+ позволяет легко строить довольно
+ сложные кривые и поверхности. В
+ обоих вариантах функций порядок
+ аргументов стандартен: сначала идут
+ массивы данных, потом
+ необязательный строковый параметр
+ стиля графика, а далее -
+ второстепенные необязательные
+ параметры для более точной
+ настройки графика.
+
+ 3. *Все элементы рисунков векторные.*
+ Изначально библиотека MathGL была
+ ориентированна на работу с научными
+ данными, которые по своей природе
+ векторные (линии, грани, матрицы и
+ т.д.). Поэтому векторность
+ используется во всех рисунках!
+ Причем иногда даже в ущерб
+ производительности (например, при
+ выводе шрифтов). Помимо всего
+ прочего, векторность позволяет
+ легко масштабировать рисунок -
+ измените размер картинки в 2 раза, и
+ рисунок пропорционально растянется.
+
+ 4. *Новые графики не удаляют уже
+ нарисованное.* Этот, в чем-то
+ неожиданный, подход позволяет
+ создавать огромное количество
+ "комбинированных" графиков.
+ Например, поверхность с наложенными
+ линиями уровня строится двумя
+ последовательными вызовами функций
+ рисования поверхности и линий
+ уровня (в любом порядке). И
+ совершенно не надо писать
+ специальную функцию (как в Matlab и
+ некоторых других программах) для
+ рисования этого графика. Примеров
+ таких графиков можно привести
+ множество (см. раздел *note Hints:: и сайт
+ программы `http://mathgl.sf.net/index.html').
+
+ Кроме основных концепций я хотел бы
+остановиться на нескольких, как
+оказалось, нетривиальных моментах -
+способе указания положения графика,
+осей координат и строковых параметров
+линий, поверхностей, текста.
* Menu:
@@ -256,54 +360,89 @@ File: mgl_ru.info, Node: Coordinate axes, Next: Line styles, Up: General conc
1.1.1 Оси координат
-------------------------------
-Представление системы координат в MathGL состоит из двух частей.
-Вначале координаты нормируются в интервал MINxMAX (*note Axis
-settings::). Если флаг CUT установлен, то точки вне интервала
-отбрасываются, в противном случае, они проецируются на ограничивающий
-параллелепипед (*note Cutting::). Кроме того, отбрасываются точки
-внутри границ, определенных переменными CUTMINxCUTMAX и точки, для
-которых значение функции `CutOff'() не равно нулю. После этого формулы
-перехода в криволинейную систему координат `SetFunc()'применяются к
-каждой точке. Наконец, точка данных отображается с помощью одной из
+Представление системы координат в MathGL
+состоит из двух частей. Вначале
+координаты нормируются в интервал MINxMAX
+(*note Axis settings::). Если флаг CUT установлен,
+то точки вне интервала отбрасываются,
+в противном случае, они проецируются
+на ограничивающий параллелепипед (*note
+Cutting::). Кроме того, отбрасываются точки
+внутри границ, определенных
+переменными CUTMINxCUTMAX и точки, для
+которых значение функции `CutOff'() не
+равно нулю. После этого формулы
+перехода в криволинейную систему
+координат `SetFunc()'применяются к каждой
+точке. Наконец, точка данных
+отображается с помощью одной из
графических функций.
- Величины MAX, MIN можно изменять вручную. Однако, после этого
-необходимо вызвать функцию `RecalcBorder()' для настройки графика.
-Более удобный и безопасный путь состоит в вызове функций `Axis(),
-SetRanges()' и др. В последнем случае функция `RecalcBorder()'
-вызывается автоматически. Размеры осей можно задавать и автоматически
-по минимальному и максимальному значениям массива данных. Для этого
-предназначены функции `XRange(), YRange(), ZRange()'. Второй не
-обязательный аргумент указывает, заменять ли новые значения диапазона
-изменения оси координат (по умолчанию) или только расширить уже
+ Величины MAX, MIN можно изменять
+вручную. Однако, после этого
+необходимо вызвать функцию `RecalcBorder()'
+для настройки графика. Более удобный и
+безопасный путь состоит в вызове
+функций `Axis(), SetRanges()' и др. В последнем
+случае функция `RecalcBorder()' вызывается
+автоматически. Размеры осей можно
+задавать и автоматически по
+минимальному и максимальному
+значениям массива данных. Для этого
+предназначены функции `XRange(), YRange(),
+ZRange()'. Второй не обязательный аргумент
+указывает, заменять ли новые значения
+диапазона изменения оси координат (по
+умолчанию) или только расширить уже
существующий диапазон.
- Точка пересечения осей координат задается переменной ORG и действует
-на последующие вызовы функций рисования осей координат и сетки. По
-умолчанию, если точка пересечения осей координат попадает вне диапазона
-осей координат, то она проецируется на границу области. Изменить такое
-поведение можно, задав AUTOORG=`false'. В случае, если одно из значений
-ORG равно NAN, то соответствующее значение будет выбрано автоматически.
-
- Кроме привычных осей _x, y, z_ есть еще одна ось - цветовая шкала -
-ось _c_. Она используется при окрашивании поверхностей и задает границы
-изменения функции при окрашивании. При вызове `Axis()' ее границы
-автоматически устанавливаются равными Min.z и Max.z. Возможно и ручное
-изменение границ цветового интервала посредством вызова функции
-`CAxis()' или изменение границ по заданному массиву `CRange()'.
-Используйте `Colorbar()' для отображения цветовой шкалы.
-
- Вид меток по осям определяется функцией `SetTicks()' (*note Axis
-settings::). Она имеет 3 аргумента: первый D задает шаг меток (если
-положительны) или их число (если отрицательны) или логарифмические
-метки (если равны нулю); второ NS задает число "подметок"; последний
-определяет начальную точку для меток (по умолчанию это точка
-пересечения осей). Функция SETTUNETICKS включает/выключает выделение
-общего множителя (большого или малого факторов в диапазоне) для меток
-осей координат. Наконец, если стандартный вид меток не устраивает
-пользователя, то их шаблон можно задать явно (можно использовать и ТеХ
-символы), воспользовавшись функциями `SetXTT(), SetYTT(). SetZTT().
-SetCTT()'. Кроме того, в качестве меток можно вывести произвольный
+ Точка пересечения осей координат
+задается переменной ORG и действует на
+последующие вызовы функций рисования
+осей координат и сетки. По умолчанию,
+если точка пересечения осей координат
+попадает вне диапазона осей координат,
+то она проецируется на границу
+области. Изменить такое поведение
+можно, задав AUTOORG=`false'. В случае, если
+одно из значений ORG равно NAN, то
+соответствующее значение будет
+выбрано автоматически.
+
+ Кроме привычных осей _x, y, z_ есть еще
+одна ось - цветовая шкала - ось _c_. Она
+используется при окрашивании
+поверхностей и задает границы
+изменения функции при окрашивании. При
+вызове `Axis()' ее границы автоматически
+устанавливаются равными Min.z и Max.z.
+Возможно и ручное изменение границ
+цветового интервала посредством
+вызова функции `CAxis()' или изменение
+границ по заданному массиву `CRange()'.
+Используйте `Colorbar()' для отображения
+цветовой шкалы.
+
+ Вид меток по осям определяется
+функцией `SetTicks()' (*note Axis settings::). Она
+имеет 3 аргумента: первый D задает шаг
+меток (если положительны) или их число
+(если отрицательны) или
+логарифмические метки (если равны
+нулю); второ NS задает число "подметок";
+последний определяет начальную точку
+для меток (по умолчанию это точка
+пересечения осей). Функция SETTUNETICKS
+включает/выключает выделение общего
+множителя (большого или малого
+факторов в диапазоне) для меток осей
+координат. Наконец, если стандартный
+вид меток не устраивает пользователя,
+то их шаблон можно задать явно (можно
+использовать и ТеХ символы),
+воспользовавшись функциями `SetXTT(),
+SetYTT(). SetZTT(). SetCTT()'. Кроме того, в качестве
+меток можно вывести произвольный
текст использовав функцию `SetTicksVal()'.
@@ -312,56 +451,81 @@ File: mgl_ru.info, Node: Line styles, Next: Color scheme, Prev: Coordinate ax
1.1.2 Стиль линий
---------------------------
-Стиль линии задается строкой, которая может содержать символ цвета
-(`wkrgbcymhRGBCYMHWlenupqLENUPQ'), тип пунктира (`-|;:ji' или пробел),
-ширину линии (`0123456789') и тип маркера (`o+xsd.^v' и модификатор
-`#'). Если пропущен цвет или тип пунктира, то используется значение по
-умолчанию с последним указанным цветом или значение из палитры (для
-*note 1D plotting::). По умолчанию палитры содержит следующие цвета:
-темно серый `H', синий `b', зеленый `g', красный `r', голубой `c',
-пурпурный `m', yellow `y', серый `h', сине-зеленый `l', небесно-синий
-`n', оранжевый `q', желто-зеленый `e', сине-фиолетовый `u', фиолетовый
-`p'.
-
- Символы цвета те же, что и в классе mglColor (*note mglColor
-class::): `k' - черный, `r' - красный, `R' - темно красный, `g' -
-зеленый, `G' - темно зеленый, `b' - синий, `B' - темно синий, `c' -
-голубой, `C' - темно голубой, `m' - пурпурный, `M' - темно пурпурный,
-`y' - желтый, `Y' - темно желтый (золотой), `h' - серый, `H' - темно
-серый, `w' - белый, `W' - светло серый, `l' - сине-зеленый, `L' - темно
-сине-зеленый, `e' - желто-зеленый, `E' - темно желто-зеленый, `n' -
-небесно-синий, `N' - темно небесно-синий, `u' - сине-фиолетовый, `U' -
-темно сине-фиолетовый, `p' - фиолетовый, `P' - темно фиолетовый, `q' -
-оранжевый, `Q' - темно оранжевый (коричневый).
-
- Тип пунктира: пробел - нет линии (для рисования только маркеров),
-`-' - сплошная линия (################), `|' - длинный пунктир
-(########________), `;' - пунктир (####____####____), `=' - короткий
-пунктир (##__##__##__##__), `:' - точки (#___#___#___#___), `j' -
-пунктир с точками (#######____#____), `i' - мелкий пунктир с точками
-(###__#__###__#__).
-
- Типы маркеров: `o' - окружность, `+' - крест, `x' - косой крест, `s'
-- квадрат, `d' - ромб, `.' - точка, `^' - треугольник вверх, `v' -
-треугольник вниз, `<' - треугольник влево, `>' - треугольник вправо,
-`#*' - знак Y, `#+' - крест в квадрате, `#x' - косой крест в квадрате,
-`#.' - точка в окружности. Если в строке присутствует символ `#', то
-используются символы с заполнением.
+Стиль линии задается строкой, которая
+может содержать символ цвета
+(`wkrgbcymhRGBCYMHWlenupqLENUPQ'), тип пунктира (`-|;:ji'
+или пробел), ширину линии (`0123456789') и тип
+маркера (`o+xsd.^v' и модификатор `#'). Если
+пропущен цвет или тип пунктира, то
+используется значение по умолчанию с
+последним указанным цветом или
+значение из палитры (для *note 1D plotting::).
+По умолчанию палитры содержит
+следующие цвета: темно серый `H', синий
+`b', зеленый `g', красный `r', голубой `c',
+пурпурный `m', yellow `y', серый `h',
+сине-зеленый `l', небесно-синий `n',
+оранжевый `q', желто-зеленый `e',
+сине-фиолетовый `u', фиолетовый `p'.
+
+ Символы цвета те же, что и в классе
+mglColor (*note mglColor class::): `k' - черный, `r' -
+красный, `R' - темно красный, `g' - зеленый,
+`G' - темно зеленый, `b' - синий, `B' - темно
+синий, `c' - голубой, `C' - темно голубой, `m'
+- пурпурный, `M' - темно пурпурный, `y' -
+желтый, `Y' - темно желтый (золотой), `h' -
+серый, `H' - темно серый, `w' - белый, `W' -
+светло серый, `l' - сине-зеленый, `L' -
+темно сине-зеленый, `e' - желто-зеленый,
+`E' - темно желто-зеленый, `n' -
+небесно-синий, `N' - темно небесно-синий,
+`u' - сине-фиолетовый, `U' - темно
+сине-фиолетовый, `p' - фиолетовый, `P' -
+темно фиолетовый, `q' - оранжевый, `Q' -
+темно оранжевый (коричневый).
+
+ Тип пунктира: пробел - нет линии (для
+рисования только маркеров), `-' -
+сплошная линия (################), `|' - длинный
+пунктир (########________), `;' - пунктир
+(####____####____), `=' - короткий пунктир
+(##__##__##__##__), `:' - точки (#___#___#___#___), `j' -
+пунктир с точками (#######____#____), `i' -
+мелкий пунктир с точками (###__#__###__#__).
+
+ Типы маркеров: `o' - окружность, `+' -
+крест, `x' - косой крест, `s' - квадрат, `d' -
+ромб, `.' - точка, `^' - треугольник вверх,
+`v' - треугольник вниз, `<' - треугольник
+влево, `>' - треугольник вправо, `#*' - знак
+Y, `#+' - крест в квадрате, `#x' - косой крест
+в квадрате, `#.' - точка в окружности.
+Если в строке присутствует символ `#',
+то используются символы с заполнением.
[image src="../png/sample5.png" ]
Стили линий и маркеров.
- На конце и в начале линии можно выводить специальный символ
-(стрелку), если в строке указать один из символов: `A' - стрелка
-наружу, `V' - стрелка внутрь, `I' - поперечная черта, `K' - стрелка с
-чертой, `T' - треугольник, `S' - квадрат, `D' - ромб, `O' - круг, `_' -
-нет стрелки (по умолчанию). При этом действует следующее правило:
-первый символ определяет стрелку на конце линии, второй символ -
-стрелку в начале линии. Например, `r-A' - красная сплошная линия со
-стрелкой на конце, `b|AI' - синий пунктир со стрелкой на конце и чертой
-вначале, `_O' - линия с текущим стилем и кружком вначале. Эти стили
-действуют и при построении графиков (например, *note 1D plotting::).
+ На конце и в начале линии можно
+выводить специальный символ (стрелку),
+если в строке указать один из символов:
+`A' - стрелка наружу, `V' - стрелка внутрь,
+`I' - поперечная черта, `K' - стрелка с
+чертой, `T' - треугольник, `S' - квадрат, `D' -
+ромб, `O' - круг, `_' - нет стрелки (по
+умолчанию). При этом действует
+следующее правило: первый символ
+определяет стрелку на конце линии,
+второй символ - стрелку в начале линии.
+Например, `r-A' - красная сплошная линия
+со стрелкой на конце, `b|AI' - синий
+пунктир со стрелкой на конце и чертой
+вначале, `_O' - линия с текущим стилем и
+кружком вначале. Эти стили действуют и
+при построении графиков (например, *note
+1D plotting::).
[image src="../png/sampled.png" ]
@@ -373,63 +537,96 @@ File: mgl_ru.info, Node: Color scheme, Next: Font styles, Prev: Line styles,
1.1.3 Цветовая схема
---------------------------------
-Цветовая схема используется для определения цвета поверхностей, линий
-уровня и пр. Цветовая схема задается строкой _s_, которая содержит
-символы цвета (*note Line styles::) или символы `d#:|'. Символ `d'
-указывает на определение цвета в зависимости от положения точки в
-пространстве, а не по амплитуде данных. Символ `#' переключает
-рисование поверхности на сетчатое (для трехмерных поверхностей) или
-включает рисование сетки на поверхности. Символ `|' отключает
-интерполяцию цвета в цветовой схеме. Это может быть полезно для
-"резких" цветов, например, при рисовании матриц. Если в строке
-встречается символ `:', то он принудительно заканчивает разбор строки
-для стиля поверхности. После этого символа могут идти описание стиля
-текста или оси вращения кривой/линий уровня. Цветовая схема может
-содержать до 32 значений цвета.
-
- В цветовой схеме можно использовать тональные ("подсвеченные") цвета
-(_не в стиле линий!_). Тональный цвет задается двумя символами: первый
-- обычный цвет, второй - его яркость цифрой. Цифра может быть в
-диапазоне `1'...`9'. При этом `5' соответствует нормальному цвету, `1'
-- очень темная версия цвета (почти черный), `9' - очень светлая версия
-цвета (почти белый). Например цветовая схема может быть `b2b7wr7r2'.
+Цветовая схема используется для
+определения цвета поверхностей, линий
+уровня и пр. Цветовая схема задается
+строкой _s_, которая содержит символы
+цвета (*note Line styles::) или символы `d#:|'.
+Символ `d' указывает на определение
+цвета в зависимости от положения точки
+в пространстве, а не по амплитуде
+данных. Символ `#' переключает
+рисование поверхности на сетчатое (для
+трехмерных поверхностей) или включает
+рисование сетки на поверхности. Символ
+`|' отключает интерполяцию цвета в
+цветовой схеме. Это может быть полезно
+для "резких" цветов, например, при
+рисовании матриц. Если в строке
+встречается символ `:', то он
+принудительно заканчивает разбор
+строки для стиля поверхности. После
+этого символа могут идти описание
+стиля текста или оси вращения
+кривой/линий уровня. Цветовая схема
+может содержать до 32 значений цвета.
+
+ В цветовой схеме можно использовать
+тональные ("подсвеченные") цвета (_не в
+стиле линий!_). Тональный цвет задается
+двумя символами: первый - обычный цвет,
+второй - его яркость цифрой. Цифра
+может быть в диапазоне `1'...`9'. При этом
+`5' соответствует нормальному цвету, `1' -
+очень темная версия цвета (почти
+черный), `9' - очень светлая версия цвета
+(почти белый). Например цветовая схема
+может быть `b2b7wr7r2'.
[image src="../png/colors.png" ]
Цвета и их идентификаторы.
- При определении цвета по _амплитуде_ (наиболее часто используется)
-окончательный цвет определяется путем линейной интерполяции массива
-цветов. Массив цветов формируется из цветов, указанных в строке
-спецификации. Аргумент - амплитуда, нормированная между CMIN - CMAX
-(*note Axis settings::). Например, строка из 4 символов `bcyr'
-соответствует изменению цвета от синего (минимальное значение) через
-голубой и желтый (промежуточные значения) к красному (максимальное
-значение). Строка `kw' соответствует изменению цвета от черного
-(минимальное значение) к белому (максимальное значение). Строка из
-одного символа (например, `g') соответствует однотонному цвету (в
+ При определении цвета по _амплитуде_
+(наиболее часто используется)
+окончательный цвет определяется путем
+линейной интерполяции массива цветов.
+Массив цветов формируется из цветов,
+указанных в строке спецификации.
+Аргумент - амплитуда, нормированная
+между CMIN - CMAX (*note Axis settings::). Например,
+строка из 4 символов `bcyr' соответствует
+изменению цвета от синего (минимальное
+значение) через голубой и желтый
+(промежуточные значения) к красному
+(максимальное значение). Строка `kw'
+соответствует изменению цвета от
+черного (минимальное значение) к
+белому (максимальное значение). Строка
+из одного символа (например, `g')
+соответствует однотонному цвету (в
данному случае зеленому).
- Есть несколько полезных цветовых схем. Строка `kw' дает обычную
-серую (черно-белую) схему, когда большие значения светлее. Строка `wk'
-представляет обратную серую схему, когда большие значения темнее.
-Строки `kRryw', `kGgw', `kBbcw' представляют собой хорошо известные
-схемы _hot_, _summer_ и _winter_. Строки `BbwrR' и `bBkRr' позволяют
-рисовать двухцветные фигуры на белом или черном фоне, когда
-отрицательные значения показаны синим цветом, а положительные -
-красным. Строка `BbcyrR' дает цветовую схему, близкую к хорошо
-известной схеме _jet_.
+ Есть несколько полезных цветовых
+схем. Строка `kw' дает обычную серую
+(черно-белую) схему, когда большие
+значения светлее. Строка `wk'
+представляет обратную серую схему,
+когда большие значения темнее. Строки
+`kRryw', `kGgw', `kBbcw' представляют собой
+хорошо известные схемы _hot_, _summer_ и _winter_.
+Строки `BbwrR' и `bBkRr' позволяют рисовать
+двухцветные фигуры на белом или черном
+фоне, когда отрицательные значения
+показаны синим цветом, а положительные
+- красным. Строка `BbcyrR' дает цветовую
+схему, близкую к хорошо известной
+схеме _jet_.
[image src="../png/color_schemes.png" ]
Наиболее популярные цветовые схемы.
- При определении цвета по _положению точки в пространстве_
-окончательный цвет определяется по формуле c=x*c[1] + y*c[2] + z*c[3].
-Здесь c[1], c[2], c[3] - первые три цвета в цветовом массиве; x, y, z -
-координаты точки, нормированные на MINxMAX. Такой тип определения цвета
-полезен, например, при построении поверхностей уровня, когда цвет дает
-представление о положении точки в пространстве.
+ При определении цвета по _положению
+точки в пространстве_ окончательный
+цвет определяется по формуле c=x*c[1] + y*c[2]
++ z*c[3]. Здесь c[1], c[2], c[3] - первые три цвета
+в цветовом массиве; x, y, z - координаты
+точки, нормированные на MINxMAX. Такой тип
+определения цвета полезен, например,
+при построении поверхностей уровня,
+когда цвет дает представление о
+положении точки в пространстве.
File: mgl_ru.info, Node: Font styles, Next: Textual formulas, Prev: Color scheme, Up: General concepts
@@ -437,80 +634,105 @@ File: mgl_ru.info, Node: Font styles, Next: Textual formulas, Prev: Color sch
1.1.4 Стиль текста
-----------------------------
-Стиль текста задается строкой, которая может содержать несколько
-символов: тип шрифта (`ribwou') и/или выравнивания (`LRC'), а также
-цвет текста `wkrgbcymhRGBCYMHW' (*note Line styles::) после символа
-`:'. Например, `biC:b' соответствует жирному курсиву с выравниванием по
-центру синего цвета.
-
- Начертания шрифта: `r' - прямой шрифт, `i' - курсив, `b' - жирный.
-По умолчанию используется прямой шрифт. Типы выравнивания текста: `L' -
-по левому краю (по умолчанию), `C' - по центру, `R' - по правому краю.
-Дополнительные эффекты шрифта: `w' - контурный, `o' - надчеркнутый, `u'
-- подчеркнутый.
-
- Синтаксический разбор LaTeX-их команд по умолчанию включен. Это
-команды смены стиля текста (например, \b для жирного текста): \a или
-\overline - надчеркивание, \b или \textbf - жирный, \i или \textit -
-курсив, \r или \textrm - прямой (отменяет стили жирного и курсива), \u
-или \underline - подчеркнутый, \w или \wire - контурный, \big -
-большего размера, @ - меньшего размера. Нижний и верхний индексы
-задаются символами `_' и `^'. При этом изменение стиля применяется
-только к следующему символу или к символам в фигурных скобках {},
-которые понимаются как единый блок. Например, сравните строки `sin
-(x^{2^3})' и `sin (x^2^3)'. Можно также менять цвет текста внутри
-строки с помощью команд #? или \color?, где `?' - символ цвета (*note
-Line styles::). Например, слова `Blue' и `red' будут окрашены в
-соответствующий цвет в строке `#b{Blue} and \colorr{red} text'.
-Большинство функций понимает символ новой строки `\n' и позволяет
-выводить много строчный текст. Наконец, можно использовать символы с
-произвольным UTF кодом с помощью команды `\utf0x????'. Например,
+Стиль текста задается строкой, которая
+может содержать несколько символов:
+тип шрифта (`ribwou') и/или выравнивания
+(`LRC'), а также цвет текста `wkrgbcymhRGBCYMHW' (*note
+Line styles::) после символа `:'. Например, `biC:b'
+соответствует жирному курсиву с
+выравниванием по центру синего цвета.
+
+ Начертания шрифта: `r' - прямой шрифт,
+`i' - курсив, `b' - жирный. По умолчанию
+используется прямой шрифт. Типы
+выравнивания текста: `L' - по левому краю
+(по умолчанию), `C' - по центру, `R' - по
+правому краю. Дополнительные эффекты
+шрифта: `w' - контурный, `o' - надчеркнутый,
+`u' - подчеркнутый.
+
+ Синтаксический разбор LaTeX-их команд
+по умолчанию включен. Это команды
+смены стиля текста (например, \b для
+жирного текста): \a или \overline -
+надчеркивание, \b или \textbf - жирный, \i или
+\textit - курсив, \r или \textrm - прямой
+(отменяет стили жирного и курсива), \u
+или \underline - подчеркнутый, \w или \wire -
+контурный, \big - большего размера, @ -
+меньшего размера. Нижний и верхний
+индексы задаются символами `_' и `^'. При
+этом изменение стиля применяется
+только к следующему символу или к
+символам в фигурных скобках {}, которые
+понимаются как единый блок. Например,
+сравните строки `sin (x^{2^3})' и `sin (x^2^3)'.
+Можно также менять цвет текста внутри
+строки с помощью команд #? или \color?, где
+`?' - символ цвета (*note Line styles::). Например,
+слова `Blue' и `red' будут окрашены в
+соответствующий цвет в строке `#b{Blue} and
+\colorr{red} text'. Большинство функций
+понимает символ новой строки `\n' и
+позволяет выводить много строчный
+текст. Наконец, можно использовать
+символы с произвольным UTF кодом с
+помощью команды `\utf0x????'. Например,
`\utf0x3b1' даст символ \alpha.
- Распознаются также большинство символов TeX и AMSTeX, команды смены
-стиля текста (\textrm, \textbf, \textit, \textsc, \overline,
+ Распознаются также большинство
+символов TeX и AMSTeX, команды смены стиля
+текста (\textrm, \textbf, \textit, \textsc, \overline,
\underline), акценты (\hat, \tilde, \dot, \ddot, \acute, \check,
-\grave, \bar, \breve) и корни (\sqrt, \sqrt3, \sqrt4). Полный список
-содержит около 2000 символов. Отмечу, что первый пробел (пробел,
-табуляция и пр.) после команды игнорируется, а все остальные пробелы
-печатаются обычным образом. Например, следующие строки дают одинаковый
+\grave, \bar, \breve) и корни (\sqrt, \sqrt3, \sqrt4).
+Полный список содержит около 2000
+символов. Отмечу, что первый пробел
+(пробел, табуляция и пр.) после команды
+игнорируется, а все остальные пробелы
+печатаются обычным образом. Например,
+следующие строки дают одинаковый
результат \tilde a: `\tilde{a}'; `\tilde a'; `\tilde{}a'.
- В частности, распознаются греческие буквы: \alpha - \alpha, \beta -
-\beta, \gamma - \gamma, \delta - \delta, \epsilon - \epsilon, \eta -
-\eta, \iota - \iota, \chi - \chi, \kappa - \kappa, \lambda - \lambda,
-\mu - \mu, \nu - \nu, o - \o, \omega - \omega, \phi - \phi, \pi - \pi,
-\psi - \psi, \rho - \rho, \sigma - \sigma, \theta - \theta, \tau -
-\tau, \upsilon - \upsilon, \xi - \xi, \zeta - \zeta, \varsigma -
-\varsigma, \varepsilon - \varepsilon, \vartheta - \vartheta, \varphi -
-\varphi, A - \Alpha, B - \Beta, \Gamma - \Gamma, \Delta - \Delta, E -
-\Epsilon, H - \Eta, I - \Iota, C - \Chi, K - \Kappa, \Lambda - \Lambda,
-M - \Mu, N - \Nu, O - \O, \Omega - \Omega, \Phi - \Phi, \Pi - \Pi, \Psi
-- \Psi, R - \Rho, \Sigma - \Sigma, \Theta - \Theta, T - \Tau, \Upsilon
-- \Upsilon, \Xi - \Xi, Z - \Zeta.
-
- Еще примеры наиболее общеупотребительных TeX-их символов: \angle -
-\angle, \aleph - \aleph, \cdot - \cdot, \clubsuit - \clubsuit, \cup -
-\cup, \cap - \cap, \diamondsuit - \diamondsuit, \diamond - \diamond,
-\div - \div, \downarrow - \downarrow, \dag - \dag, \ddag - \ddag,
-\equiv - \equiv, \exists - \exists, \frown - \frown, \flat - \flat, \ge
-- \ge, \geq - \geq, \gets - \gets, \heartsuit - \heartsuit, \infty -
-\infty, \in - \in, \int - \int, \Im - \Im, \langle - \langle, \le -
-\le, \leq - \leq, \leftarrow - \leftarrow, \mp - \mp, \nabla - \nabla,
-\ne - \ne, \neq - \neq, \natural - \natural, \oint - \oint, \odot -
-\odot, \oplus - \oplus, \partial - \partial, \parallel - \parallel,
-\perp - \perp, \pm - \pm, \propto - \propto, \prod - \prod, \Re - \Re,
-\rightarrow - \rightarrow, \rangle - \rangle, \spadesuit - \spadesuit,
-\sim - \sim, \smile - \smile, \subset - \subset, \supset - \supset,
-\surd - \sqrt or \surd, \S - \S, \sharp - \sharp, \sum - \sum, \times -
-\times, \to - \to, \uparrow - \uparrow, \wp - \wp and so on.
-
- Размер текста может быть задан явно (если SIZE>0) или относительно
-базового размера шрифта для рисунка |SIZE|*FONTSIZE при SIZE<0.
-Значение SIZE=0 указывает, что соответствующая строка выводиться не
-будет. Базовый размер шрифта измеряется во внутренних единицах.
-Специальные функции `SetFontSizePT(), SetFontSizeCM(), SetFontSizeIN()'
-позволяют задавать его в более "привычных" единицах.
+ В частности, распознаются греческие
+буквы: \alpha - \alpha, \beta - \beta, \gamma - \gamma, \delta -
+\delta, \epsilon - \epsilon, \eta - \eta, \iota - \iota, \chi - \chi,
+\kappa - \kappa, \lambda - \lambda, \mu - \mu, \nu - \nu, o - \o,
+\omega - \omega, \phi - \phi, \pi - \pi, \psi - \psi, \rho - \rho,
+\sigma - \sigma, \theta - \theta, \tau - \tau, \upsilon - \upsilon, \xi
+- \xi, \zeta - \zeta, \varsigma - \varsigma, \varepsilon - \varepsilon,
+\vartheta - \vartheta, \varphi - \varphi, A - \Alpha, B - \Beta, \Gamma
+- \Gamma, \Delta - \Delta, E - \Epsilon, H - \Eta, I - \Iota, C - \Chi,
+K - \Kappa, \Lambda - \Lambda, M - \Mu, N - \Nu, O - \O, \Omega -
+\Omega, \Phi - \Phi, \Pi - \Pi, \Psi - \Psi, R - \Rho, \Sigma - \Sigma,
+\Theta - \Theta, T - \Tau, \Upsilon - \Upsilon, \Xi - \Xi, Z - \Zeta.
+
+ Еще примеры наиболее
+общеупотребительных TeX-их символов:
+\angle - \angle, \aleph - \aleph, \cdot - \cdot, \clubsuit - \clubsuit,
+\cup - \cup, \cap - \cap, \diamondsuit - \diamondsuit, \diamond -
+\diamond, \div - \div, \downarrow - \downarrow, \dag - \dag, \ddag -
+\ddag, \equiv - \equiv, \exists - \exists, \frown - \frown, \flat -
+\flat, \ge - \ge, \geq - \geq, \gets - \gets, \heartsuit - \heartsuit,
+\infty - \infty, \in - \in, \int - \int, \Im - \Im, \langle - \langle,
+\le - \le, \leq - \leq, \leftarrow - \leftarrow, \mp - \mp, \nabla -
+\nabla, \ne - \ne, \neq - \neq, \natural - \natural, \oint - \oint,
+\odot - \odot, \oplus - \oplus, \partial - \partial, \parallel -
+\parallel, \perp - \perp, \pm - \pm, \propto - \propto, \prod - \prod,
+\Re - \Re, \rightarrow - \rightarrow, \rangle - \rangle, \spadesuit -
+\spadesuit, \sim - \sim, \smile - \smile, \subset - \subset, \supset -
+\supset, \surd - \sqrt or \surd, \S - \S, \sharp - \sharp, \sum - \sum,
+\times - \times, \to - \to, \uparrow - \uparrow, \wp - \wp and so on.
+
+ Размер текста может быть задан явно
+(если SIZE>0) или относительно базового
+размера шрифта для рисунка |SIZE|*FONTSIZE
+при SIZE<0. Значение SIZE=0 указывает, что
+соответствующая строка выводиться не
+будет. Базовый размер шрифта
+измеряется во внутренних единицах.
+Специальные функции `SetFontSizePT(),
+SetFontSizeCM(), SetFontSizeIN()' позволяют задавать
+его в более "привычных" единицах.
File: mgl_ru.info, Node: Textual formulas, Prev: Font styles, Up: General concepts
@@ -518,68 +740,93 @@ File: mgl_ru.info, Node: Textual formulas, Prev: Font styles, Up: General con
1.1.5 Текстовые формулы
---------------------------------------
-MathGL имеет быстрый парсер текстовых формул , понимающий большое число
-функций и операций. Базовые операции: `+' - сложение, `-' - вычитание,
-`*' - умножение, `/' - деление, `^' - возведение в целосичленную
-степень. Также есть логические операции: `<' - истина если if x<y, `>'
-- истина если x>y, `=' - истина если x=y, `&' - истина если x и y оба
-не равны нулю, `|' - истина если x или y не нуль. Логические операции
-имеют наинизший приоритет и возвращают 1 если истина или 0 если ложно.
-
- Базовые функции: `sqrt(x)' - квадратный корень из X, `pow(x,y)' - X
-в степени Y, `ln(x)' - натуральный логарифм X, `lg(x)' - десятичный
-логарифм X, `log(a,x)' - логарифм по основанию A от X, `abs(x)' -
-модуль X, `sign(x)' - знак X, `mod(x,y)' - остаток от деления x на y,
-`step(x)' - ступенчатая функция, `int(x)' - целая часть X, `rnd' -
-случайное число, `pi' - число \pi=3.1415926...
-
- Тригонометрические функции: `sin(x)', `cos(x)', `tan(x)' (или
-`tg(x)'). Обратные тригонометрические функции: `asin(x)', `acos(x)',
-`atan(x)'. Гиперболические функции: `sinh(x)' (или `sh(x)'), `cosh(x)'
-(или `ch(x)'), `tanh(x)' (или `th(x)'). Обратные гиперболические
+MathGL имеет быстрый парсер текстовых
+формул , понимающий большое число
+функций и операций. Базовые операции:
+`+' - сложение, `-' - вычитание, `*' -
+умножение, `/' - деление, `^' - возведение в
+целосичленную степень. Также есть
+логические операции: `<' - истина если if
+x<y, `>' - истина если x>y, `=' - истина если x=y,
+`&' - истина если x и y оба не равны нулю, `|'
+- истина если x или y не нуль. Логические
+операции имеют наинизший приоритет и
+возвращают 1 если истина или 0 если
+ложно.
+
+ Базовые функции: `sqrt(x)' - квадратный
+корень из X, `pow(x,y)' - X в степени Y, `ln(x)' -
+натуральный логарифм X, `lg(x)' -
+десятичный логарифм X, `log(a,x)' - логарифм
+по основанию A от X, `abs(x)' - модуль X, `sign(x)'
+- знак X, `mod(x,y)' - остаток от деления x на y,
+`step(x)' - ступенчатая функция, `int(x)' -
+целая часть X, `rnd' - случайное число, `pi' -
+число \pi=3.1415926...
+
+ Тригонометрические функции: `sin(x)',
+`cos(x)', `tan(x)' (или `tg(x)'). Обратные
+тригонометрические функции: `asin(x)',
+`acos(x)', `atan(x)'. Гиперболические функции:
+`sinh(x)' (или `sh(x)'), `cosh(x)' (или `ch(x)'), `tanh(x)'
+(или `th(x)'). Обратные гиперболические
функции: `asinh(x)', `acosh(x)', `atanh(x)'.
- Специальные функции: `gamma(x)' - гамма функция \Gamma(x) =
-\int_0^\infty dt t^{x-1} \exp(-t) , `psi(x)' - дигамма функция \psi(x)
-= \Gamma</samp>’(x)/\Gamma(x) для x!=0, `ai(x)' - Эйри функция
-Ai(x), `bi(x)' - Эйри функция Bi(x), `cl(x)' - функция Клаузена,
-`li2(x)' (или `dilog(x)') - дилогарифм Li_2(x) = - \Re \int_0^x ds
-\log(1-s)/s, `sinc(x)' - функция sinc(x) = \sin(\pi x) / (\pi x) для
-любых x, `zeta(x)' - зета функция Римана \zeta(s) = \sum_{k=1}^\infty
-k^{-s} для s!=1, `eta(x)' - эта функция \eta(s) = (1-2^{1-s}) \zeta(s)
-для произвольного s, `lp(l,x)' - полином Лежандра P_l(x), (|x|<=1,
-l>=0), `w0(x)', `w1(x)' - функции Ламберта W. Функции W(x) определены
-как решение уравнения W \exp(W) = x.
-
- Экспоненциальные интегралы: `ci(x)' - cos-интеграл Ci(x) = \int_0^x
-dt \cos(t)/t, `si(x)' - sin-интеграл Si(x) = \int_0^x dt \sin(t)/t,
-`erf(x)' - функция ошибки erf(x) = (2/\sqrt(\pi)) \int_0^x dt
-\exp(-t^2), `ei(x)' - интеграл Ei(x) := - PV(\int_{-x}^\infty dt
-\exp(-t)/t) (где PV обозначает главное значение), `e1(x)' - интеграл
-E_1(x) := Re \int_1^\infty dt \exp(-xt)/t , `e2(x)' - интеграл E_2(x)
-:= Re \int_1^\infty dt \exp(-xt)/t^2, `ei3(x)' - интеграл Ei_3(x) =
+ Специальные функции: `gamma(x)' - гамма
+функция \Gamma(x) = \int_0^\infty dt t^{x-1} \exp(-t) , `psi(x)'
+- дигамма функция \psi(x) =
+\Gamma</samp>’(x)/\Gamma(x) для x!=0, `ai(x)' - Эйри
+функция Ai(x), `bi(x)' - Эйри функция Bi(x), `cl(x)'
+- функция Клаузена, `li2(x)' (или `dilog(x)') -
+дилогарифм Li_2(x) = - \Re \int_0^x ds \log(1-s)/s, `sinc(x)'
+- функция sinc(x) = \sin(\pi x) / (\pi x) для любых x,
+`zeta(x)' - зета функция Римана \zeta(s) =
+\sum_{k=1}^\infty k^{-s} для s!=1, `eta(x)' - эта функция
+\eta(s) = (1-2^{1-s}) \zeta(s) для произвольного s,
+`lp(l,x)' - полином Лежандра P_l(x), (|x|<=1, l>=0),
+`w0(x)', `w1(x)' - функции Ламберта W. Функции
+W(x) определены как решение уравнения W
+\exp(W) = x.
+
+ Экспоненциальные интегралы: `ci(x)' -
+cos-интеграл Ci(x) = \int_0^x dt \cos(t)/t, `si(x)' -
+sin-интеграл Si(x) = \int_0^x dt \sin(t)/t, `erf(x)' -
+функция ошибки erf(x) = (2/\sqrt(\pi)) \int_0^x dt
+\exp(-t^2), `ei(x)' - интеграл Ei(x) := - PV(\int_{-x}^\infty
+dt \exp(-t)/t) (где PV обозначает главное
+значение), `e1(x)' - интеграл E_1(x) := Re
+\int_1^\infty dt \exp(-xt)/t , `e2(x)' - интеграл E_2(x) := Re
+\int_1^\infty dt \exp(-xt)/t^2, `ei3(x)' - интеграл Ei_3(x) =
\int_0^x dt \exp(-t^3) для x>=0.
- Функции Бесселя: `j(nu,x)' - функция Бесселя первого рода, `y(nu,x)'
-- функция Бесселя второго рода, `i(nu,x)' - модифицированная функция
-Бесселя первого рода, `k(nu,x)' - модифицированная функция Бесселя
-второго рода.
-
- Эллиптические интегралы: `ee(k)' - полный эллиптический интеграл
-E(k) = E(\pi/2, k), `ek(k)' - полный эллиптический интеграл K(k) =
-F(\pi/2, k), `e(phi,k)' - эллиптический интеграл E(\phi,k) =
-\int_0^\phi dt \sqrt((1 - k^2 \sin^2(t))), `f(phi,k)' - эллиптический
-интеграл F(\phi,k) = \int_0^\phi dt 1/\sqrt((1 - k^2 \sin^2(t))).
-
- Функции Якоби: `sn(u,m)', `cn(u,m)', `dn(u,m)', `sc(u,m)',
-`sd(u,m)', `ns(u,m)', `cs(u,m)', `cd(u,m)', `nc(u,m)', `ds(u,m)',
-`dc(u,m)', `nd(u,m)'.
-
- Некоторые из функций могут быть недоступны если флаг NO_GSL был
-определен при компиляции библиотеки MathGL.
-
- При разборе формул нет различия между верхним и нижним регистром.
-Если аргумент лежит вне области определения функции, то возвращается
+ Функции Бесселя: `j(nu,x)' - функция
+Бесселя первого рода, `y(nu,x)' - функция
+Бесселя второго рода, `i(nu,x)' -
+модифицированная функция Бесселя
+первого рода, `k(nu,x)' - модифицированная
+функция Бесселя второго рода.
+
+ Эллиптические интегралы: `ee(k)' -
+полный эллиптический интеграл E(k) =
+E(\pi/2, k), `ek(k)' - полный эллиптический
+интеграл K(k) = F(\pi/2, k), `e(phi,k)' -
+эллиптический интеграл E(\phi,k) = \int_0^\phi dt
+\sqrt((1 - k^2 \sin^2(t))), `f(phi,k)' - эллиптический
+интеграл F(\phi,k) = \int_0^\phi dt 1/\sqrt((1 - k^2
+\sin^2(t))).
+
+ Функции Якоби: `sn(u,m)', `cn(u,m)', `dn(u,m)',
+`sc(u,m)', `sd(u,m)', `ns(u,m)', `cs(u,m)', `cd(u,m)', `nc(u,m)',
+`ds(u,m)', `dc(u,m)', `nd(u,m)'.
+
+ Некоторые из функций могут быть
+недоступны если флаг NO_GSL был определен
+при компиляции библиотеки MathGL.
+
+ При разборе формул нет различия
+между верхним и нижним регистром. Если
+аргумент лежит вне области
+определения функции, то возвращается
NaN.
@@ -588,8 +835,10 @@ File: mgl_ru.info, Node: Graphics setup, Next: Axis settings, Prev: General c
1.2 Настройка графика
=====================================
-Команды в этой группе влияют на вид всего рисунка. Соответственно они
-должны располагаться _перед_ вызовом функций непосредственно рисующих
+Команды в этой группе влияют на вид
+всего рисунка. Соответственно они
+должны располагаться _перед_ вызовом
+функций непосредственно рисующих
графики.
* Menu:
@@ -608,36 +857,53 @@ File: mgl_ru.info, Node: Transparency, Next: Lighting, Up: Graphics setup
1.2.1 Прозрачность
------------------------------
-Эти команды настраивают тип и степень прозрачности поверхностей.
-Главной является функция *note alpha::, которая включает/выключает
-прозрачность для всех графиков, созданных после вызова *note alpha::.
-Функция *note alphadef:: устанавливает величину alpha-канала по
-умолчанию. Прозрачность можно выключить для отдельного графика с
-помощью *note transparent::. Наконец, функция *note transptype:: задает
-тип прозрачности. См. раздел *note Transparent surface sample::, для
+Эти команды настраивают тип и степень
+прозрачности поверхностей. Главной
+является функция *note alpha::, которая
+включает/выключает прозрачность для
+всех графиков, созданных после вызова
+*note alpha::. Функция *note alphadef::
+устанавливает величину alpha-канала по
+умолчанию. Прозрачность можно
+выключить для отдельного графика с
+помощью *note transparent::. Наконец, функция
+*note transptype:: задает тип прозрачности. См.
+раздел *note Transparent surface sample::, для
примеров кода и графика.
-- Команда MGL: alpha `[val=on]'
- Включает/выключает прозрачность для _всего_ рисунка. По умолчанию
- прозрачность выключена. Используйте `transparent off' для
- конкретного графика для выключения прозрачности.
+ Включает/выключает прозрачность
+ для _всего_ рисунка. По умолчанию
+ прозрачность выключена.
+ Используйте `transparent off' для
+ конкретного графика для выключения
+ прозрачности.
-- Команда MGL: alphadef `val'
- Задает значение прозрачности по умолчанию для всех графиков.
+ Задает значение прозрачности по
+ умолчанию для всех графиков.
Начальное значение 0.5.
-- Команда MGL: transparent `val'
- Временно включает/возвращает прозрачность графиков.
+ Временно включает/возвращает
+ прозрачность графиков.
-- Команда MGL: transptype `val'
- Задает тип прозрачности. Обычная прозрачность (`0') - "закрытые"
- объекты видны меньше чем закрывающие. "Стеклянная" прозрачность
- (`1') - закрытые и закрывающие объекты единообразно ослабляют
- интенсивность света (по RGB каналам). "Ламповая" прозрачность
- (`2') - закрытые и закрывающие объекты являются источниками
- дополнительного освещения (рекомендую установить `alphadef 0.3'
- или меньше в этом случае). *Note Normal transparency::, *note
- Glass-like transparency::, *note Lamp-like transparency::.
+ Задает тип прозрачности. Обычная
+ прозрачность (`0') - "закрытые" объекты
+ видны меньше чем закрывающие.
+ "Стеклянная" прозрачность (`1') -
+ закрытые и закрывающие объекты
+ единообразно ослабляют
+ интенсивность света (по RGB каналам).
+ "Ламповая" прозрачность (`2') -
+ закрытые и закрывающие объекты
+ являются источниками
+ дополнительного освещения
+ (рекомендую установить `alphadef 0.3' или
+ меньше в этом случае). *Note Normal
+ transparency::, *note Glass-like transparency::, *note Lamp-like
+ transparency::.
File: mgl_ru.info, Node: Lighting, Next: Fog, Prev: Transparency, Up: Graphics setup
@@ -645,27 +911,36 @@ File: mgl_ru.info, Node: Lighting, Next: Fog, Prev: Transparency, Up: Graphi
1.2.2 Освещение
------------------------
-Эти функции настраивают освещение графика. Главная функция *note
-light:: включает/выключает освещение графиков построенных после ее
-вызова. MathGL поддерживает до 10 независимых источников света.
-Положение, цвет, яркость каждого источника света можно задавать по
-отдельности. По умолчанию включен только первый (с порядковым номером
-`0') источник света белого цвета, расположенный сверху.
+Эти функции настраивают освещение
+графика. Главная функция *note light::
+включает/выключает освещение графиков
+построенных после ее вызова. MathGL
+поддерживает до 10 независимых
+источников света. Положение, цвет,
+яркость каждого источника света можно
+задавать по отдельности. По умолчанию
+включен только первый (с порядковым
+номером `0') источник света белого
+цвета, расположенный сверху.
-- Команда MGL: light `[val=on]'
- Включает/выключает освещение графика. По умолчанию освещение
+ Включает/выключает освещение
+ графика. По умолчанию освещение
выключено.
-- Команда MGL: light `n val'
- Включает/выключает N-ый источник света.
+ Включает/выключает N-ый источник
+ света.
-- Команда MGL: light `n xpos ypos zpos' ['col'='w' `br=0.5']
- Добавляет источник света с номером N в положение {XPOS, YPOS,
- ZPOS} с цветом COL и яркостью BR, которая должна быть в диапазоне
- [0,1].
+ Добавляет источник света с номером N
+ в положение {XPOS, YPOS, ZPOS} с цветом COL и
+ яркостью BR, которая должна быть в
+ диапазоне [0,1].
-- Команда MGL: ambient `val'
- Задает яркость рассеянного освещения. Значение должно быть в
+ Задает яркость рассеянного
+ освещения. Значение должно быть в
диапазоне [0,1].
@@ -675,12 +950,15 @@ File: mgl_ru.info, Node: Fog, Next: Default sizes, Prev: Lighting, Up: Graph
----------------
-- Команда MGL: fog `val [dz=0.25]'
- Имитирует туман на графике. Туман начинается на относительном
- расстоянии DZ от точки обзора и его плотность растет
- экспоненциально вглубь по закону ~1-exp(-d*z). Здесь _z_ -
- нормализованная на 1 глубина графика. Если D=`0' то туман
- отсутствует. См. раздел *note Surface in fog sample::, для
- примеров кода и графика.
+ Имитирует туман на графике. Туман
+ начинается на относительном
+ расстоянии DZ от точки обзора и его
+ плотность растет экспоненциально
+ вглубь по закону ~1-exp(-d*z). Здесь _z_ -
+ нормализованная на 1 глубина
+ графика. Если D=`0' то туман
+ отсутствует. См. раздел *note Surface in fog
+ sample::, для примеров кода и графика.
File: mgl_ru.info, Node: Default sizes, Next: Zooming, Prev: Fog, Up: Graphics setup
@@ -688,38 +966,52 @@ File: mgl_ru.info, Node: Default sizes, Next: Zooming, Prev: Fog, Up: Graphi
1.2.4 Базовые размеры
-----------------------------------
-Эти команды задают величины большинства параметров графика, включая
-размеры маркеров, стрелок, толщину линий и т.д. Как и любые другие
-настройки, они подействуют только на графики созданные после изменения
+Эти команды задают величины
+большинства параметров графика,
+включая размеры маркеров, стрелок,
+толщину линий и т.д. Как и любые другие
+настройки, они подействуют только на
+графики созданные после изменения
настроек.
-- Команда MGL: barwidth `val'
- Относительный размер прямоугольников в `bars, barh, boxplot'.
+ Относительный размер
+ прямоугольников в `bars, barh, boxplot'.
Значение по умолчанию `0.7'.
-- Команда MGL: marksize `val'
- Размер маркеров для *note 1D plotting::. Значение по умолчанию `1'.
+ Размер маркеров для *note 1D plotting::.
+ Значение по умолчанию `1'.
-- Команда MGL: arrowsize `val'
- Размер стрелок для *note 1D plotting::, линий и кривых (*note
- Primitives drawing::). Значение по умолчанию `1'.
+ Размер стрелок для *note 1D plotting::, линий
+ и кривых (*note Primitives drawing::). Значение
+ по умолчанию `1'.
-- Команда MGL: linewidth `val'
- Базовая толщина линий. Значения <1 игнорируются. Для значений >1
- реальная толщина получается перемножением указанной ширины линии
- на данное значение. Увеличение ширины линии актуально для больших
- растровых рисунков. Значение по умолчанию `1'.
+ Базовая толщина линий. Значения <1
+ игнорируются. Для значений >1
+ реальная толщина получается
+ перемножением указанной ширины
+ линии на данное значение.
+ Увеличение ширины линии актуально
+ для больших растровых рисунков.
+ Значение по умолчанию `1'.
-- Команда MGL: ticklen `val' [`stt=1']
- Относительная длина меток осей координат. Значение по умолчанию
- `0.1'. Параметр STT>0 задает относительную длину подметок, которые
- в `sqrt(1+stt)' раз меньше.
+ Относительная длина меток осей
+ координат. Значение по умолчанию
+ `0.1'. Параметр STT>0 задает
+ относительную длину подметок,
+ которые в `sqrt(1+stt)' раз меньше.
-- Команда MGL: tickstl 'stl' ['sub'="]
- Стиль меток (STL) и подметок (SUB) осей координат. Если `stl=''',
- то используется стиль по умолчанию (`k' или `w' в зависимости от
- типа прозрачности). Если `sub=''', то используется стиль меток
- (т.е. STL).
+ Стиль меток (STL) и подметок (SUB) осей
+ координат. Если `stl=''', то
+ используется стиль по умолчанию (`k'
+ или `w' в зависимости от типа
+ прозрачности). Если `sub=''', то
+ используется стиль меток (т.е. STL).
File: mgl_ru.info, Node: Zooming, Next: Cutting, Prev: Default sizes, Up: Graphics setup
@@ -727,23 +1019,34 @@ File: mgl_ru.info, Node: Zooming, Next: Cutting, Prev: Default sizes, Up: Gr
1.2.5 Масштабирование
------------------------------------
-Эти команды управляют масштабированием всего рисунка (*note zoom::) или
-отдельной картинки (*note plotfactor::). Обычно эти функции
-используются для удаления пустого места вокруг графиков.
+Эти команды управляют
+масштабированием всего рисунка (*note
+zoom::) или отдельной картинки (*note
+plotfactor::). Обычно эти функции
+используются для удаления пустого
+места вокруг графиков.
-- Команда MGL: plotfactor `val'
- Масштаб картинки (значение должно быть больше 1). Не рекомендуется
- устанавливать значения меньше 1.5. Это аналог *note zoom::, но
- применяется только к конкретной картинке, заданной *note inplot::.
- Используйте ноль для включения автоматического масштабирования.
+ Масштаб картинки (значение должно
+ быть больше 1). Не рекомендуется
+ устанавливать значения меньше 1.5.
+ Это аналог *note zoom::, но применяется
+ только к конкретной картинке,
+ заданной *note inplot::. Используйте ноль
+ для включения автоматического
+ масштабирования.
-- Команда MGL: zoom `x1 y1 x2 y2'
- Масштабирует весь рисунок. После вызова функции текущий график
- будет очищен и в дальнейшем рисунок будет содержать только область
- [x1,x2]*[y1,y2] от исходного рисунка. Координаты X1, X2, Y1, Y2
- меняются в диапазоне от 0 до 1. Внимание! эти настройки не могут
- быть переписаны никакими другими функциями. Используйте `zoom 0 0
- 1 1' для перехода в масштаб по умолчанию.
+ Масштабирует весь рисунок. После
+ вызова функции текущий график будет
+ очищен и в дальнейшем рисунок будет
+ содержать только область [x1,x2]*[y1,y2]
+ от исходного рисунка. Координаты X1,
+ X2, Y1, Y2 меняются в диапазоне от 0 до 1.
+ Внимание! эти настройки не могут
+ быть переписаны никакими другими
+ функциями. Используйте `zoom 0 0 1 1' для
+ перехода в масштаб по умолчанию.
File: mgl_ru.info, Node: Cutting, Next: Other settings, Prev: Zooming, Up: Graphics setup
@@ -751,26 +1054,39 @@ File: mgl_ru.info, Node: Cutting, Next: Other settings, Prev: Zooming, Up: G
1.2.6 Обрезание
------------------------
-Эти команды задают условия когда точка будет исключена (вырезана) из
-рисования. Замечу, что все точки со значением(-ями) `nan' по одной из
-координат или амплитуде автоматически исключаются из рисования.
+Эти команды задают условия когда точка
+будет исключена (вырезана) из
+рисования. Замечу, что все точки со
+значением(-ями) `nan' по одной из
+координат или амплитуде автоматически
+исключаются из рисования.
-- Команда MGL: cut `val'
- Задает обрезание точек за пределами осей координат. Если `on' то
- такие точки исключаются из рисования (это по умолчанию) иначе они
- проецируются на ограничивающий прямоугольник.
+ Задает обрезание точек за пределами
+ осей координат. Если `on' то такие
+ точки исключаются из рисования (это
+ по умолчанию) иначе они
+ проецируются на ограничивающий
+ прямоугольник.
-- Команда MGL: cut `x1 y1 z1 x2 y2 z2'
- Задает границы параллелепипеда внутри которого точки не рисуются.
- Если границы одинаковы (переменные равны), то параллелепипеда
- считается пустым. См. раздел *note CutMinMax sample::, для
- примеров кода и графика.
+ Задает границы параллелепипеда
+ внутри которого точки не рисуются.
+ Если границы одинаковы (переменные
+ равны), то параллелепипеда
+ считается пустым. См. раздел *note
+ CutMinMax sample::, для примеров кода и
+ графика.
-- Команда MGL: cut 'cond'
- Задает условие обрезания по формуле COND. Это условие исключает
- точки из рисования если результат вычисления формулы не равен
- нулю. Установите аргумент `''' для выключения условия обрезания.
- См. раздел *note CutOff sample::, для примеров кода и графика.
+ Задает условие обрезания по формуле
+ COND. Это условие исключает точки из
+ рисования если результат
+ вычисления формулы не равен нулю.
+ Установите аргумент `''' для
+ выключения условия обрезания. См.
+ раздел *note CutOff sample::, для примеров
+ кода и графика.
File: mgl_ru.info, Node: Other settings, Prev: Cutting, Up: Graphics setup
@@ -779,33 +1095,44 @@ File: mgl_ru.info, Node: Other settings, Prev: Cutting, Up: Graphics setup
-------------------------------------
-- Команда MGL: font 'fnt' [`val=6']
- Задает стиль и размер шрифта (*note Text printing::). Вначале
- используется `rC' - прямой шрифт с выравниванием по центру. По
- умолчанию размер подписей оси координат в 1.4 раза больше.
+ Задает стиль и размер шрифта (*note Text
+ printing::). Вначале используется `rC' -
+ прямой шрифт с выравниванием по
+ центру. По умолчанию размер
+ подписей оси координат в 1.4 раза
+ больше.
-- Команда MGL: rotatetext `val'
- Включает/выключает вращение меток и подписей осей координат вдоль
- оси. Начальное значение `on'.
+ Включает/выключает вращение меток и
+ подписей осей координат вдоль оси.
+ Начальное значение `on'.
-- Команда MGL: palette 'colors'
- Задает палитру как последовательность цветов. Значение по
- умолчанию `"Hbgrcmyhlnqeup"', что соответствует цветам: темно
- серый `H', синий `b', зеленый `g', красный `r', голубой `c',
- малиновый `m', желтый `y', серый `h', сине-зеленый `l',
- небесно-голубой `n', оранжевый `q', желто-зеленый `e',
- сине-фиолетовый `u', фиолетовый `p'. Палитра в основном
- используется в 1D графиках (*note 1D plotting::) для кривых с
- неопределенным стилем линии.
+ Задает палитру как
+ последовательность цветов.
+ Значение по умолчанию `"Hbgrcmyhlnqeup"',
+ что соответствует цветам: темно
+ серый `H', синий `b', зеленый `g', красный
+ `r', голубой `c', малиновый `m', желтый `y',
+ серый `h', сине-зеленый `l',
+ небесно-голубой `n', оранжевый `q',
+ желто-зеленый `e', сине-фиолетовый `u',
+ фиолетовый `p'. Палитра в основном
+ используется в 1D графиках (*note 1D
+ plotting::) для кривых с неопределенным
+ стилем линии.
-- Команда MGL: meshnum `num'
- Задает ориентировочное число линий в *note mesh::, *note fall::,
- *note grid::, число стрелок (штрихов) в *note vect::, *note dew::
- и число ячеек в *note cloud::. По умолчанию (=0) рисуются все
- линии, стрелки, ячейки.
+ Задает ориентировочное число линий
+ в *note mesh::, *note fall::, *note grid::, число
+ стрелок (штрихов) в *note vect::, *note dew:: и
+ число ячеек в *note cloud::. По умолчанию
+ (=0) рисуются все линии, стрелки,
+ ячейки.
-- Команда MGL: axialdir 'dir'
- Задает ось вращения для *note axial::, *note torus::. По умолчанию
- это 'z'.
+ Задает ось вращения для *note axial::, *note
+ torus::. По умолчанию это 'z'.
File: mgl_ru.info, Node: Axis settings, Next: Transformation matrix, Prev: Graphics setup, Up: MGL interface
@@ -813,117 +1140,161 @@ File: mgl_ru.info, Node: Axis settings, Next: Transformation matrix, Prev: Gr
1.3 Параметры осей координат
==================================================
-Этот большой набор команд определяет вид осей и меток координат. Перед
-построением для каждой точки выполняются 3 преобразования: сначала
-определяется возможность рисования точки (*note Cutting::), далее
-применяются формулы перехода к криволинейным координатам и наконец
-точка отображается.
+Этот большой набор команд определяет
+вид осей и меток координат. Перед
+построением для каждой точки
+выполняются 3 преобразования: сначала
+определяется возможность рисования
+точки (*note Cutting::), далее применяются
+формулы перехода к криволинейным
+координатам и наконец точка
+отображается.
-- Команда MGL: axis `x1 y1 x2 y2'
-- Команда MGL: axis `x1 y1 z1 x2 y2 z2'
-- Команда MGL: ranges `x1 x2 y1 y2 [z1=0 z2=0]'
- Задает диапазон изменения координат. Если минимальное и
- максимальное значение координаты равны, то они игнорируются по
- данному направлению. Также устанавливает размер цветовой шкалы,
- аналогично команде `caxis z1 z2'. Начальные диапазоны равны [-1,
- 1].
+ Задает диапазон изменения
+ координат. Если минимальное и
+ максимальное значение координаты
+ равны, то они игнорируются по
+ данному направлению. Также
+ устанавливает размер цветовой
+ шкалы, аналогично команде `caxis z1 z2'.
+ Начальные диапазоны равны [-1, 1].
-- Команда MGL: axis 'fx' 'fy' ['fz'=" 'fa'="]
- Задает формулы перехода к криволинейным координатам. Каждая строка
- является математическим выражением, зависящим от старых координат
- `x', `y', `z' и `a' или `c' для цветовой шкалы. Например, для
- цилиндрических координат будет `axis 'x*cos(y)' 'x*sin(y)' 'z''.
- Для удаления формул соответствующий параметр должен быть пустым
- `'''. Использование формул преобразования слегка замедляет
- программу, т.е.. `axis '' '' ''' быстрее чем `axis '1*x' '1*y'
- '1*z''. Параметр FA задает аналогичную формулу для цветовой шкалы.
- *Note Textual formulas::.
+ Задает формулы перехода к
+ криволинейным координатам. Каждая
+ строка является математическим
+ выражением, зависящим от старых
+ координат `x', `y', `z' и `a' или `c' для
+ цветовой шкалы. Например, для
+ цилиндрических координат будет `axis
+ 'x*cos(y)' 'x*sin(y)' 'z''. Для удаления формул
+ соответствующий параметр должен
+ быть пустым `'''. Использование
+ формул преобразования слегка
+ замедляет программу, т.е.. `axis '' '' '''
+ быстрее чем `axis '1*x' '1*y' '1*z''. Параметр
+ FA задает аналогичную формулу для
+ цветовой шкалы. *Note Textual formulas::.
-- Команда MGL: axis `how'
- Устанавливает одну из предопределенных систем криволинейных
- координат в зависимости от параметра HOW: `0' - декартова система
- (нет преобразования координат, наиболее быстрая); `1' - полярные
- координаты x_n=x*cos(y),y_n=x*sin(y), z_n=z; `2' - сферические
- координаты x_n=x*sin(y)*cos(z), y_n=x*sin(y)*sin(z), z_n=x*cos(y);
- `3' - параболические координаты x_n=x*y, y_n=(x*x-y*y)/2, z_n=z;
- `4' - Paraboloidal coordinates x_n=(x*x-y*y)*cos(z)/2,
+ Устанавливает одну из
+ предопределенных систем
+ криволинейных координат в
+ зависимости от параметра HOW: `0' -
+ декартова система (нет
+ преобразования координат, наиболее
+ быстрая); `1' - полярные координаты
+ x_n=x*cos(y),y_n=x*sin(y), z_n=z; `2' - сферические
+ координаты x_n=x*sin(y)*cos(z), y_n=x*sin(y)*sin(z),
+ z_n=x*cos(y); `3' - параболические
+ координаты x_n=x*y, y_n=(x*x-y*y)/2, z_n=z; `4' -
+ Paraboloidal coordinates x_n=(x*x-y*y)*cos(z)/2,
y_n=(x*x-y*y)*sin(z)/2, z_n=x*y; `5' - Oblate coordinates
x_n=cosh(x)*cos(y)*cos(z), y_n=cosh(x)*cos(y)*sin(z),
z_n=sinh(x)*sin(y); `6' - Prolate coordinates
x_n=sinh(x)*sin(y)*cos(z), y_n=sinh(x)*sin(y)*sin(z),
- z_n=cosh(x)*cos(y); `7' - эллиптические координаты
- x_n=cosh(x)*cos(y), y_n=sinh(x)*sin(y), z_n=z; `8' - тороидальные
- координаты x_n=sinh(x)*cos(z)/(cosh(x)-cos(y)),
+ z_n=cosh(x)*cos(y); `7' - эллиптические
+ координаты x_n=cosh(x)*cos(y), y_n=sinh(x)*sin(y),
+ z_n=z; `8' - тороидальные координаты
+ x_n=sinh(x)*cos(z)/(cosh(x)-cos(y)),
y_n=sinh(x)*sin(z)/(cosh(x)-cos(y)), z_n=sin(y)/(cosh(x)-cos(y));
- `9' - бисферические координаты x_n=sin(y)*cos(z)/(cosh(x)-cos(y)),
+ `9' - бисферические координаты
+ x_n=sin(y)*cos(z)/(cosh(x)-cos(y)),
y_n=sin(y)*sin(z)/(cosh(x)-cos(y)), z_n=sinh(x)/(cosh(x)-cos(y));
- `10' - биполярные координаты x_n=sinh(x)/(cosh(x)-cos(y)),
- y_n=sin(y)/(cosh(x)-cos(y)), z_n=z.
+ `10' - биполярные координаты
+ x_n=sinh(x)/(cosh(x)-cos(y)), y_n=sin(y)/(cosh(x)-cos(y)), z_n=z.
-- Команда MGL: caxis `z1 z2'
- Задает масштаб цветовой шкалы (c-координаты). Эти значения
- используются для определения цвета поверхностей и прочих 2D и 3D
- графиков. Начальный диапазон равен [-1, 1].
+ Задает масштаб цветовой шкалы
+ (c-координаты). Эти значения
+ используются для определения цвета
+ поверхностей и прочих 2D и 3D
+ графиков. Начальный диапазон равен
+ [-1, 1].
-- Команда MGL: origin `x0 y0 [z0=nan]'
- Задает центр пересечения осей координат. Если одно из значений
- равно `nan', то выбрается оптимальное положение осей координат по
- этому направлению.
+ Задает центр пересечения осей
+ координат. Если одно из значений
+ равно `nan', то выбрается оптимальное
+ положение осей координат по этому
+ направлению.
-- Команда MGL: ternary `val'
- Задает рисование треугольных (Ternary) осей координат. Это
- специальный тип графика для 3 зависимых координат (компонент) A,
- B, C таких, что A+B+C=1. MathGL использует только 2 независимые
- координаты A=x и B=y поскольку их достаточно для построения всех
- графиков. При этом третья координата z является независимым
- параметром для построения линий уровня, поверхностей и т.д. См.
- раздел *note Ternary plot sample::, для примеров кода и графика.
+ Задает рисование треугольных (Ternary)
+ осей координат. Это специальный тип
+ графика для 3 зависимых координат
+ (компонент) A, B, C таких, что A+B+C=1. MathGL
+ использует только 2 независимые
+ координаты A=x и B=y поскольку их
+ достаточно для построения всех
+ графиков. При этом третья
+ координата z является независимым
+ параметром для построения линий
+ уровня, поверхностей и т.д. См.
+ раздел *note Ternary plot sample::, для примеров
+ кода и графика.
-- Команда MGL: xrange dat [`add=off fact=0']
-- Команда MGL: yrange dat [`add=off fact=0']
-- Команда MGL: zrange dat [`add=off fact=0']
-- Команда MGL: crange dat [`add=off fact=0']
- Задает диапазон изменения x-,y-,z-,c- координат как минимальное и
- максимальное значение массива DAT. Параметр ADD указывает
- добавлять новый диапазон к существующему или заменять его.
- Параметр FACT дополнительно расширяет диапазон на величину
- (MAX-MIN)*FACT.
+ Задает диапазон изменения x-,y-,z-,c-
+ координат как минимальное и
+ максимальное значение массива DAT.
+ Параметр ADD указывает добавлять
+ новый диапазон к существующему или
+ заменять его. Параметр FACT
+ дополнительно расширяет диапазон
+ на величину (MAX-MIN)*FACT.
-- Команда MGL: xrange `x1 x2'
-- Команда MGL: yrange `x1 x2'
-- Команда MGL: zrange `x1 x2'
-- Команда MGL: crange `x1 x2'
- Задает диапазон изменения x-,y-,z-,c- координат. См. также *note
- axis::.
+ Задает диапазон изменения x-,y-,z-,c-
+ координат. См. также *note axis::.
-- Команда MGL: xtick `val [sub=0 org=nan]'
-- Команда MGL: ytick `val [sub=0 org=nan]'
-- Команда MGL: ztick `val [sub=0 org=nan]'
-- Команда MGL: ctick `val'
- Задает шаг меток осей VAL, число подметок NS и начальное положение
- меток ORG. Переменная VAL задает шаг меток (если положительна) или
- их число на оси (если отрицательна). Нулевое значение задает
- логарифмические метки. Если ORG=`NAN', то используется значение из
- *note origin::.
+ Задает шаг меток осей VAL, число
+ подметок NS и начальное положение
+ меток ORG. Переменная VAL задает шаг
+ меток (если положительна) или их
+ число на оси (если отрицательна).
+ Нулевое значение задает
+ логарифмические метки. Если ORG=`NAN',
+ то используется значение из *note origin::.
-- Команда MGL: xtick 'templ'
-- Команда MGL: ytick 'templ'
-- Команда MGL: ztick 'templ'
-- Команда MGL: ctick 'templ'
- Задает шаблоны для меток вдоль x-,y-,z-оси или colorbar. Шаблон
- может содержать и символы TeX. Если XTT, YTT, ZTT, CTT=`''', то
- используется шаблон по умолчанию (в простейшем случае `%.2g').
- Установка шаблона выключает автоматическое улучшение вида меток.
+ Задает шаблоны для меток вдоль
+ x-,y-,z-оси или colorbar. Шаблон может
+ содержать и символы TeX. Если XTT, YTT, ZTT,
+ CTT=`''', то используется шаблон по
+ умолчанию (в простейшем случае `%.2g').
+ Установка шаблона выключает
+ автоматическое улучшение вида
+ меток.
-- Команда MGL: xtick `val1' 'lbl1' [`val2' 'lbl2' ...]
-- Команда MGL: ytick `val1' 'lbl1' [`val2' 'lbl2' ...]
-- Команда MGL: ztick `val1' 'lbl1' [`val2' 'lbl2' ...]
- Задает явное положение VAL и подписи LBL для меток вдоль оси.
- Метки могут содержать и символы TeX.
+ Задает явное положение VAL и подписи
+ LBL для меток вдоль оси. Метки могут
+ содержать и символы TeX.
-- Команда MGL: adjust ['dir'='xyzc']
- Автоматически задает шаг меток осей, число подметок и начальное
- положение меток для осей координат DIR в виде наиболее удобном для
+ Автоматически задает шаг меток
+ осей, число подметок и начальное
+ положение меток для осей координат
+ DIR в виде наиболее удобном для
человека.
@@ -932,68 +1303,99 @@ File: mgl_ru.info, Node: Transformation matrix, Next: Export to file, Prev: A
1.4 Матрица преобразования
===============================================
-Эти команды контролируют где и как график будет расположен. Существует
-определенный порядок вызова этих функций для лучшего вида графика.
-Вначале должны вызываться команды *note subplot:: или *note inplot::
-для указания местоположения вывода. После них - команды вращения *note
-rotate:: и сжатия *note aspect::. И наконец любые другие функции для
-рисования графика. Вместо вращения графика можно вызвать команды *note
-columnplot:: для расположения графиков в столбец одного над другим или
-*note stickplot:: для расположения в линейку.
+Эти команды контролируют где и как
+график будет расположен. Существует
+определенный порядок вызова этих
+функций для лучшего вида графика.
+Вначале должны вызываться команды *note
+subplot:: или *note inplot:: для указания
+местоположения вывода. После них -
+команды вращения *note rotate:: и сжатия *note
+aspect::. И наконец любые другие функции
+для рисования графика. Вместо вращения
+графика можно вызвать команды *note
+columnplot:: для расположения графиков в
+столбец одного над другим или *note
+stickplot:: для расположения в линейку.
-- Команда MGL: subplot `nx ny m [dx=0 dy=0]'
- Помещает последующий вывод в M-ую ячейку сетки размером NX*NY от
- всего рисунка. Функция сбрасывает матрицу трансформации (повороты
- и сжатие графика) и должна вызываться первой для создания
- "подграфика". С эстетической точки зрения не рекомендуется
- вызывать эту функцию с различными (или не кратными) размерами
- сетки. Ячейка может быть дополнительно сдвинута относительно
- своего обычного положения на относительный размер DX, DY.
+ Помещает последующий вывод в M-ую
+ ячейку сетки размером NX*NY от всего
+ рисунка. Функция сбрасывает матрицу
+ трансформации (повороты и сжатие
+ графика) и должна вызываться первой
+ для создания "подграфика". С
+ эстетической точки зрения не
+ рекомендуется вызывать эту функцию
+ с различными (или не кратными)
+ размерами сетки. Ячейка может быть
+ дополнительно сдвинута
+ относительно своего обычного
+ положения на относительный размер
+ DX, DY.
-- Команда MGL: subplot `nx ny m' 'style'
- Аналогично предыдущему, но место для осей/colorbar резервируется
- только если строка STYLE содержит: `L' или `<' - с левого края,
- `R' или `>' - с правого края, `A' или `^' - с верхнего края, `U'
+ Аналогично предыдущему, но место
+ для осей/colorbar резервируется только
+ если строка STYLE содержит: `L' или `<' - с
+ левого края, `R' или `>' - с правого
+ края, `A' или `^' - с верхнего края, `U'
или `_' - с нижнего края.
-- Команда MGL: inplot `x1 x2 y1 y2 [rel=off]'
- Помещает последующий вывод в прямоугольную область [X1, X2]*[Y1,
- Y2] (исходный размер [0,1]*[0,1]). Эта функция позволяет поместить
- график в произвольную область рисунка. Если параметр REL=`on', то
- используется позиция относительно текщего *note subplot:: (или
- *note inplot:: с REL=`off'). Функция сбрасывает матрицу
- трансформации (повороты и сжатие графика) и должна вызываться
- первой для создания "подграфика".
+ Помещает последующий вывод в
+ прямоугольную область [X1, X2]*[Y1, Y2]
+ (исходный размер [0,1]*[0,1]). Эта функция
+ позволяет поместить график в
+ произвольную область рисунка. Если
+ параметр REL=`on', то используется
+ позиция относительно текщего *note
+ subplot:: (или *note inplot:: с REL=`off'). Функция
+ сбрасывает матрицу трансформации
+ (повороты и сжатие графика) и должна
+ вызываться первой для создания
+ "подграфика".
-- Команда MGL: columnplot `num ind [d=0]'
- Помещает последующий вывод в IND-ую строку столбца из NUM строк.
- Положение столбца выбирается относительно последнего вызова *note
- subplot:: (или *note inplot:: с REL=`off'). Параметр D задает
- дополнительный зазор между строк. См. раздел *note ColumnPlot
- sample::, для примеров кода и графика.
+ Помещает последующий вывод в IND-ую
+ строку столбца из NUM строк.
+ Положение столбца выбирается
+ относительно последнего вызова *note
+ subplot:: (или *note inplot:: с REL=`off'). Параметр D
+ задает дополнительный зазор между
+ строк. См. раздел *note ColumnPlot sample::, для
+ примеров кода и графика.
-- Команда MGL: stickplot `num ind tet phi'
- Помещает последующий вывод в IND-ую ячейку "бруска" из NUM ячеек.
- При этом сам брусок повернут на углы TET, PHI. Положение
- выбирается относительно последнего вызова *note subplot:: (или
- *note inplot:: с REL=`off'). См. раздел *note StickPlot sample::,
- для примеров кода и графика.
+ Помещает последующий вывод в IND-ую
+ ячейку "бруска" из NUM ячеек. При этом
+ сам брусок повернут на углы TET, PHI.
+ Положение выбирается относительно
+ последнего вызова *note subplot:: (или *note
+ inplot:: с REL=`off'). См. раздел *note StickPlot
+ sample::, для примеров кода и графика.
-- Команда MGL: rotate `tetz tetx [tety=0]'
- Вращает систему координат относительно осей {x, z, y}
+ Вращает систему координат
+ относительно осей {x, z, y}
последовательно на углы TETX, TETZ, TETY.
-- Команда MGL: rotate `tet x y z'
- Вращает систему координат относительно вектора {X, Y, Z} на угол
+ Вращает систему координат
+ относительно вектора {X, Y, Z} на угол
TET.
-- Команда MGL: aspect `ax ay [az=1]'
- Устанавливает соотношение размеров осей в отношении AX:AY:AZ. Для
- лучшего вида следует вызывать после функции *note rotate::.
+ Устанавливает соотношение размеров
+ осей в отношении AX:AY:AZ. Для лучшего
+ вида следует вызывать после функции
+ *note rotate::.
-- Команда MGL: perspective `val'
- Добавляет (включает) перспективу для графика. Параметр val ~
- 1/z_{eff} \in [0,1). По умолчанию (`val=0') перспектива отключена.
+ Добавляет (включает) перспективу
+ для графика. Параметр val ~ 1/z_{eff} \in [0,1).
+ По умолчанию (`val=0') перспектива
+ отключена.
File: mgl_ru.info, Node: Export to file, Next: Primitives drawing, Prev: Transformation matrix, Up: MGL interface
@@ -1002,15 +1404,22 @@ File: mgl_ru.info, Node: Export to file, Next: Primitives drawing, Prev: Tran
==============================
-- Команда MGL: write 'fname' [`solid=off']
- Экспортирует текущий кадр в файл 'fname' (тип определяется по
- расширению). Параметр SOLID задает вывод картинки на текущем фоне
- (обычно белом) или полупрозрачной. Если 'fname'=", то используется
- имя `frame####.jpg', где `####' - текущий номер кадра.
+ Экспортирует текущий кадр в файл
+ 'fname' (тип определяется по
+ расширению). Параметр SOLID задает
+ вывод картинки на текущем фоне
+ (обычно белом) или полупрозрачной.
+ Если 'fname'=", то используется имя
+ `frame####.jpg', где `####' - текущий номер
+ кадра.
-- Команда MGL: setsize `w h'
- Изменяет размер картинки в пикселях. Функция должна вызываться
- *перед* любыми функциями построения потому что полностью очищает
- содержимое рисунка. В некоторых программах исполнение этой команды
+ Изменяет размер картинки в
+ пикселях. Функция должна вызываться
+ *перед* любыми функциями построения
+ потому что полностью очищает
+ содержимое рисунка. В некоторых
+ программах исполнение этой команды
может запрещено.
@@ -1019,68 +1428,94 @@ File: mgl_ru.info, Node: Primitives drawing, Next: Text printing, Prev: Expor
1.6 Рисование примитивов
===========================================
-Эти команды рисуют рисуют простые объекты типа линий, точек, сфер,
-капель, конусов, и т.д.
+Эти команды рисуют рисуют простые
+объекты типа линий, точек, сфер, капель,
+конусов, и т.д.
-- Команда MGL: clf
- Очищает рисунок и заполняет его цветом по умолчанию (обычно белым).
+ Очищает рисунок и заполняет его
+ цветом по умолчанию (обычно белым).
-- Команда MGL: ball `x y' ['col'='r']
-- Команда MGL: ball `x y z' ['col'='r']
- Рисует точку (шарик) с координатами {X, Y, Z} и цветом COL.
+ Рисует точку (шарик) с координатами
+ {X, Y, Z} и цветом COL.
-- Команда MGL: line `x1 y1 x2 y2' ['stl'="]
-- Команда MGL: line `x1 y1 z1 x2 y2 z2' ['stl'="]
- Рисует геодезическую линию (декартовых координатах - прямую) из
- точки {X1,Y1,Z1} в {X2,Y2,Z2} использую стиль линии STL. Кривая
- рисуется даже если часть ее лежит вне диапазона осей координат.
+ Рисует геодезическую линию
+ (декартовых координатах - прямую) из
+ точки {X1,Y1,Z1} в {X2,Y2,Z2} использую стиль
+ линии STL. Кривая рисуется даже если
+ часть ее лежит вне диапазона осей
+ координат.
-- Команда MGL: curve `x1 y1 dx1 dy1 x2 y2 dx2 dy2' ['stl'="]
- -- Команда MGL: curve `x1 y1 z1 dx1 dy1 dz1 x2 y2 z2 dx2 dy2 dz2'
- ['stl'="]
- Рисует кривую Безье из точки {X1,Y1,Z1} в {X2,Y2,Z2} использую
- стиль линии STL. Касательные в точках пропорциональны
- {DX1,DY1,DZ1}, {DX2,DY2,DZ2}. Кривая рисуется даже если часть ее
+ -- Команда MGL: curve `x1 y1 z1 dx1 dy1 dz1 x2 y2 z2 dx2 dy2
+ dz2' ['stl'="]
+ Рисует кривую Безье из точки {X1,Y1,Z1} в
+ {X2,Y2,Z2} использую стиль линии STL.
+ Касательные в точках
+ пропорциональны {DX1,DY1,DZ1}, {DX2,DY2,DZ2}.
+ Кривая рисуется даже если часть ее
лежит вне диапазона осей координат.
-- Команда MGL: facex `x0 y0 z0 wy wz' ['stl'=" `d1=0 d2=0']
-- Команда MGL: facey `x0 y0 z0 wx wz' ['stl'=" `d1=0 d2=0']
-- Команда MGL: facez `x0 y0 z0 wx wy' ['stl'=" `d1=0 d2=0']
- Рисует закрашенный прямоугольник (грань) перпендикулярно оси
- [x,y,z] в точке {X0, Y0, Z0} цветом STL и шириной WX, WY, WZ вдоль
- соответствующего направления. При этом цвет может быть один для
- всей грани, или различным для разных вершин если указаны все 4
- цвета (полезно для градиента цвета, например `wwrr'). Параметры
- D1!=0, D2!=0 задают дополнительный сдвиг последней точки (т.е.
- рисуют четырехугольник). Грань будет нарисована даже если часть ее
- лежит вне диапазона осей координат.
+ Рисует закрашенный прямоугольник
+ (грань) перпендикулярно оси [x,y,z] в
+ точке {X0, Y0, Z0} цветом STL и шириной WX, WY,
+ WZ вдоль соответствующего
+ направления. При этом цвет может
+ быть один для всей грани, или
+ различным для разных вершин если
+ указаны все 4 цвета (полезно для
+ градиента цвета, например `wwrr').
+ Параметры D1!=0, D2!=0 задают
+ дополнительный сдвиг последней
+ точки (т.е. рисуют четырехугольник).
+ Грань будет нарисована даже если
+ часть ее лежит вне диапазона осей
+ координат.
-- Команда MGL: sphere `x0 y0 r' ['col'='r']
-- Команда MGL: sphere `x0 y0 z0 r' ['col'='r']
- Рисует сферу радиуса R с центром в точке {X, Y, Z} цветом STL.
+ Рисует сферу радиуса R с центром в
+ точке {X, Y, Z} цветом STL.
-- Команда MGL: drop `x0 y0 dx dy r' ['col'='b' `sh=1 asp=1']
- -- Команда MGL: drop `x0 y0 z0 dx dy dz r' ['col'='b' `sh=1 asp=1']
- Рисует каплю радиуса R в точке {X0,Y0,Z0} вытянутую вдоль
- направления {DX,DY,DZ} цветом COL. Параметр SH определяет степень
- вытянутости: `0' - сфера, `1' - классическая капля. Параметр ASP
- определяет относительную ширину капли (аналог "эллиптичности" для
- сферы). См. раздел *note Drops sample::, для примеров кода и
- графика.
+ -- Команда MGL: drop `x0 y0 z0 dx dy dz r' ['col'='b' `sh=1
+ asp=1']
+ Рисует каплю радиуса R в точке {X0,Y0,Z0}
+ вытянутую вдоль направления {DX,DY,DZ}
+ цветом COL. Параметр SH определяет
+ степень вытянутости: `0' - сфера, `1' -
+ классическая капля. Параметр ASP
+ определяет относительную ширину
+ капли (аналог "эллиптичности" для
+ сферы). См. раздел *note Drops sample::, для
+ примеров кода и графика.
-- Команда MGL: cone `x1 y1 z1 x2 y2 z2 r1' [`r2=-1' 'stl'="
`edge=off']
- Рисует трубу (или усеченный конус если EDGE=`off') между точками
- {X1,Y1,Z1}, {X2,Y2,Z2} с радиусами на концах R1, R2. Если R2<0, то
- полагается R2=R1. Цвет конуса задается строкой STL.
+ Рисует трубу (или усеченный конус
+ если EDGE=`off') между точками {X1,Y1,Z1},
+ {X2,Y2,Z2} с радиусами на концах R1, R2.
+ Если R2<0, то полагается R2=R1. Цвет
+ конуса задается строкой STL.
-- Команда MGL: rect `x1 y1 x2 y2' ['st'="]
-- Команда MGL: rect `x1 y1 z1 x2 y2 z2' ['st'="]
- Рисует закрашенный прямоугольник (грань) с противоположными
- вершинами в точках {X1,Y1,Z1}, {X2,Y2,Z2} цветом STL. При этом
- цвет может быть один для всей грани, или различным для разных
- вершин если указаны все 4 цвета (полезно для градиента цвета,
- например `wwrr'). Грань будет нарисована даже если часть ее лежит
+ Рисует закрашенный прямоугольник
+ (грань) с противоположными
+ вершинами в точках {X1,Y1,Z1}, {X2,Y2,Z2}
+ цветом STL. При этом цвет может быть
+ один для всей грани, или различным
+ для разных вершин если указаны все 4
+ цвета (полезно для градиента цвета,
+ например `wwrr'). Грань будет
+ нарисована даже если часть ее лежит
вне диапазона осей координат.
@@ -1089,56 +1524,82 @@ File: mgl_ru.info, Node: Text printing, Next: Axis and Colorbar, Prev: Primit
1.7 Вывод текста
===========================
-Команды для вывода текста позволяют вывести строку текста в
-произвольном месте рисунка, в произвольном направлении и вдоль
-произвольной кривой. Можно использовать произвольное начертание шрифта
-и многие ТеХ-ие команды (детальнее *note Font styles::). Аргумент SIZE
-определяет размер текста: размер шрифта если положителен или
-относительный размер (=-SIZE*FONTSIZE) если отрицателен.
-
- Параметры шрифта задаются строкой, которая может содержать символы
-стиля (`rbiwou') и/или выравнивания (`LRC'). Также строка может
-содержать символы цвета `wkrgbcymhRGBCYMHW' (*note Line styles::) после
-символа `:'. Стили шрифта: `r' - прямой, `i' - курсив, `b' - жирный,
-`w' - контурный, `o' - надчеркнутый, `u' - подчеркнутый. По умолчанию
-используется прямой шрифт. Типы выравнивания: `L' - по левому краю (по
-умолчанию), `C' - по центру, `R' - по правому краю. Например, строка
-`iC:b' соответствует курсиву синего цвета с выравниванием по центру. По
-умолчанию используются параметры, определенные командой *note font::.
-
- Если строка содержит символы `aA', то текст выводится в абсолютных
-координатах (полагаются в диапазоне [0,1]). При этом используются
-координаты относительно рисунка (если указано `A') или относительно
-последнего *note subplot::/*note inplot:: (если указано `a').
+Команды для вывода текста позволяют
+вывести строку текста в произвольном
+месте рисунка, в произвольном
+направлении и вдоль произвольной
+кривой. Можно использовать
+произвольное начертание шрифта и
+многие ТеХ-ие команды (детальнее *note Font
+styles::). Аргумент SIZE определяет размер
+текста: размер шрифта если положителен
+или относительный размер (=-SIZE*FONTSIZE)
+если отрицателен.
+
+ Параметры шрифта задаются строкой,
+которая может содержать символы стиля
+(`rbiwou') и/или выравнивания (`LRC'). Также
+строка может содержать символы цвета
+`wkrgbcymhRGBCYMHW' (*note Line styles::) после символа
+`:'. Стили шрифта: `r' - прямой, `i' - курсив,
+`b' - жирный, `w' - контурный, `o' -
+надчеркнутый, `u' - подчеркнутый. По
+умолчанию используется прямой шрифт.
+Типы выравнивания: `L' - по левому краю
+(по умолчанию), `C' - по центру, `R' - по
+правому краю. Например, строка `iC:b'
+соответствует курсиву синего цвета с
+выравниванием по центру. По умолчанию
+используются параметры, определенные
+командой *note font::.
+
+ Если строка содержит символы `aA', то
+текст выводится в абсолютных
+координатах (полагаются в диапазоне
+[0,1]). При этом используются координаты
+относительно рисунка (если указано `A')
+или относительно последнего *note
+subplot::/*note inplot:: (если указано `a').
-- Команда MGL: text `x y' 'text' ['fnt'=" `size=-1.4']
-- Команда MGL: text `x y z' 'text' ['fnt'=" `size=-1.4']
- Выводит строку TEXT от точки {X,Y,Z} шрифтом FNT и размером SIZE.
+ Выводит строку TEXT от точки {X,Y,Z}
+ шрифтом FNT и размером SIZE.
-- Команда MGL: text `x y dx dy' 'text' [`size=-1.4']
-- Команда MGL: text `x y z dx dy dz' 'text' [`size=-1.4']
- Выводит строку TEXT от точки {X,Y,Z} вдоль направления {DX,DY,DZ}
- шрифтом FNT и размером SIZE.
+ Выводит строку TEXT от точки {X,Y,Z}
+ вдоль направления {DX,DY,DZ} шрифтом FNT и
+ размером SIZE.
-- Команда MGL: text ydat 'text' ['fnt'=" `size=-1 zval=nan']
- -- Команда MGL: text xdat ydat 'text' ['fnt'=" `size=-1 zval=nan']
+ -- Команда MGL: text xdat ydat 'text' ['fnt'=" `size=-1
+ zval=nan']
-- Команда MGL: text xdat ydat zdat 'text' ['fnt'=" `size=-1']
- Выводит строку TEXT вдоль кривой {XDAT[i], YDAT[i], ZDAT[i]}
- шрифтом FONT. Строка FONT может содержать символы: `t' для вывода
- текста под кривой (по умолчанию), или `T' для вывода текста над
- кривой. Если массив XDAT не указан, то используется массив со
- значениями равно распределенными вдоль оси x. Если массив ZDAT не
- указан, то используется ZDAT[i] = ZVAL. См. раздел *note Text
- sample::, для примеров кода и графика.
+ Выводит строку TEXT вдоль кривой {XDAT[i],
+ YDAT[i], ZDAT[i]} шрифтом FONT. Строка FONT
+ может содержать символы: `t' для
+ вывода текста под кривой (по
+ умолчанию), или `T' для вывода текста
+ над кривой. Если массив XDAT не указан,
+ то используется массив со
+ значениями равно распределенными
+ вдоль оси x. Если массив ZDAT не указан,
+ то используется ZDAT[i] = ZVAL. См. раздел
+ *note Text sample::, для примеров кода и
+ графика.
-- Команда MGL: title 'text' ['fnt'=" `size=-2']
- Выводит строку TEXT как заголовок (сверху рисунка). Может
- использоваться в любом месте (даже внутри *note subplot::).
+ Выводит строку TEXT как заголовок
+ (сверху рисунка). Может
+ использоваться в любом месте (даже
+ внутри *note subplot::).
-- Команда MGL: fgets `x y' 'fname' [`n=0' 'fnt'=" `size=-1.4']
- -- Команда MGL: fgets `x y z' 'fname' [`n=0' 'fnt'=" `size=-1.4']
- Выводит N-ую строку файла FNAME от точки {X,Y,Z} шрифтом FNT и
- размером SIZE.
+ -- Команда MGL: fgets `x y z' 'fname' [`n=0' 'fnt'="
+ `size=-1.4']
+ Выводит N-ую строку файла FNAME от
+ точки {X,Y,Z} шрифтом FNT и размером SIZE.
File: mgl_ru.info, Node: Axis and Colorbar, Next: Legend, Prev: Text printing, Up: MGL interface
@@ -1146,57 +1607,83 @@ File: mgl_ru.info, Node: Axis and Colorbar, Next: Legend, Prev: Text printing
1.8 Оси и Colorbar
======================
-Эти команды рисуют объекты для "измерения" типа осей координат,
-цветовой таблицы (colorbar), сетку по осям, обрамляющий параллелепипед
-и подписи по осям координат. См. также *note Axis settings::.
+Эти команды рисуют объекты для
+"измерения" типа осей координат,
+цветовой таблицы (colorbar), сетку по осям,
+обрамляющий параллелепипед и подписи
+по осям координат. См. также *note Axis
+settings::.
-- Команда MGL: axis ['dir'='xyz' `adjust=off']
- Рисует оси координат и метки на них (*note Axis settings::) в
- направлениях, указанных строкой DIR. Если строка содержит символ
- `_', то подписи меток отображаться не будут. Шрифт подписей
- определяется командой *note font::. Метки будут "подогнаны" если
+ Рисует оси координат и метки на них
+ (*note Axis settings::) в направлениях,
+ указанных строкой DIR. Если строка
+ содержит символ `_', то подписи меток
+ отображаться не будут. Шрифт
+ подписей определяется командой *note
+ font::. Метки будут "подогнаны" если
ADJUST=`on' (с помощью вызова `adjust 'dir'').
-- Команда MGL: colorbar ['sch'=" `pos=0']
- Рисует полосу соответствия цвета и числовых значений (colorbar)
- для цветовой схемы SCH (используется текущая для `sch=''') с краю
- от графика. Параметр POS задает местоположение: `0' - справа (по
- умолчанию), `1' - слева, `2' - сверху, `3' - снизу. Если строка
- SCH содержит `<>^_', то параметр POS определяется как: `pos=0' для
- `>' (справа), `pos=1' для `<' (слева), `pos=2' для `^' (сверху),
- `pos=3' для `_' (снизу). Если строка содержит `A', то используются
- абсолютные координаты (относительно рисунка). См. раздел *note
- Dens sample::, для примеров кода и графика.
+ Рисует полосу соответствия цвета и
+ числовых значений (colorbar) для
+ цветовой схемы SCH (используется
+ текущая для `sch=''') с краю от графика.
+ Параметр POS задает местоположение:
+ `0' - справа (по умолчанию), `1' - слева,
+ `2' - сверху, `3' - снизу. Если строка SCH
+ содержит `<>^_', то параметр POS
+ определяется как: `pos=0' для `>'
+ (справа), `pos=1' для `<' (слева), `pos=2' для
+ `^' (сверху), `pos=3' для `_' (снизу). Если
+ строка содержит `A', то используются
+ абсолютные координаты
+ (относительно рисунка). См. раздел
+ *note Dens sample::, для примеров кода и
+ графика.
-- Команда MGL: colorbar vdat ['sch'=" `pos=0']
- Аналогично предыдущему, но для цветовой схемы без сглаживания с
- заданными значениями VDAT. См. раздел *note ContD sample::, для
- примеров кода и графика.
+ Аналогично предыдущему, но для
+ цветовой схемы без сглаживания с
+ заданными значениями VDAT. См. раздел
+ *note ContD sample::, для примеров кода и
+ графика.
-- Команда MGL: colorbar 'sch' `pos x y w h'
- Аналогично первому, но в произвольном месте графика {X, Y}
- (полагаются в диапазоне [0,1]). Параметры W, H задают
- относительную ширину и высоту colorbar.
+ Аналогично первому, но в
+ произвольном месте графика {X, Y}
+ (полагаются в диапазоне [0,1]).
+ Параметры W, H задают относительную
+ ширину и высоту colorbar.
-- Команда MGL: grid ['dir'='xyz' 'pen'='B']
- Рисует линии сетки в направлениях перпендикулярным DIR. Шаг сетки
- такой же как у меток осей координат. Стиль линий задается
- параметром PEN (по умолчанию - сплошная темно синяя линия `B-').
+ Рисует линии сетки в направлениях
+ перпендикулярным DIR. Шаг сетки такой
+ же как у меток осей координат. Стиль
+ линий задается параметром PEN (по
+ умолчанию - сплошная темно синяя
+ линия `B-').
-- Команда MGL: box ['stl'='k' `ticks=on']
- Рисует ограничивающий параллелепипед цветом 'stl'. При `ticks=on'
- рисуются метки в соответствии с текущими настройками осей
+ Рисует ограничивающий
+ параллелепипед цветом 'stl'. При `ticks=on'
+ рисуются метки в соответствии с
+ текущими настройками осей
координат *note axis::.
-- Команда MGL: xlabel 'text' [`pos=0 size=-1.4 shift=0']
-- Команда MGL: ylabel 'text' [`pos=0 size=-1.4 shift=0']
-- Команда MGL: zlabel 'text' [`pos=0 size=-1.4 shift=0']
-- Команда MGL: tlabel 'text' [`pos=0 size=-1.4 shift=0']
- Выводит подпись TEXT для x-,y-,z-,t-оси (где `t' - "тернарная" ось
- t=1-x-y). Параметр POS задает положение подписи: при POS=0 - по
- центру оси, при POS>0 - около максимальных значений, при POS<0 -
- около минимальных значений. Параметр SIZE задает размер шрифта (по
- умолчанию в 1.4 раза больше чем у меток). *Note Text printing::.
+ Выводит подпись TEXT для x-,y-,z-,t-оси
+ (где `t' - "тернарная" ось t=1-x-y).
+ Параметр POS задает положение
+ подписи: при POS=0 - по центру оси, при
+ POS>0 - около максимальных значений,
+ при POS<0 - около минимальных значений.
+ Параметр SIZE задает размер шрифта (по
+ умолчанию в 1.4 раза больше чем у
+ меток). *Note Text printing::.
File: mgl_ru.info, Node: Legend, Next: 1D plotting, Prev: Axis and Colorbar, Up: MGL interface
@@ -1204,44 +1691,62 @@ File: mgl_ru.info, Node: Legend, Next: 1D plotting, Prev: Axis and Colorbar,
1.9 Легенда
==================
-Эти команды обеспечивают рисование легенды графика (полезно для *note
-1D plotting::). Запись в легенде состоит из двух строк: одна для стиля
-линии и маркеров, другая с текстом описания (с включенным разбором
-TeX-их команд), накапливаемые во внутренние массивы с помощью команды
-*note addlegend:: или опции *note legend::. Положение легенды можно
-задать автоматически или вручную. Параметры FONT и SIZE задают стиль и
-размер шрифта. Параметр LLEN задает относительную ширину примера линии.
-Ели стиль линии пустой, то соответствующий текст печатается без
-отступа. Если строка FONT содержит символ `A', то координаты легенды
-считаются относительно картинки (а не текущего subplot). См. раздел
-*note Legend sample::, для примеров кода и графика.
+Эти команды обеспечивают рисование
+легенды графика (полезно для *note 1D
+plotting::). Запись в легенде состоит из
+двух строк: одна для стиля линии и
+маркеров, другая с текстом описания (с
+включенным разбором TeX-их команд),
+накапливаемые во внутренние массивы с
+помощью команды *note addlegend:: или опции *note
+legend::. Положение легенды можно задать
+автоматически или вручную. Параметры
+FONT и SIZE задают стиль и размер шрифта.
+Параметр LLEN задает относительную
+ширину примера линии. Ели стиль линии
+пустой, то соответствующий текст
+печатается без отступа. Если строка FONT
+содержит символ `A', то координаты
+легенды считаются относительно
+картинки (а не текущего subplot). См. раздел
+*note Legend sample::, для примеров кода и
+графика.
-- Команда MGL: legend [`pos=3' 'fnt'='rL' `size=-1 llen=0.1']
- Рисует легенду из накопленных записей шрифтом FNT размером SIZE.
- Параметр POS задает положение легенды: `0' - в нижнем левом углу,
- `1' - нижнем правом углу, `2' - верхнем левом углу, `3' - верхнем
- правом углу (по умолчанию).
+ Рисует легенду из накопленных
+ записей шрифтом FNT размером SIZE.
+ Параметр POS задает положение
+ легенды: `0' - в нижнем левом углу, `1' -
+ нижнем правом углу, `2' - верхнем
+ левом углу, `3' - верхнем правом углу
+ (по умолчанию).
-- Команда MGL: legend `x y' ['fnt'='rL' `size=-1 llen=0.1']
- Рисует легенду из накопленных записей шрифтом FONT размером SIZE.
- Положение легенды задается параметрами X, Y, которые полагаются
+ Рисует легенду из накопленных
+ записей шрифтом FONT размером SIZE.
+ Положение легенды задается
+ параметрами X, Y, которые полагаются
нормированными в диапазоне [0,1].
-- Команда MGL: addlegend 'text' 'stl'
- Добавляет описание TEXT кривой со стилем STL (*note Line styles::)
- во внутренний массив записей легенды. Максимальное число записей
- 100.
+ Добавляет описание TEXT кривой со
+ стилем STL (*note Line styles::) во внутренний
+ массив записей легенды.
+ Максимальное число записей 100.
-- Команда MGL: clearlegend
- Очищает внутренний массив записей легенды.
+ Очищает внутренний массив записей
+ легенды.
-- Команда MGL: legendbox `val'
- Включает/выключает рисование прямоугольника вокруг легенды. По
- умолчанию (=`on') прямоугольник рисуется.
+ Включает/выключает рисование
+ прямоугольника вокруг легенды. По
+ умолчанию (=`on') прямоугольник
+ рисуется.
-- Команда MGL: legendmarks `val'
- Задает число маркеров в легенде. По умолчанию используется 1
- маркер.
+ Задает число маркеров в легенде. По
+ умолчанию используется 1 маркер.
File: mgl_ru.info, Node: 1D plotting, Next: 2D plotting, Prev: Legend, Up: MGL interface
@@ -1249,142 +1754,207 @@ File: mgl_ru.info, Node: 1D plotting, Next: 2D plotting, Prev: Legend, Up: M
1.10 1D графики
======================
-Эти команды строят графики для одномерных (1D) массивов. Одномерными
-считаются массивы, зависящие только от одного параметра (индекса)
-подобно кривой в параметрической форме {x(i),y(i),z(i)}, i=1...n. Есть
-5 основных типов 1D графиков: линия (*note plot::), линия с заполнением
-(*note area::), ступеньки (*note step::), прямоугольники (*note bars::,
-*note barh::) и вертикальные линии (*note stem::). Все эти типы
-графиков имеют похожий интерфейс. Есть версии для рисования в
-пространстве и на плоскости. В последнем случае имеется возможность
-использования только одного массива. Стиль линии и маркеров указывается
-строковой переменной. Если она равна `'''. Кроме того, есть еще
-несколько типов графиков для одномерных массивов, имеющих другой
-интерфейс и вид: поверхность вращения кривой (*note torus::), диаграмма
-(*note chart::), размер ошибки (*note error::), маркеры переменного
-размера (*note mark::), трубками (*note tube::) и т.д. См. раздел *note
-1D plot sample::, для примеров кода и графика.
-
- График рисуется для каждой строки если один из массивов матрица.
-Размер по 1-ой координате *должен быть одинаков* для всех массивов
-`xdat.nx=ydat.nx=zdat.nx'. Если массив XDAT не указан, то используется
-массив со значениями равно распределенными вдоль оси x. Если массив
-ZDAT не указан, то используется ZDAT[i] = ZVAL. Строка STL задает цвет
-и стиль линии и маркеров (*note Line styles::). По умолчанию (`stl=''')
-рисуется сплошная линия с текущим цветом из палитры.
+Эти команды строят графики для
+одномерных (1D) массивов. Одномерными
+считаются массивы, зависящие только от
+одного параметра (индекса) подобно
+кривой в параметрической форме
+{x(i),y(i),z(i)}, i=1...n. Есть 5 основных типов 1D
+графиков: линия (*note plot::), линия с
+заполнением (*note area::), ступеньки (*note
+step::), прямоугольники (*note bars::, *note barh::) и
+вертикальные линии (*note stem::). Все эти
+типы графиков имеют похожий интерфейс.
+Есть версии для рисования в
+пространстве и на плоскости. В
+последнем случае имеется возможность
+использования только одного массива.
+Стиль линии и маркеров указывается
+строковой переменной. Если она равна
+`'''. Кроме того, есть еще несколько
+типов графиков для одномерных
+массивов, имеющих другой интерфейс и
+вид: поверхность вращения кривой (*note
+torus::), диаграмма (*note chart::), размер ошибки
+(*note error::), маркеры переменного размера
+(*note mark::), трубками (*note tube::) и т.д. См.
+раздел *note 1D plot sample::, для примеров кода
+и графика.
+
+ График рисуется для каждой строки
+если один из массивов матрица. Размер
+по 1-ой координате *должен быть
+одинаков* для всех массивов
+`xdat.nx=ydat.nx=zdat.nx'. Если массив XDAT не
+указан, то используется массив со
+значениями равно распределенными
+вдоль оси x. Если массив ZDAT не указан, то
+используется ZDAT[i] = ZVAL. Строка STL задает
+цвет и стиль линии и маркеров (*note Line
+styles::). По умолчанию (`stl=''') рисуется
+сплошная линия с текущим цветом из
+палитры.
-- Команда MGL: plot ydat ['stl'=" `zval=nan']
-- Команда MGL: plot xdat ydat ['stl'=" `zval=nan']
-- Команда MGL: plot xdat ydat zdat ['stl'="]
- Рисует ломанную линию между точками {X[i], Y[i], Z[i]}. См. также
- *note area::, *note step::, *note stem::, *note tube::, *note
- mark::, *note error::, *note belt::, *note tens::. См. раздел
- *note Plot sample::, для примеров кода и графика.
+ Рисует ломанную линию между точками
+ {X[i], Y[i], Z[i]}. См. также *note area::, *note step::,
+ *note stem::, *note tube::, *note mark::, *note error::, *note
+ belt::, *note tens::. См. раздел *note Plot sample::,
+ для примеров кода и графика.
-- Команда MGL: radar adat ['stl'=" `r=-1']
- Рисует radar chart, представляющий собой ломанную с вершинами на
- радиальных линиях (типа ломанной в полярных координатах). График
- рисуется для каждой строки если один из массивов матрица. Параметр
- R задает дополнительный сдвиг данных (т.е. используется A+R вместо
- A). Если `r<0', то `r=max(0, -min(a)'. Если STL содержит символ
- `#', то также рисуется "сетка" (радиальные линии и круг для R).
- См. также *note plot::. См. раздел *note Radar sample::, для
- примеров кода и графика.
+ Рисует radar chart, представляющий собой
+ ломанную с вершинами на радиальных
+ линиях (типа ломанной в полярных
+ координатах). График рисуется для
+ каждой строки если один из массивов
+ матрица. Параметр R задает
+ дополнительный сдвиг данных (т.е.
+ используется A+R вместо A). Если `r<0', то
+ `r=max(0, -min(a)'. Если STL содержит символ
+ `#', то также рисуется "сетка"
+ (радиальные линии и круг для R). См.
+ также *note plot::. См. раздел *note Radar sample::,
+ для примеров кода и графика.
-- Команда MGL: tens ydat cdat ['stl'=" `zval=nan']
-- Команда MGL: tens xdat ydat cdat ['stl'=" `zval=nan']
-- Команда MGL: tens xdat ydat zdat cdat ['stl'="]
- Рисует ломанную линию по точкам {X[i], Y[i], Z[i]} с цветом,
- определяемым массивом C[i] (типа графика натяжений). См. также
- *note plot::, *note mesh::, *note fall::. См. раздел *note Tens
- sample::, для примеров кода и графика.
+ Рисует ломанную линию по точкам {X[i],
+ Y[i], Z[i]} с цветом, определяемым
+ массивом C[i] (типа графика
+ натяжений). См. также *note plot::, *note mesh::,
+ *note fall::. См. раздел *note Tens sample::, для
+ примеров кода и графика.
-- Команда MGL: area ydat ['stl'=" `zval=nan']
-- Команда MGL: area xdat ydat ['stl'=" `zval=nan']
-- Команда MGL: area xdat ydat zdat ['stl'="]
- Рисует ломанную линию по точками {XDAT[i], YDAT[i], ZDAT[i]} и
- закрашивает ее вниз до плоскости осей координат. Можно
- использовать градиентное закрашивание если число указанных цветов
- в STL равно удвоенному числу кривых для построения. Если строка
- содержит символ `a', то линии рисуются одна поверх другой (с
- суммированием) - того же эффекта можно достичь вызовом `cumsum
- ydat 'y'' перед построением графика. См. также *note plot::, *note
- bars::, *note stem::, *note region::. См. раздел *note Area
- sample::, для примеров кода и графика.
+ Рисует ломанную линию по точками
+ {XDAT[i], YDAT[i], ZDAT[i]} и закрашивает ее
+ вниз до плоскости осей координат.
+ Можно использовать градиентное
+ закрашивание если число указанных
+ цветов в STL равно удвоенному числу
+ кривых для построения. Если строка
+ содержит символ `a', то линии
+ рисуются одна поверх другой (с
+ суммированием) - того же эффекта
+ можно достичь вызовом `cumsum ydat 'y''
+ перед построением графика. См. также
+ *note plot::, *note bars::, *note stem::, *note region::. См.
+ раздел *note Area sample::, для примеров кода
+ и графика.
-- Команда MGL: region fdat gdat ['stl'=" `inside=off']
-- Команда MGL: region xdat fdat gdat ['stl'=" `inside=off']
- Закрашивает область между 2 кривыми {XDAT[i], FDAT[i]} и {XDAT[i],
- GDAT[i]}. При `inside=off' закрашивается только область y1<y<y2,
- в противном случае также будет закращена область y2<y<y1. Можно
- использовать градиентное закрашивание если число указанных цветов
- STL равно удвоенному числу кривых для построения. См. также *note
- area::, *note bars::, *note stem::. См. раздел *note Region
- sample::, для примеров кода и графика.
+ Закрашивает область между 2 кривыми
+ {XDAT[i], FDAT[i]} и {XDAT[i], GDAT[i]}. При `inside=off'
+ закрашивается только область y1<y<y2, в
+ противном случае также будет
+ закращена область y2<y<y1. Можно
+ использовать градиентное
+ закрашивание если число указанных
+ цветов STL равно удвоенному числу
+ кривых для построения. См. также *note
+ area::, *note bars::, *note stem::. См. раздел *note
+ Region sample::, для примеров кода и
+ графика.
-- Команда MGL: stem ydat ['stl'=" `zval=nan']
-- Команда MGL: stem xdat ydat ['stl'=" `zval=nan']
-- Команда MGL: stem xdat ydat zdat ['stl'="]
- Рисует вертикальные линии из точек {XDAT[i], YDAT[i], ZDAT[i]} до
- плоскости осей координат. См. также *note area::, *note bars::,
- *note plot::, *note mark::. См. раздел *note Stem sample::, для
- примеров кода и графика.
+ Рисует вертикальные линии из точек
+ {XDAT[i], YDAT[i], ZDAT[i]} до плоскости осей
+ координат. См. также *note area::, *note bars::,
+ *note plot::, *note mark::. См. раздел *note Stem
+ sample::, для примеров кода и графика.
-- Команда MGL: bars ydat ['stl'=" `zval=nan']
-- Команда MGL: bars xdat ydat ['stl'=" `zval=nan']
-- Команда MGL: bars xdat ydat zdat ['stl'="]
- Рисует вертикальные полосы (прямоугольники) из точек {XDAT[i],
- YDAT[i], ZDAT[i]} до плоскости осей координат. Если строка STL
- содержит символ `a', то линии рисуются одна поверх другой. Если
- строка содержит символ `f', то рисуется график типа waterfall для
- определения кумулятивного эффекта последовательности положительных
- и отрицательных значений. Можно использовать разные цвета для
- положительных и отрицательных значений если число указанных цветов
- равно удвоенному числу кривых для построения. См. также *note
- barh::, *note area::, *note stem::, *note chart::. См. раздел
- *note Bars sample::, для примеров кода и графика.
+ Рисует вертикальные полосы
+ (прямоугольники) из точек {XDAT[i], YDAT[i],
+ ZDAT[i]} до плоскости осей координат.
+ Если строка STL содержит символ `a', то
+ линии рисуются одна поверх другой.
+ Если строка содержит символ `f', то
+ рисуется график типа waterfall для
+ определения кумулятивного эффекта
+ последовательности положительных и
+ отрицательных значений. Можно
+ использовать разные цвета для
+ положительных и отрицательных
+ значений если число указанных
+ цветов равно удвоенному числу
+ кривых для построения. См. также *note
+ barh::, *note area::, *note stem::, *note chart::. См.
+ раздел *note Bars sample::, для примеров кода
+ и графика.
-- Команда MGL: barh xdat ['stl'=" `zval=nan']
-- Команда MGL: barh ydat xdat ['stl'=" `zval=nan']
- Рисует горизонтальные полосы (прямоугольники) из точек {XDAT[i],
- YDAT[i]} до плоскости оси y. Если массив YDAT не указан, то
- используется массив со значениями равно распределенными вдоль оси
- y. Если строка STL содержит символ `a', то линии рисуются одна
- поверх другой. Если строка содержит символ `f', то рисуется график
- типа waterfall для определения кумулятивного эффекта
- последовательности положительных и отрицательных значений. Можно
- использовать разные цвета для положительных и отрицательных
- значений если число указанных цветов равно удвоенному числу кривых
- для построения. См. также *note bars::. См. раздел *note Barh
- sample::, для примеров кода и графика.
+ Рисует горизонтальные полосы
+ (прямоугольники) из точек {XDAT[i], YDAT[i]}
+ до плоскости оси y. Если массив YDAT не
+ указан, то используется массив со
+ значениями равно распределенными
+ вдоль оси y. Если строка STL содержит
+ символ `a', то линии рисуются одна
+ поверх другой. Если строка содержит
+ символ `f', то рисуется график типа
+ waterfall для определения кумулятивного
+ эффекта последовательности
+ положительных и отрицательных
+ значений. Можно использовать разные
+ цвета для положительных и
+ отрицательных значений если число
+ указанных цветов равно удвоенному
+ числу кривых для построения. См.
+ также *note bars::. См. раздел *note Barh sample::,
+ для примеров кода и графика.
-- Команда MGL: chart adat ['col'="]
- Рисует цветные полосы (пояса) для массива данных ADAT. Число полос
- равно числу строк ADAT (равно A.NY). Цвет полос поочередно
- меняется из цветов указанных в COL или в палитре (если `col=''').
- Пробел в цветах соответствует прозрачному "цвету", т.е.
- соответствующая полоса не рисуется. Ширина полосы пропорциональна
- значению элемента в ADAT. График строится только для массивов не
- содержащих отрицательных значений. Если строка COL содержит `#',
- то рисуется также черная граница полос. График выглядит лучше в 3d
- (после вращения системы координат) и/или в полярной системе
- координат (становится Pie chart). См. раздел *note Chart sample::,
- для примеров кода и графика.
+ Рисует цветные полосы (пояса) для
+ массива данных ADAT. Число полос равно
+ числу строк ADAT (равно A.NY). Цвет полос
+ поочередно меняется из цветов
+ указанных в COL или в палитре (если
+ `col='''). Пробел в цветах соответствует
+ прозрачному "цвету", т.е.
+ соответствующая полоса не рисуется.
+ Ширина полосы пропорциональна
+ значению элемента в ADAT. График
+ строится только для массивов не
+ содержащих отрицательных значений.
+ Если строка COL содержит `#', то
+ рисуется также черная граница
+ полос. График выглядит лучше в 3d
+ (после вращения системы координат)
+ и/или в полярной системе координат
+ (становится Pie chart). См. раздел *note Chart
+ sample::, для примеров кода и графика.
-- Команда MGL: step ydat ['stl'=" `zval=nan']
-- Команда MGL: step xdat ydat ['stl'=" `zval=nan']
-- Команда MGL: step xdat ydat zdat ['stl'="]
- Рисует ступеньки для точек массива {XDAT[i], YDAT[i], ZDAT[i]}.
- См. также *note plot::, *note stem::, *note tile::, *note boxs::.
- См. раздел *note Step sample::, для примеров кода и графика.
+ Рисует ступеньки для точек массива
+ {XDAT[i], YDAT[i], ZDAT[i]}. См. также *note plot::, *note
+ stem::, *note tile::, *note boxs::. См. раздел *note Step
+ sample::, для примеров кода и графика.
-- Команда MGL: torus zdat ['stl'="]
-- Команда MGL: torus rdat zdat ['stl'="]
- Рисует поверхность вращения кривой {RDAT[i], ZDAT[i], ZDAT[i]}
- относительно оси *note axialdir::. Если массив RDAT не указан, то
- используется массив со значениями равно распределенными вдоль оси
- x. См. также *note plot::, *note axial::. См. раздел *note Torus
- sample::, для примеров кода и графика.
+ Рисует поверхность вращения кривой
+ {RDAT[i], ZDAT[i], ZDAT[i]} относительно оси *note
+ axialdir::. Если массив RDAT не указан, то
+ используется массив со значениями
+ равно распределенными вдоль оси x.
+ См. также *note plot::, *note axial::. См. раздел
+ *note Torus sample::, для примеров кода и
+ графика.
-- Команда MGL: tube ydat rdat ['stl'=" `zval=nan']
-- Команда MGL: tube ydat `rval' ['stl'=" `zval=nan']
@@ -1392,48 +1962,61 @@ ZDAT не указан, то используется ZDAT[i] = ZVAL. Строк
-- Команда MGL: tube xdat ydat `rval' ['stl'=" `zval=nan']
-- Команда MGL: tube xdat ydat zdat rdat ['stl'="]
-- Команда MGL: tube xdat ydat zdat `rval' ['stl'="]
- Рисует трубу радиуса RDAT[i] (or RVAL) вдоль кривой между точками
- {XDAT[i], YDAT[i], ZDAT[i]}. См. также *note plot::. См. раздел
- *note Tube sample::, для примеров кода и графика.
+ Рисует трубу радиуса RDAT[i] (or RVAL)
+ вдоль кривой между точками {XDAT[i],
+ YDAT[i], ZDAT[i]}. См. также *note plot::. См.
+ раздел *note Tube sample::, для примеров кода
+ и графика.
-- Команда MGL: mark ydat rdat ['stl'=" `zval=nan']
-- Команда MGL: mark xdat ydat rdat ['stl'=" `zval=nan']
-- Команда MGL: mark xdat ydat zdat rdat ['stl'="]
- Рисует маркеры размером RDAT[i]*`marksize' в точках {XDAT[i],
- YDAT[i], ZDAT[i]}. Для рисования маркеров одинакового размера
- можно использовать функцию `plot' с невидимой линией (со стилем
- содержащим ` '). См. также *note plot::, *note textmark::, *note
- stem::, *note error::. См. раздел *note Mark sample::, для
- примеров кода и графика.
+ Рисует маркеры размером RDAT[i]*`marksize' в
+ точках {XDAT[i], YDAT[i], ZDAT[i]}. Для
+ рисования маркеров одинакового
+ размера можно использовать функцию
+ `plot' с невидимой линией (со стилем
+ содержащим ` '). См. также *note plot::, *note
+ textmark::, *note stem::, *note error::. См. раздел *note
+ Mark sample::, для примеров кода и графика.
-- Команда MGL: textmark ydat 'txt' ['stl'=" `zval=nan']
-- Команда MGL: textmark ydat rdat 'txt' ['stl'=" `zval=nan']
- -- Команда MGL: textmark xdat ydat rdat 'txt' ['stl'=" `zval=nan']
+ -- Команда MGL: textmark xdat ydat rdat 'txt' ['stl'="
+ `zval=nan']
-- Команда MGL: textmark xdat ydat zdat rdat 'txt' ['stl'="]
- Рисует текст TXT как маркер с размером пропорциональным
- RDAT[i]*`marksize' в точках {XDAT[i], YDAT[i], ZDAT[i]}. Если
- массив RDAT не указан, то полагается RDAT[i] = 1. См. также *note
- plot::, *note mark::, *note stem::. См. раздел *note TextMark
+ Рисует текст TXT как маркер с
+ размером пропорциональным
+ RDAT[i]*`marksize' в точках {XDAT[i], YDAT[i], ZDAT[i]}.
+ Если массив RDAT не указан, то
+ полагается RDAT[i] = 1. См. также *note plot::,
+ *note mark::, *note stem::. См. раздел *note TextMark
sample::, для примеров кода и графика.
-- Команда MGL: error ydat yerr ['stl'=" `zval=nan']
-- Команда MGL: error xdat ydat yerr ['stl'=" `zval=nan']
-- Команда MGL: error xdat ydat xerr yerr ['stl'=" `zval=nan']
- Рисует размер ошибки {XERR[i], YERR[i]} в точках {XDAT[i],
- YDAT[i]} на плоскости Z = ZVAL. Такой график полезен для
- отображения ошибки эксперимента, вычислений и пр. См. также *note
- plot::. См. раздел *note Error sample::, для примеров кода и
- графика.
+ Рисует размер ошибки {XERR[i], YERR[i]} в
+ точках {XDAT[i], YDAT[i]} на плоскости Z = ZVAL.
+ Такой график полезен для
+ отображения ошибки эксперимента,
+ вычислений и пр. См. также *note plot::. См.
+ раздел *note Error sample::, для примеров
+ кода и графика.
-- Команда MGL: boxplot adat ['stl'=" `zval=nan']
-- Команда MGL: boxplot xdat adat ['stl'=" `zval=nan']
- Рисует boxplot (называемый также как box-and-whisker diagram или
- как "ящик с усами") в точках XDAT[i] на плоскости Z = ZVAL. Это
- график, компактно изображающий распределение вероятностей
- ADAT[i,j] (минимум, нижний квартиль (Q1), медиана (Q2), верхний
- квартиль (Q3) и максимум) вдоль второго (j-го) направления. См.
- также *note plot::, *note error::, *note bars::. См. раздел *note
- BoxPlot sample::, для примеров кода и графика.
+ Рисует boxplot (называемый также как
+ box-and-whisker diagram или как "ящик с усами") в
+ точках XDAT[i] на плоскости Z = ZVAL. Это
+ график, компактно изображающий
+ распределение вероятностей ADAT[i,j]
+ (минимум, нижний квартиль (Q1),
+ медиана (Q2), верхний квартиль (Q3) и
+ максимум) вдоль второго (j-го)
+ направления. См. также *note plot::, *note
+ error::, *note bars::. См. раздел *note BoxPlot sample::,
+ для примеров кода и графика.
File: mgl_ru.info, Node: 2D plotting, Next: 3D plotting, Prev: 1D plotting, Up: MGL interface
@@ -1441,166 +2024,223 @@ File: mgl_ru.info, Node: 2D plotting, Next: 3D plotting, Prev: 1D plotting,
1.11 2D графики
======================
-Эти команды строят графики для двумерных (2D) массивов. Двумерными
-считаются массивы, зависящие только от двух параметров (индексов)
-подобно матрице f(x_i,y_j), i=1...n, j=1...m. Есть несколько основных
-типов 2D графиков: сплошная поверхность (*note surf::), сетчатая
-поверхность (*note mesh::), поверхность из ящиков (*note boxs::),
-поверхность из плиток (*note tile::), водопад (*note fall::), ленточки
-(*note belt::), график плотности (*note dens::), линии уровня (*note
-cont::), линии уровня с заполнением (*note contf::) и результат их
-вращения (*note axial::). В функциях *note cont::, *note contf:: и
-*note axial:: значения уровней можно задавать автоматически и вручную.
-Можно также нарисовать сетку (*note grid::) по массиву данных для
-улучшения вида графика плотности или линий уровня. Каждый тип графика
-имеет похожий интерфейс. Есть версия для рисования одного массива с
-автоматическими координатами и версия для параметрически заданной
-поверхности. См. раздел *note 1D plot sample::, для примеров кода и
-графика.
-
- Строка SCH задает цветовую схему (*note Color scheme::. Предыдущая
-цветовая схема используется по умолчанию. Младшие размерности массивов
-XDAT, YDAT, ZDAT должны быть одинаковы `xdat.nx=zdat.nx &&
-ydat.nx=zdat.ny' или `xdat.nx=ydat.nx=zdat.nx &&
-xdat.ny=ydat.ny=zdat.ny'. Массивы XDAT и YDAT могут быть векторами (не
-матрицами как ZDAT). Если массивы XDAT, YDAT не указаны, то
-используются массивы со значениями равно распределенными вдоль осей x,
-y. График строится для каждого z среза данных.
+Эти команды строят графики для
+двумерных (2D) массивов. Двумерными
+считаются массивы, зависящие только от
+двух параметров (индексов) подобно
+матрице f(x_i,y_j), i=1...n, j=1...m. Есть
+несколько основных типов 2D графиков:
+сплошная поверхность (*note surf::),
+сетчатая поверхность (*note mesh::),
+поверхность из ящиков (*note boxs::),
+поверхность из плиток (*note tile::), водопад
+(*note fall::), ленточки (*note belt::), график
+плотности (*note dens::), линии уровня (*note
+cont::), линии уровня с заполнением (*note
+contf::) и результат их вращения (*note axial::).
+В функциях *note cont::, *note contf:: и *note axial::
+значения уровней можно задавать
+автоматически и вручную. Можно также
+нарисовать сетку (*note grid::) по массиву
+данных для улучшения вида графика
+плотности или линий уровня. Каждый тип
+графика имеет похожий интерфейс. Есть
+версия для рисования одного массива с
+автоматическими координатами и версия
+для параметрически заданной
+поверхности. См. раздел *note 1D plot sample::,
+для примеров кода и графика.
+
+ Строка SCH задает цветовую схему (*note
+Color scheme::. Предыдущая цветовая схема
+используется по умолчанию. Младшие
+размерности массивов XDAT, YDAT, ZDAT должны
+быть одинаковы `xdat.nx=zdat.nx && ydat.nx=zdat.ny' или
+`xdat.nx=ydat.nx=zdat.nx && xdat.ny=ydat.ny=zdat.ny'. Массивы
+XDAT и YDAT могут быть векторами (не
+матрицами как ZDAT). Если массивы XDAT, YDAT
+не указаны, то используются массивы со
+значениями равно распределенными
+вдоль осей x, y. График строится для
+каждого z среза данных.
-- Команда MGL: surf zdat ['sch'="]
-- Команда MGL: surf xdat ydat zdat ['sch'="]
- Рисует параметрически заданную поверхность {XDAT[i,j], YDAT[i,j],
- ZDAT[i,j]}. Если SCH содержит `#', то на поверхности рисуется
- сетка. См. также *note mesh::, *note dens::, *note belt::, *note
- tile::, *note boxs::, *note surfc::, *note surfa::. См. раздел
- *note Surf sample::, для примеров кода и графика.
+ Рисует параметрически заданную
+ поверхность {XDAT[i,j], YDAT[i,j], ZDAT[i,j]}. Если
+ SCH содержит `#', то на поверхности
+ рисуется сетка. См. также *note mesh::, *note
+ dens::, *note belt::, *note tile::, *note boxs::, *note surfc::,
+ *note surfa::. См. раздел *note Surf sample::, для
+ примеров кода и графика.
-- Команда MGL: mesh zdat ['sch'="]
-- Команда MGL: mesh xdat ydat zdat ['sch'="]
- Рисует сетчатую поверхность, заданную параметрически {XDAT[i,j],
- YDAT[i,j], ZDAT[i,j]}. См. также *note surf::, *note fall::, *note
- meshnum::, *note cont::, *note tens::. См. раздел *note Mesh
- sample::, для примеров кода и графика.
+ Рисует сетчатую поверхность,
+ заданную параметрически {XDAT[i,j],
+ YDAT[i,j], ZDAT[i,j]}. См. также *note surf::, *note
+ fall::, *note meshnum::, *note cont::, *note tens::. См.
+ раздел *note Mesh sample::, для примеров кода
+ и графика.
-- Команда MGL: fall zdat ['sch'="]
-- Команда MGL: fall xdat ydat zdat ['sch'="]
- Рисует водопад для параметрически заданной поверхности {XDAT[i,j],
- YDAT[i,j], ZDAT[i,j]}. График удобен для построения нескольких
- кривых, сдвинутых вглубь друг относительно друга. Если SCH
- содержит `x', то линии рисуются вдоль x-оси (по умолчанию линии
- рисуются вдоль y-оси). См. также *note belt::, *note mesh::, *note
- tens::, *note meshnum::. См. раздел *note Fall sample::, для
- примеров кода и графика.
+ Рисует водопад для параметрически
+ заданной поверхности {XDAT[i,j], YDAT[i,j],
+ ZDAT[i,j]}. График удобен для построения
+ нескольких кривых, сдвинутых вглубь
+ друг относительно друга. Если SCH
+ содержит `x', то линии рисуются вдоль
+ x-оси (по умолчанию линии рисуются
+ вдоль y-оси). См. также *note belt::, *note mesh::,
+ *note tens::, *note meshnum::. См. раздел *note Fall
+ sample::, для примеров кода и графика.
-- Команда MGL: belt zdat ['sch'="]
-- Команда MGL: belt xdat ydat zdat ['sch'="]
- Рисует ленточки для параметрически заданной поверхности
- {XDAT[i,j], YDAT[i,j], ZDAT[i,j]}. Если SCH содержит `x', то линии
- рисуются вдоль x-оси (по умолчанию линии рисуются вдоль y-оси).
- См. также *note fall::, *note surf::, *note plot::, *note
- meshnum::. См. раздел *note Belt sample::, для примеров кода и
- графика.
+ Рисует ленточки для параметрически
+ заданной поверхности {XDAT[i,j], YDAT[i,j],
+ ZDAT[i,j]}. Если SCH содержит `x', то линии
+ рисуются вдоль x-оси (по умолчанию
+ линии рисуются вдоль y-оси). См. также
+ *note fall::, *note surf::, *note plot::, *note meshnum::. См.
+ раздел *note Belt sample::, для примеров кода
+ и графика.
-- Команда MGL: boxs zdat ['sch'="]
-- Команда MGL: boxs xdat ydat zdat ['sch'="]
- Рисует вертикальные ящики для параметрически заданной поверхности
- {XDAT[i,j], YDAT[i,j], ZDAT[i,j]}. См. также *note surf::, *note
- dens::, *note tile::, *note step::. См. раздел *note Boxs
- sample::, для примеров кода и графика.
+ Рисует вертикальные ящики для
+ параметрически заданной
+ поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]}. См.
+ также *note surf::, *note dens::, *note tile::, *note step::.
+ См. раздел *note Boxs sample::, для примеров
+ кода и графика.
-- Команда MGL: tile zdat ['sch'="]
-- Команда MGL: tile xdat ydat zdat ['sch'="]
- Рисует плитки для параметрически заданной поверхности {XDAT[i,j],
- YDAT[i,j], ZDAT[i,j]}. График может использоваться как 3d
- обобщение *note step::. См. также *note surf::, *note boxs::,
- *note step::, *note tiles::. См. раздел *note Tile sample::, для
- примеров кода и графика.
+ Рисует плитки для параметрически
+ заданной поверхности {XDAT[i,j], YDAT[i,j],
+ ZDAT[i,j]}. График может использоваться
+ как 3d обобщение *note step::. См. также *note
+ surf::, *note boxs::, *note step::, *note tiles::. См.
+ раздел *note Tile sample::, для примеров кода
+ и графика.
-- Команда MGL: dens zdat ['sch'=" `zval=nan']
-- Команда MGL: dens xdat ydat zdat ['sch'=" `zval=nan']
- Рисует график плотности для параметрически заданной поверхности
- {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} при Z = ZVAL. Если SCH содержит
- `#', то рисуется сетка. См. также *note surf::, *note cont::,
- *note contf::, *note boxs::, *note tile::, `dens[xyz]'. См. раздел
- *note Dens sample::, для примеров кода и графика.
+ Рисует график плотности для
+ параметрически заданной
+ поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} при Z
+ = ZVAL. Если SCH содержит `#', то рисуется
+ сетка. См. также *note surf::, *note cont::, *note
+ contf::, *note boxs::, *note tile::, `dens[xyz]'. См.
+ раздел *note Dens sample::, для примеров кода
+ и графика.
-- Команда MGL: cont vdat zdat ['sch'=" `zval=nan']
-- Команда MGL: cont vdat xdat ydat zdat ['sch'=" `zval=nan']
- Рисует линии уровня для параметрически заданной поверхности
- {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} при Z = ZVAL (или при Z=VDAT[k]
- если `zval==nan'). Линии уровня рисуются для Z=VDAT[k]. Если SCH
- содержит `#', то рисуется сетка. Если SCH содержит `t' или `T', то
- значения VDAT[k] будут выведены вдоль контуров над (или под)
- кривой. См. также *note dens::, *note contf::, *note contd::,
- *note axial::, `cont[xyz]'. См. раздел *note Cont sample::, для
- примеров кода и графика.
+ Рисует линии уровня для
+ параметрически заданной
+ поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} при Z
+ = ZVAL (или при Z=VDAT[k] если `zval==nan'). Линии
+ уровня рисуются для Z=VDAT[k]. Если SCH
+ содержит `#', то рисуется сетка. Если
+ SCH содержит `t' или `T', то значения VDAT[k]
+ будут выведены вдоль контуров над
+ (или под) кривой. См. также *note dens::, *note
+ contf::, *note contd::, *note axial::, `cont[xyz]'. См.
+ раздел *note Cont sample::, для примеров кода
+ и графика.
-- Команда MGL: cont zdat ['sch'=" `num=7 zval=nan']
-- Команда MGL: cont xdat ydat zdat ['sch'=" `num=7 zval=nan']
- Как предыдущий с вектором V из NUM элементов равно распределенных
- в интервале цветовой шкалы (см., *note caxis::).
+ Как предыдущий с вектором V из NUM
+ элементов равно распределенных в
+ интервале цветовой шкалы (см., *note
+ caxis::).
-- Команда MGL: contf vdat zdat ['sch'=" `zval=nan']
-- Команда MGL: contf vdat xdat ydat zdat ['sch'=" `zval=nan']
- Рисует закрашенные линии (контуры) уровня для параметрически
- заданной поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} при Z =
- ZVAL (или при Z=V[k] если `zval=nan'). Линии уровня рисуются для
- Z=VDAT[k]. Если SCH содержит `#', то рисуется сетка. См. также
- *note dens::, *note cont::, *note contd::, `contf[xyz]'. См.
- раздел *note ContF sample::, для примеров кода и графика.
+ Рисует закрашенные линии (контуры)
+ уровня для параметрически заданной
+ поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} при Z
+ = ZVAL (или при Z=V[k] если `zval=nan'). Линии
+ уровня рисуются для Z=VDAT[k]. Если SCH
+ содержит `#', то рисуется сетка. См.
+ также *note dens::, *note cont::, *note contd::,
+ `contf[xyz]'. См. раздел *note ContF sample::, для
+ примеров кода и графика.
-- Команда MGL: contf zdat ['sch'=" `num=7 zval=nan']
-- Команда MGL: contf xdat ydat zdat ['sch'=" `num=7 zval=nan']
- Как предыдущий с вектором V из NUM элементов равно распределенных
- в интервале цветовой шкалы (см., *note caxis::).
+ Как предыдущий с вектором V из NUM
+ элементов равно распределенных в
+ интервале цветовой шкалы (см., *note
+ caxis::).
-- Команда MGL: contd vdat zdat ['sch'=" `zval=nan']
-- Команда MGL: contd vdat xdat ydat zdat ['sch'=" `zval=nan']
- Рисует закрашенные линии (контуры) уровня для параметрически
- заданной поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} при Z =
- ZVAL (или при Z=V[k] если `zval==nan') цветами заданными явно.
- Линии уровня рисуются для Z=VDAT[k]. Строка SCH задает цвет
- контуров: цвет k-го контура определяется символом
- `sch[k%strlen(sch)]'. См. также *note dens::, *note cont::, *note
- contf::, `cont[xyz]'. См. раздел *note ContD sample::, для
+ Рисует закрашенные линии (контуры)
+ уровня для параметрически заданной
+ поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} при Z
+ = ZVAL (или при Z=V[k] если `zval==nan') цветами
+ заданными явно. Линии уровня
+ рисуются для Z=VDAT[k]. Строка SCH задает
+ цвет контуров: цвет k-го контура
+ определяется символом `sch[k%strlen(sch)]'.
+ См. также *note dens::, *note cont::, *note contf::,
+ `cont[xyz]'. См. раздел *note ContD sample::, для
примеров кода и графика.
-- Команда MGL: contd zdat ['sch'=" `num=7 zval=nan']
-- Команда MGL: contd xdat ydat zdat ['sch'=" `num=7 zval=nan']
- Как предыдущий с вектором V из NUM элементов равно распределенных
- в интервале цветовой шкалы (см., *note caxis::).
+ Как предыдущий с вектором V из NUM
+ элементов равно распределенных в
+ интервале цветовой шкалы (см., *note
+ caxis::).
-- Команда MGL: axial vdat zdat ['sch'="]
-- Команда MGL: axial vdat xdat ydat zdat ['sch'="]
- Рисует поверхность вращения линии уровня для параметрически
- заданной поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]}. Линии
- уровня рисуются для ZDAT[i,j]=VDAT[k]. Если SCH содержит `#', то
- рисуется сетчатая поверхность. Если строка содержит символы `x',
- `y' или `z', то ось вращения устанавливается в указанное
- направление (по умолчанию вдоль оси *note axialdir::). См. также
- *note cont::, *note contf::, *note torus::, *note surf3::. См.
- раздел *note Axial sample::, для примеров кода и графика.
+ Рисует поверхность вращения линии
+ уровня для параметрически заданной
+ поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]}.
+ Линии уровня рисуются для ZDAT[i,j]=VDAT[k].
+ Если SCH содержит `#', то рисуется
+ сетчатая поверхность. Если строка
+ содержит символы `x', `y' или `z', то ось
+ вращения устанавливается в
+ указанное направление (по умолчанию
+ вдоль оси *note axialdir::). См. также *note
+ cont::, *note contf::, *note torus::, *note surf3::. См.
+ раздел *note Axial sample::, для примеров
+ кода и графика.
-- Команда MGL: axial zdat ['sch'=" `num=3']
-- Команда MGL: axial xdat ydat zdat ['sch'=" `num=3']
- Как предыдущий с вектором V из NUM элементов равно распределенных
- в интервале цветовой шкалы (см., *note caxis::).
+ Как предыдущий с вектором V из NUM
+ элементов равно распределенных в
+ интервале цветовой шкалы (см., *note
+ caxis::).
-- Команда MGL: grad pdat ['sch'=" `num=5 zval=nan']
-- Команда MGL: grad xdat ydat pdat ['sch'=" `num=5 zval=nan']
-- Команда MGL: grad xdat ydat zdat pdat ['sch'=" `num=5']
- Рисует линии градиента скалярного поля PDAT заданного
- параметрически {XDAT[i,j], YDAT[i,j]} или {XDAT[i,j,k],
- YDAT[i,j,k], ZDAT[i,j,k]}. Число линий пропорционально NUM. Линии
- рисуются только с границ интервала при NUM<0. См. также *note
- dens::, *note cont::, *note dens3::, *note cont3::, *note flow::.
- См. раздел *note Grad sample::, для примеров кода и графика.
+ Рисует линии градиента скалярного
+ поля PDAT заданного параметрически
+ {XDAT[i,j], YDAT[i,j]} или {XDAT[i,j,k], YDAT[i,j,k],
+ ZDAT[i,j,k]}. Число линий пропорционально
+ NUM. Линии рисуются только с границ
+ интервала при NUM<0. См. также *note dens::,
+ *note cont::, *note dens3::, *note cont3::, *note flow::. См.
+ раздел *note Grad sample::, для примеров кода
+ и графика.
-- Команда MGL: grid2 zdat ['sch'=" `zval=nan']
-- Команда MGL: grid2 xdat ydat zdat ['sch'=" `zval=nan']
- Рисует плоскую сету для параметрически заданной поверхности
- {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} при Z = ZVAL. См. также *note
- dens::, *note cont::, *note contf::.
+ Рисует плоскую сету для
+ параметрически заданной
+ поверхности {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} при Z
+ = ZVAL. См. также *note dens::, *note cont::, *note contf::.
File: mgl_ru.info, Node: 3D plotting, Next: Dual plotting, Prev: 2D plotting, Up: MGL interface
@@ -1608,130 +2248,182 @@ File: mgl_ru.info, Node: 3D plotting, Next: Dual plotting, Prev: 2D plotting,
1.12 3D графики
======================
-Эти функции строят графики для трехмерных (3D) массивов. Трехмерными
-считаются массивы, зависящие от трех параметров (индексов) подобно
-матрице f(x_i,y_j,z_k), i=1...n, j=1...m, k=1...l. Есть 5 основных
-типов 3D графиков: поверхность постоянного уровня (*note surf3::),
-график плотности на срезе (DENS3), линии уровня на срезе (*note
-cont3::), закрашенные контуры уровня на срезе (*note contf3::) и график
-объемной прозрачности типа облака (*note cloud::). В функциях *note
-cont3::, *note contf3:: и *note surf3:: значения уровней можно задавать
-автоматически и вручную. Можно также нарисовать на срезе сетку (*note
-grid3::) по массиву данных для улучшения вида графика плотности или
-линий уровня. Каждый тип графика имеет похожий интерфейс. Есть версия
-для рисования одного массива с автоматическими координатами и версия
-для параметрически заданного массива. См. раздел *note 3D plot
-sample::, для примеров кода и графика.
-
- Строка SCH задает цветовую схему (*note Color scheme::). Предыдущая
-цветовая схема используется по умолчанию. Массивы X, Y, Z могут быть
-векторами (не 3d массивами как A). Если массивы XDAT, YDAT, ZDAT не
-указаны, то используются массивы со значениями равно распределенными
+Эти функции строят графики для
+трехмерных (3D) массивов. Трехмерными
+считаются массивы, зависящие от трех
+параметров (индексов) подобно матрице
+f(x_i,y_j,z_k), i=1...n, j=1...m, k=1...l. Есть 5 основных
+типов 3D графиков: поверхность
+постоянного уровня (*note surf3::), график
+плотности на срезе (DENS3), линии уровня
+на срезе (*note cont3::), закрашенные контуры
+уровня на срезе (*note contf3::) и график
+объемной прозрачности типа облака (*note
+cloud::). В функциях *note cont3::, *note contf3:: и *note
+surf3:: значения уровней можно задавать
+автоматически и вручную. Можно также
+нарисовать на срезе сетку (*note grid3::) по
+массиву данных для улучшения вида
+графика плотности или линий уровня.
+Каждый тип графика имеет похожий
+интерфейс. Есть версия для рисования
+одного массива с автоматическими
+координатами и версия для
+параметрически заданного массива. См.
+раздел *note 3D plot sample::, для примеров кода
+и графика.
+
+ Строка SCH задает цветовую схему (*note
+Color scheme::). Предыдущая цветовая схема
+используется по умолчанию. Массивы X, Y,
+Z могут быть векторами (не 3d массивами
+как A). Если массивы XDAT, YDAT, ZDAT не
+указаны, то используются массивы со
+значениями равно распределенными
вдоль осей x, y, z.
-- Команда MGL: surf3 adat `val' ['sch'="]
-- Команда MGL: surf3 xdat ydat zdat adat `val' ['sch'="]
- Рисует поверхность уровня для 3d массива, заданного параметрически
+ Рисует поверхность уровня для 3d
+ массива, заданного параметрически
ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k], ZDAT[i,j,k]) при
- ADAT(x,y,z)=VAL. Если SCH содержит `#', то рисуется сетчатая
- поверхность. См. также *note cloud::, *note dens3::, *note
- surf3c::, *note surf3a::, *note axial::. См. раздел *note Surf3
- sample::, для примеров кода и графика.
+ ADAT(x,y,z)=VAL. Если SCH содержит `#', то
+ рисуется сетчатая поверхность. См.
+ также *note cloud::, *note dens3::, *note surf3c::, *note
+ surf3a::, *note axial::. См. раздел *note Surf3 sample::,
+ для примеров кода и графика.
-- Команда MGL: surf3 adat ['sch'=" `num=5']
-- Команда MGL: surf3 xdat ydat zdat adat ['sch'=" `num=5']
- Рисует NUM поверхностей уровня равномерно распределенных в
- интервале цветовой шкалы (см. *note caxis::).
+ Рисует NUM поверхностей уровня
+ равномерно распределенных в
+ интервале цветовой шкалы (см. *note
+ caxis::).
-- Команда MGL: dens3 adat 'dir' [`sval=-1' 'sch'="]
- -- Команда MGL: dens3 xdat ydat zdat adat 'dir' [`sval=-1' 'sch'="]
- Рисует график плотности для 3d массива, заданного параметрически
+ -- Команда MGL: dens3 xdat ydat zdat adat 'dir' [`sval=-1'
+ 'sch'="]
+ Рисует график плотности для 3d
+ массива, заданного параметрически
ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k], ZDAT[i,j,k]). График
- рисуется на срезе SVAL в направлении DIR={`x', `y', `z'}. Если STL
- содержит `#', то на срезе рисуется сетка. См. также *note cont3::,
- *note contf3::, *note dens::, *note grid3::. См. раздел *note
- Dens3 sample::, для примеров кода и графика.
+ рисуется на срезе SVAL в направлении
+ DIR={`x', `y', `z'}. Если STL содержит `#', то на
+ срезе рисуется сетка. См. также *note
+ cont3::, *note contf3::, *note dens::, *note grid3::. См.
+ раздел *note Dens3 sample::, для примеров
+ кода и графика.
-- Команда MGL: densa adat ['sch'="]
-- Команда MGL: densa xdat ydat zdat adat ['sch'="]
- Рисует графики плотности на всех центральных срезах 3d данных.
+ Рисует графики плотности на всех
+ центральных срезах 3d данных.
-- Команда MGL: cont3 vdat adat 'dir' [`sval=-1' 'sch'="]
-- Команда MGL: cont3 vdat xdat ydat zdat adat 'dir' [`sval=-1'
'sch'="]
- Рисует линии уровня для 3d массива, заданного параметрически
- ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k], ZDAT[i,j,k]). Линии рисуются
- для значений из массива V на срезе SVAL в направлении DIR={`x',
- `y', `z'}. Если STL содержит `#', то на срезе рисуется сетка. Если
- SCH содержит `t' или `T', то значения VDAT[k] будут выведены вдоль
- контуров над (или под) кривой. См. также *note dens3::, *note
- contf3::, *note cont::, *note grid3::. См. раздел *note Cont3
- sample::, для примеров кода и графика.
+ Рисует линии уровня для 3d массива,
+ заданного параметрически
+ ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k], ZDAT[i,j,k]). Линии
+ рисуются для значений из массива V
+ на срезе SVAL в направлении DIR={`x', `y',
+ `z'}. Если STL содержит `#', то на срезе
+ рисуется сетка. Если SCH содержит `t'
+ или `T', то значения VDAT[k] будут
+ выведены вдоль контуров над (или
+ под) кривой. См. также *note dens3::, *note
+ contf3::, *note cont::, *note grid3::. См. раздел *note
+ Cont3 sample::, для примеров кода и графика.
-- Команда MGL: cont3 adat 'dir' [`sval=-1' 'sch'=" `num=7']
- -- Команда MGL: cont3 xdat ydat zdat adat 'dir' [`sval=-1' 'sch'="
- `num=7']
- Как предыдущий с вектором V из NUM элементов равно распределенных
- в интервале цветовой шкалы (см., *note caxis::).
+ -- Команда MGL: cont3 xdat ydat zdat adat 'dir' [`sval=-1'
+ 'sch'=" `num=7']
+ Как предыдущий с вектором V из NUM
+ элементов равно распределенных в
+ интервале цветовой шкалы (см., *note
+ caxis::).
-- Команда MGL: conta adat ['sch'=" `num=7']
-- Команда MGL: conta xdat ydat zdat adat ['sch'=" `num=7']
- Рисует линии уровня на всех центральных срезах 3d данных.
+ Рисует линии уровня на всех
+ центральных срезах 3d данных.
-- Команда MGL: contf3 vdat adat 'dir' [`sval=-1' 'sch'="]
- -- Команда MGL: contf3 vdat xdat ydat zdat adat 'dir' [`sval=-1'
- 'sch'="]
- Рисует закрашенные линии (контуры) уровня для 3d массива,
- заданного параметрически ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k],
- ZDAT[i,j,k]). Линии рисуются для значений из массива V на срезе
- SVAL в направлении DIR={`x', `y', `z'}. Если STL содержит `#', то
- на срезе рисуется сетка. См. также *note dens3::, *note cont3::,
- *note contf::, *note grid3::. См. раздел *note ContF3 sample::,
+ -- Команда MGL: contf3 vdat xdat ydat zdat adat 'dir'
+ [`sval=-1' 'sch'="]
+ Рисует закрашенные линии (контуры)
+ уровня для 3d массива, заданного
+ параметрически ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k],
+ ZDAT[i,j,k]). Линии рисуются для значений
+ из массива V на срезе SVAL в
+ направлении DIR={`x', `y', `z'}. Если STL
+ содержит `#', то на срезе рисуется
+ сетка. См. также *note dens3::, *note cont3::, *note
+ contf::, *note grid3::. См. раздел *note ContF3 sample::,
для примеров кода и графика.
-- Команда MGL: contf3 adat 'dir' [`sval=-1' 'sch'=" `num=7']
- -- Команда MGL: contf3 xdat ydat zdat adat 'dir' [`sval=-1' 'sch'="
- `num=7']
- Как предыдущий с вектором V из NUM элементов равно распределенных
- в интервале цветовой шкалы (см., *note caxis::).
+ -- Команда MGL: contf3 xdat ydat zdat adat 'dir' [`sval=-1'
+ 'sch'=" `num=7']
+ Как предыдущий с вектором V из NUM
+ элементов равно распределенных в
+ интервале цветовой шкалы (см., *note
+ caxis::).
-- Команда MGL: contfa adat ['sch'=" `num=7']
-- Команда MGL: contfa xdat ydat zdat adat ['sch'=" `num=7']
- Рисует закрашенные линии (контуры) уровня на всех центральных
- срезах 3d данных.
+ Рисует закрашенные линии (контуры)
+ уровня на всех центральных срезах 3d
+ данных.
-- Команда MGL: grid3 adat 'dir' [`sval=-1' 'sch'="]
- -- Команда MGL: grid3 xdat ydat zdat adat 'dir' [`sval=-1' 'sch'="]
- Рисует сетку для 3d массива, заданного параметрически
+ -- Команда MGL: grid3 xdat ydat zdat adat 'dir' [`sval=-1'
+ 'sch'="]
+ Рисует сетку для 3d массива,
+ заданного параметрически
ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k], ZDAT[i,j,k]). График
- рисуется на срезе SVAL в направлении DIR={`x', `y', `z'}. См.
- также *note cont3::, *note contf3::, *note dens3::, *note grid2::.
+ рисуется на срезе SVAL в направлении
+ DIR={`x', `y', `z'}. См. также *note cont3::, *note
+ contf3::, *note dens3::, *note grid2::.
-- Команда MGL: grida adat ['sch'="]
-- Команда MGL: grida xdat ydat zdat adat ['sch'="]
- Рисует сетку на всех центральных срезах 3d данных.
+ Рисует сетку на всех центральных
+ срезах 3d данных.
-- Команда MGL: cloud adat ['sch'="]
-- Команда MGL: cloud xdat ydat zdat adat ['sch'="]
- Рисует облачный график для 3d массива, заданного параметрически
- ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k], ZDAT[i,j,k]). График состоит
- из кубиков с цветом и прозрачностью пропорциональной значениям
- ADAT. Результат похож на облако - малые значения прозрачны, а
- большие нет. Число кубиков зависит от *note meshnum::. Параметр
- ALPHA меняет общую прозрачность графика. См. также *note surf3::.
- См. раздел *note Cloud sample::, для примеров кода и графика.
-
- -- Команда MGL: beam tr g1 g2 adat `rval' ['sch'=" `flag=0 num=3']
- Рисует поверхность уровня для 3d массива ADAT при постоянном
- значении ADAT=VAL. Это специальный тип графика для ADAT заданного
- в сопровождающей системе координат вдоль кривой TR с ортами G1, G2
- и с поперечным размером RVAL. Переменная FLAG - битовый флаг:
- `0x1' - рисовать в сопровождающих (не лабораторных) координатах;
- `0x2' - рисовать проекцию на плоскость \rho-z; `0x4' - рисовать
- нормированное в каждом сечении поле. Размеры массивов по 1-му
- индексу TR, G1, G2 должны быть nx>2. Размеры массивов по 2-му
- индексу TR, G1, G2 и размер по 3-му индексу массива ADAT должны
- быть одинаковы. См. также *note surf3::.
+ Рисует облачный график для 3d
+ массива, заданного параметрически
+ ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k], ZDAT[i,j,k]). График
+ состоит из кубиков с цветом и
+ прозрачностью пропорциональной
+ значениям ADAT. Результат похож на
+ облако - малые значения прозрачны, а
+ большие нет. Число кубиков зависит
+ от *note meshnum::. Параметр ALPHA меняет
+ общую прозрачность графика. См.
+ также *note surf3::. См. раздел *note Cloud sample::,
+ для примеров кода и графика.
+
+ -- Команда MGL: beam tr g1 g2 adat `rval' ['sch'=" `flag=0
+ num=3']
+ Рисует поверхность уровня для 3d
+ массива ADAT при постоянном значении
+ ADAT=VAL. Это специальный тип графика
+ для ADAT заданного в сопровождающей
+ системе координат вдоль кривой TR с
+ ортами G1, G2 и с поперечным размером
+ RVAL. Переменная FLAG - битовый флаг: `0x1' -
+ рисовать в сопровождающих (не
+ лабораторных) координатах; `0x2' -
+ рисовать проекцию на плоскость \rho-z;
+ `0x4' - рисовать нормированное в
+ каждом сечении поле. Размеры
+ массивов по 1-му индексу TR, G1, G2
+ должны быть nx>2. Размеры массивов по
+ 2-му индексу TR, G1, G2 и размер по 3-му
+ индексу массива ADAT должны быть
+ одинаковы. См. также *note surf3::.
File: mgl_ru.info, Node: Dual plotting, Next: Vector fields, Prev: 3D plotting, Up: MGL interface
@@ -1739,95 +2431,136 @@ File: mgl_ru.info, Node: Dual plotting, Next: Vector fields, Prev: 3D plottin
1.13 Парные графики
================================
-Эти команды строят графики для двух связанных массивов. Есть несколько
-основных типов 3D графиков: поверхность и поверхность уровня с окраской
-по второму массиву (*note surfc::, *note surf3c::), поверхность и
-поверхность уровня с прозрачностью по второму массиву (*note surfa::,
-*note surf3a::), плитки переменного размера (*note tiles::), диаграмма
-точечного отображения (*note map::), STFA диаграмма (*note stfa::). В
-командах *note surf3a:: и *note surf3c:: значения уровней можно
-задавать автоматически и вручную. Каждый тип графика имеет похожий
-интерфейс. Есть версия для рисования одного массива с автоматическими
-координатами и версия для параметрически заданного массива.
-
- Строка SCH задает цветовую схему (*note Color scheme::). Предыдущая
-цветовая схема используется по умолчанию. Массивы X, Y, Z могут быть
-векторами (не 3d массивами как A). Если массивы XDAT, YDAT, ZDAT не
-указаны, то используются массивы со значениями равно распределенными
+Эти команды строят графики для двух
+связанных массивов. Есть несколько
+основных типов 3D графиков: поверхность
+и поверхность уровня с окраской по
+второму массиву (*note surfc::, *note surf3c::),
+поверхность и поверхность уровня с
+прозрачностью по второму массиву (*note
+surfa::, *note surf3a::), плитки переменного
+размера (*note tiles::), диаграмма точечного
+отображения (*note map::), STFA диаграмма (*note
+stfa::). В командах *note surf3a:: и *note surf3c::
+значения уровней можно задавать
+автоматически и вручную. Каждый тип
+графика имеет похожий интерфейс. Есть
+версия для рисования одного массива с
+автоматическими координатами и версия
+для параметрически заданного массива.
+
+ Строка SCH задает цветовую схему (*note
+Color scheme::). Предыдущая цветовая схема
+используется по умолчанию. Массивы X, Y,
+Z могут быть векторами (не 3d массивами
+как A). Если массивы XDAT, YDAT, ZDAT не
+указаны, то используются массивы со
+значениями равно распределенными
вдоль осей x, y, z.
-- Команда MGL: surfc zdat cdat ['sch'="]
-- Команда MGL: surfc xdat ydat zdat cdat ['sch'="]
- Рисует параметрически заданную поверхность {XDAT[i,j], YDAT[i,j],
- ZDAT[i,j]} с цветом, заданным массивом CDAT[i,j]. Если SCH
- содержит `#', то на поверхности рисуется сетка. См. также *note
- surf::, *note surfa::, *note surf3c::. См. раздел *note SurfC
- sample::, для примеров кода и графика.
+ Рисует параметрически заданную
+ поверхность {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} с
+ цветом, заданным массивом CDAT[i,j].
+ Если SCH содержит `#', то на
+ поверхности рисуется сетка. См.
+ также *note surf::, *note surfa::, *note surf3c::. См.
+ раздел *note SurfC sample::, для примеров
+ кода и графика.
-- Команда MGL: surf3c adat cdat `val' ['sch'="]
-- Команда MGL: surf3c xdat ydat zdat adat cdat `val' ['sch'="]
- Рисует поверхность уровня для 3d массива, заданного параметрически
+ Рисует поверхность уровня для 3d
+ массива, заданного параметрически
ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k], ZDAT[i,j,k]) при
- A(x,y,z)=VAL. Аналогично *note surf3::, но цвет задается массивом
- CDAT. Если SCH содержит `#', то рисуется сетчатая поверхность. См.
- также *note surf3::, *note surfc::, *note surf3a::. См. раздел
- *note Surf3C sample::, для примеров кода и графика.
+ A(x,y,z)=VAL. Аналогично *note surf3::, но цвет
+ задается массивом CDAT. Если SCH
+ содержит `#', то рисуется сетчатая
+ поверхность. См. также *note surf3::, *note
+ surfc::, *note surf3a::. См. раздел *note Surf3C sample::,
+ для примеров кода и графика.
-- Команда MGL: surf3c adat cdat ['sch'=" `num=5']
- -- Команда MGL: surf3c xdat ydat zdat adat cdat ['sch'=" `num=5']
- Рисует NUM поверхностей уровня равномерно распределенных в
- интервале цветовой шкалы (см. *note caxis::).
+ -- Команда MGL: surf3c xdat ydat zdat adat cdat ['sch'="
+ `num=5']
+ Рисует NUM поверхностей уровня
+ равномерно распределенных в
+ интервале цветовой шкалы (см. *note
+ caxis::).
-- Команда MGL: surfa zdat cdat ['sch'="]
-- Команда MGL: surfa xdat ydat zdat cdat ['sch'="]
- Рисует параметрически заданную поверхность {XDAT[i,j], YDAT[i,j],
- ZDAT[i,j]} с прозрачностью, заданным массивом CDAT[i,j]. Если SCH
- содержит `#', то на поверхности рисуется сетка. См. также *note
- surf::, *note surfc::, *note surf3a::. См. раздел *note SurfA
- sample::, для примеров кода и графика.
+ Рисует параметрически заданную
+ поверхность {XDAT[i,j], YDAT[i,j], ZDAT[i,j]} с
+ прозрачностью, заданным массивом
+ CDAT[i,j]. Если SCH содержит `#', то на
+ поверхности рисуется сетка. См.
+ также *note surf::, *note surfc::, *note surf3a::. См.
+ раздел *note SurfA sample::, для примеров
+ кода и графика.
-- Команда MGL: surf3a adat cdat `val' ['sch'="]
-- Команда MGL: surf3a xdat ydat zdat adat cdat `val' ['sch'="]
- Рисует поверхность уровня для 3d массива, заданного параметрически
+ Рисует поверхность уровня для 3d
+ массива, заданного параметрически
ADAT[i,j,k](XDAT[i,j,k], YDAT[i,j,k], ZDAT[i,j,k]) при
- A(x,y,z)=VAL. Аналогично *note surf3::, но прозрачность задается
- массивом CDAT. Если SCH содержит `#', то рисуется сетчатая
- поверхность. См. также *note surf3::, *note surfa::, *note
- surf3c::. См. раздел *note Surf3A sample::, для примеров кода и
+ A(x,y,z)=VAL. Аналогично *note surf3::, но
+ прозрачность задается массивом CDAT.
+ Если SCH содержит `#', то рисуется
+ сетчатая поверхность. См. также *note
+ surf3::, *note surfa::, *note surf3c::. См. раздел *note
+ Surf3A sample::, для примеров кода и
графика.
-- Команда MGL: surf3a adat cdat ['sch'=" `num=5']
- -- Команда MGL: surf3a xdat ydat zdat adat cdat ['sch'=" `num=5']
- Рисует NUM поверхностей уровня равномерно распределенных в
- интервале цветовой шкалы (см. *note caxis::).
+ -- Команда MGL: surf3a xdat ydat zdat adat cdat ['sch'="
+ `num=5']
+ Рисует NUM поверхностей уровня
+ равномерно распределенных в
+ интервале цветовой шкалы (см. *note
+ caxis::).
-- Команда MGL: tiles zdat rdat ['sch'="]
-- Команда MGL: tiles xdat ydat zdat rdat ['sch'="]
- Рисует плитки для параметрически заданной поверхности {XDAT[i,j],
- YDAT[i,j], ZDAT[i,j]}. Аналогично *note tile::, но размер плиток
- задается массивов RDAT. Это создает эффект "прозрачности" при
- экспорте в файлы EPS. См. также *note surfa::, *note tile::. См.
- раздел *note TileS sample::, для примеров кода и графика.
+ Рисует плитки для параметрически
+ заданной поверхности {XDAT[i,j], YDAT[i,j],
+ ZDAT[i,j]}. Аналогично *note tile::, но размер
+ плиток задается массивов RDAT. Это
+ создает эффект "прозрачности" при
+ экспорте в файлы EPS. См. также *note
+ surfa::, *note tile::. См. раздел *note TileS sample::,
+ для примеров кода и графика.
-- Команда MGL: map udat vdat ['sch'=" `pnts=on']
-- Команда MGL: map xdat ydat udat vdat ['sch'=" `pnts=on']
- Визуализирует точечное отображение для матриц {UDAT, VDAT }
- параметрически зависящих от координат XDAT, YDAT. Исходное
- положение ячейки задает ее цвет. Высота пропорциональна якобиану
- Jacobian(udat,vdat). График является аналогом диаграммы Арнольда.
- Если `pnts=off', то рисуются грани, иначе цветные точки рисуются в
- узлах матриц (полезно для "запутанного" отображения). См. раздел
- *note Map sample::, для примеров кода и графика.
+ Визуализирует точечное отображение
+ для матриц {UDAT, VDAT } параметрически
+ зависящих от координат XDAT, YDAT.
+ Исходное положение ячейки задает ее
+ цвет. Высота пропорциональна
+ якобиану Jacobian(udat,vdat). График
+ является аналогом диаграммы
+ Арнольда. Если `pnts=off', то рисуются
+ грани, иначе цветные точки рисуются
+ в узлах матриц (полезно для
+ "запутанного" отображения). См.
+ раздел *note Map sample::, для примеров кода
+ и графика.
-- Команда MGL: stfa re im `dn' ['sch'=" `pnts=on']
-- Команда MGL: stfa xdat ydat re im `dn' ['sch'=" `pnts=on']
- Рисует спектрограмму комплексного массива RE+i*`im' для Фурье
- размером DN точек. Параметр DN - любое четное число. Например в 1D
- случае, результатом будет график плотности от массива
- res[i,j]=|\sum_d^dn exp(I*j*d)*(re[i*dn+d]+I*im[i*dn+d])|/dn
- размером {int(nx/dn), dn, ny}. Массивы RE, IM параметрически
- зависят от координат XDAT, YDAT. См. раздел *note STFA sample::,
- для примеров кода и графика.
+ Рисует спектрограмму комплексного
+ массива RE+i*`im' для Фурье размером DN
+ точек. Параметр DN - любое четное
+ число. Например в 1D случае,
+ результатом будет график плотности
+ от массива res[i,j]=|\sum_d^dn
+ exp(I*j*d)*(re[i*dn+d]+I*im[i*dn+d])|/dn размером
+ {int(nx/dn), dn, ny}. Массивы RE, IM
+ параметрически зависят от
+ координат XDAT, YDAT. См. раздел *note STFA
+ sample::, для примеров кода и графика.
File: mgl_ru.info, Node: Vector fields, Next: Other plotting, Prev: Dual plotting, Up: MGL interface
@@ -1835,134 +2568,192 @@ File: mgl_ru.info, Node: Vector fields, Next: Other plotting, Prev: Dual plot
1.14 Векторные поля
================================
-Эти функции рисуют графики для 2D и 3D векторных полей. Есть несколько
-типов графиков: просто векторное поле (*note vect::), вектора вдоль
-траектории (*note traj::), векторное поле каплями (*note dew::), нити
-тока (*note flow::), трубки тока (*note pipe::). Каждый тип графика
-имеет похожий интерфейс. Есть версия для рисования одного массива с
-автоматическими координатами и версия для параметрически заданного
-массива.
-
- Строка SCH задает цветовую схему (*note Color scheme::). Предыдущая
-цветовая схема используется по умолчанию. Все размеры массивов AX и AY
-должны быть одинаковы. Младшие размерности массивов X, Y и AX должны
-быть одинаковы. Массивы X и Y могут быть векторами (не матрицами как
-AX). График строится для каждого z среза AX, AY для 2D случаев.
-
- -- Команда MGL: traj xdat ydat udat vdat ['sch'=" `zval=nan len=0']
- -- Команда MGL: traj xdat ydat zdat udat vdat wdat ['sch'=" `len=0']
- Рисует вектора {UDAT, VDAT, WDAT} вдоль кривой {XDAT, YDAT, ZDAT}.
- Длина векторов пропорциональна \sqrt{udat^2+vdat^2+wdat^2}. Строка
- PEN задает цвет (*note Line styles::). По умолчанию (`pen=''').
- Параметр LEN задает фактор длины векторов (если не нуль) или
- выбирать длину пропорционально расстоянию между точками кривой
- (если LEN=0). См. также *note vect::. См. раздел *note Traj
- sample::, для примеров кода и графика.
+Эти функции рисуют графики для 2D и 3D
+векторных полей. Есть несколько типов
+графиков: просто векторное поле (*note
+vect::), вектора вдоль траектории (*note traj::),
+векторное поле каплями (*note dew::), нити
+тока (*note flow::), трубки тока (*note pipe::).
+Каждый тип графика имеет похожий
+интерфейс. Есть версия для рисования
+одного массива с автоматическими
+координатами и версия для
+параметрически заданного массива.
+
+ Строка SCH задает цветовую схему (*note
+Color scheme::). Предыдущая цветовая схема
+используется по умолчанию. Все размеры
+массивов AX и AY должны быть одинаковы.
+Младшие размерности массивов X, Y и AX
+должны быть одинаковы. Массивы X и Y
+могут быть векторами (не матрицами как
+AX). График строится для каждого z среза
+AX, AY для 2D случаев.
+
+ -- Команда MGL: traj xdat ydat udat vdat ['sch'=" `zval=nan
+ len=0']
+ -- Команда MGL: traj xdat ydat zdat udat vdat wdat ['sch'="
+ `len=0']
+ Рисует вектора {UDAT, VDAT, WDAT} вдоль
+ кривой {XDAT, YDAT, ZDAT}. Длина векторов
+ пропорциональна \sqrt{udat^2+vdat^2+wdat^2}.
+ Строка PEN задает цвет (*note Line styles::). По
+ умолчанию (`pen='''). Параметр LEN задает
+ фактор длины векторов (если не нуль)
+ или выбирать длину пропорционально
+ расстоянию между точками кривой
+ (если LEN=0). См. также *note vect::. См.
+ раздел *note Traj sample::, для примеров кода
+ и графика.
-- Команда MGL: vect udat vdat ['sch'=" `zval=nan flag=0']
- -- Команда MGL: vect xdat ydat udat vdat ['sch'=" `zval=nan flag=0']
- Рисует векторное поле {UDAT, VDAT} параметрически зависящее от
- координат XDAT, YDAT на плоскости при Z=ZVAL. Длина и цвет
- векторов пропорциональна \sqrt{ax^2+ay^2}. Число рисуемых векторов
- зависит от *note meshnum::. Параметр FLAG побитовый флаг для
- настройки вид векторов: `1' - двуцветный вектор, `2' - одинаковая
- длина векторов, `4' - рисует стрелку в точку сетки, `8' - рисует
- стрелку с серединой в точке сетки, `16' - рисует штрихи вместо
- стрелок. См. также *note flow::, *note dew::, *note vectc::. См.
- раздел *note Vect sample::, для примеров кода и графика.
+ -- Команда MGL: vect xdat ydat udat vdat ['sch'=" `zval=nan
+ flag=0']
+ Рисует векторное поле {UDAT, VDAT}
+ параметрически зависящее от
+ координат XDAT, YDAT на плоскости при
+ Z=ZVAL. Длина и цвет векторов
+ пропорциональна \sqrt{ax^2+ay^2}. Число
+ рисуемых векторов зависит от *note
+ meshnum::. Параметр FLAG побитовый флаг
+ для настройки вид векторов: `1' -
+ двуцветный вектор, `2' - одинаковая
+ длина векторов, `4' - рисует стрелку в
+ точку сетки, `8' - рисует стрелку с
+ серединой в точке сетки, `16' - рисует
+ штрихи вместо стрелок. См. также *note
+ flow::, *note dew::, *note vectc::. См. раздел *note Vect
+ sample::, для примеров кода и графика.
-- Команда MGL: vect udat vdat wdat ['sch'=" `flag=0']
- -- Команда MGL: vect xdat ydat zdat udat vdat wdat ['sch'=" `flag=0']
- Это 3D версия графика. Здесь массивы UDAT, VDAT, WDAT должны быть
- 3d массивами, а длина и цвет пропорциональны
- \sqrt{udat^2+vdat^2+wdat^2}. См. раздел *note Vect 3D sample::,
- для примеров кода и графика.
+ -- Команда MGL: vect xdat ydat zdat udat vdat wdat ['sch'="
+ `flag=0']
+ Это 3D версия графика. Здесь массивы
+ UDAT, VDAT, WDAT должны быть 3d массивами, а
+ длина и цвет пропорциональны
+ \sqrt{udat^2+vdat^2+wdat^2}. См. раздел *note Vect 3D
+ sample::, для примеров кода и графика.
-- Команда MGL: vectc udat vdat ['sch'=" `zval=nan']
-- Команда MGL: vectc xdat ydat udat vdat ['sch'=" `zval=nan']
- Аналогично *note vect:: c `flag=2+16=18'. См. раздел *note VectC
- sample::, для примеров кода и графика.
+ Аналогично *note vect:: c `flag=2+16=18'. См.
+ раздел *note VectC sample::, для примеров
+ кода и графика.
-- Команда MGL: vectc udat vdat wdat ['sch'="]
-- Команда MGL: vectc xdat ydat zdat udat vdat wdat ['sch'="]
- Это 3D версия графика. Здесь массивы UDAT, VDAT, WDAT должны быть
- 3d массивами, а длина и цвет пропорциональны
- \sqrt{udat^2+vdat^2+wdat^2}. См. раздел *note VectC 3D sample::,
- для примеров кода и графика.
+ Это 3D версия графика. Здесь массивы
+ UDAT, VDAT, WDAT должны быть 3d массивами, а
+ длина и цвет пропорциональны
+ \sqrt{udat^2+vdat^2+wdat^2}. См. раздел *note VectC 3D
+ sample::, для примеров кода и графика.
-- Команда MGL: vectl udat vdat ['sch'=" `zval=nan']
-- Команда MGL: vectl xdat ydat udat vdat ['sch'=" `zval=nan']
- Аналогично *note vect:: c `flag=1+16=17'. См. раздел *note VectL
- sample::, для примеров кода и графика.
+ Аналогично *note vect:: c `flag=1+16=17'. См.
+ раздел *note VectL sample::, для примеров
+ кода и графика.
-- Команда MGL: vectl udat vdat wdat ['sch'="]
-- Команда MGL: vectl xdat ydat zdat udat vdat wdat ['sch'="]
- Это 3D версия графика. Здесь массивы UDAT, VDAT, WDAT должны быть
- 3d массивами, а длина и цвет пропорциональны
- \sqrt{udat^2+vdat^2+wdat^2}. См. раздел *note VectL 3D sample::,
- для примеров кода и графика.
+ Это 3D версия графика. Здесь массивы
+ UDAT, VDAT, WDAT должны быть 3d массивами, а
+ длина и цвет пропорциональны
+ \sqrt{udat^2+vdat^2+wdat^2}. См. раздел *note VectL 3D
+ sample::, для примеров кода и графика.
-- Команда MGL: dew udat vdat ['sch'=" `zval=nan']
-- Команда MGL: dew xdat ydat udat vdat ['sch'=" `zval=nan']
- Рисует капли для векторного поля {UDAT, VDAT}, параметрически
- зависящего от координат XDAT, YDAT при Z=ZVAL. Замечу, что график
- требует много памяти и процессорного времени для своего создания!
- Цвет капель пропорционален \sqrt{ax^2+ay^2}. Число капель
- определяется *note meshnum::. См. также *note vect::. См. раздел
- *note Dew sample::, для примеров кода и графика.
+ Рисует капли для векторного поля
+ {UDAT, VDAT}, параметрически зависящего
+ от координат XDAT, YDAT при Z=ZVAL. Замечу,
+ что график требует много памяти и
+ процессорного времени для своего
+ создания! Цвет капель
+ пропорционален \sqrt{ax^2+ay^2}. Число
+ капель определяется *note meshnum::. См.
+ также *note vect::. См. раздел *note Dew sample::,
+ для примеров кода и графика.
-- Команда MGL: flow udat vdat ['sch'=" `num=5 zval=nan']
- -- Команда MGL: flow xdat ydat udat vdat ['sch'=" `num=5 zval=nan']
- Рисует нити тока для векторного поля {UDAT, VDAT}, параметрически
- зависящего от координат XDAT, YDAT на плоскости при z = ZVAL.
- Число нитей пропорционально NUM. При NUM>0 нитей могут стартовать
- и изнутри сетки, в противном случае только с краев. Цвет нитей
- пропорционален \sqrt{udat^2+vdat^2}. Теплые цвета соответствуют
- нормальному току (типа стока). Холодные цвета соответствуют
- обратному току (типа источника). См. также *note pipe::, *note
- vect::. См. раздел *note Flow sample::, для примеров кода и
- графика.
+ -- Команда MGL: flow xdat ydat udat vdat ['sch'=" `num=5
+ zval=nan']
+ Рисует нити тока для векторного
+ поля {UDAT, VDAT}, параметрически
+ зависящего от координат XDAT, YDAT на
+ плоскости при z = ZVAL. Число нитей
+ пропорционально NUM. При NUM>0 нитей
+ могут стартовать и изнутри сетки, в
+ противном случае только с краев.
+ Цвет нитей пропорционален
+ \sqrt{udat^2+vdat^2}. Теплые цвета
+ соответствуют нормальному току
+ (типа стока). Холодные цвета
+ соответствуют обратному току (типа
+ источника). См. также *note pipe::, *note vect::.
+ См. раздел *note Flow sample::, для примеров
+ кода и графика.
-- Команда MGL: flow udat vdat wdat ['sch'=" `num=3']
- -- Команда MGL: flow xdat ydat zdat udat vdat wdat ['sch'=" `num=3']
- Это 3D версия графика. Здесь массивы UDAT, VDAT, WDAT должны быть
- 3d массивами, а цвет пропорционален \sqrt{udat^2+vdat^2+wdat^2}.
- См. раздел *note Flow 3D sample::, для примеров кода и графика.
+ -- Команда MGL: flow xdat ydat zdat udat vdat wdat ['sch'="
+ `num=3']
+ Это 3D версия графика. Здесь массивы
+ UDAT, VDAT, WDAT должны быть 3d массивами, а
+ цвет пропорционален \sqrt{udat^2+vdat^2+wdat^2}.
+ См. раздел *note Flow 3D sample::, для примеров
+ кода и графика.
-- Команда MGL: flow `x0 y0' udat vdat ['sch'=" `zval=nan']
- -- Команда MGL: flow `x0 y0' xdat ydat udat vdat ['sch'=" `zval=nan']
- Рисует нить тока из точки {X0, Y0} для векторного поля {UDAT,
- VDAT}, параметрически зависящего от координат XDAT, YDAT на
- плоскости при z = ZVAL. Цвет нити пропорционален
- \sqrt{udat^2+vdat^2}. Теплые цвета соответствуют нормальному току
- (типа стока). Холодные цвета соответствуют обратному току (типа
+ -- Команда MGL: flow `x0 y0' xdat ydat udat vdat ['sch'="
+ `zval=nan']
+ Рисует нить тока из точки {X0, Y0} для
+ векторного поля {UDAT, VDAT},
+ параметрически зависящего от
+ координат XDAT, YDAT на плоскости при z =
+ ZVAL. Цвет нити пропорционален
+ \sqrt{udat^2+vdat^2}. Теплые цвета
+ соответствуют нормальному току
+ (типа стока). Холодные цвета
+ соответствуют обратному току (типа
источника).
-- Команда MGL: flow `x0 y0 z0' udat vdat wdat ['sch'="]
- -- Команда MGL: flow `x0 y0 z0' xdat ydat zdat udat vdat wdat ['sch'="]
- Это 3D версия графика. Здесь массивы UDAT, VDAT, WDAT должны быть
- 3d массивами, а цвет пропорционален \sqrt{udat^2+vdat^2+wdat^2}.
+ -- Команда MGL: flow `x0 y0 z0' xdat ydat zdat udat vdat wdat
+ ['sch'="]
+ Это 3D версия графика. Здесь массивы
+ UDAT, VDAT, WDAT должны быть 3d массивами, а
+ цвет пропорционален \sqrt{udat^2+vdat^2+wdat^2}.
- -- Команда MGL: pipe udat vdat ['sch'=" `r0=0.05 num=5 zval=nan']
- -- Команда MGL: pipe xdat ydat udat vdat ['sch'=" `r0=0.05 num=5
+ -- Команда MGL: pipe udat vdat ['sch'=" `r0=0.05 num=5
zval=nan']
- Рисует трубки тока для векторного поля {UDAT, VDAT},
- параметрически зависящего от координат XDAT, YDAT на плоскости при
- z = ZVAL. Число трубок пропорционально NUM. При NUM>0 нитей могут
- стартовать и изнутри сетки, в противном случае только с краев.
- Цвет и радиус трубок пропорционален \sqrt{udat^2+vdat^2}. Теплые
- цвета соответствуют нормальному току (типа стока). Холодные цвета
- соответствуют обратному току (типа источника). Параметр R0 задает
- радиус трубок. При R0<0 радиус трубок обратно пропорционален их
- амплитуде. См. также *note flow::, *note vect::. См. раздел *note
+ -- Команда MGL: pipe xdat ydat udat vdat ['sch'=" `r0=0.05
+ num=5 zval=nan']
+ Рисует трубки тока для векторного
+ поля {UDAT, VDAT}, параметрически
+ зависящего от координат XDAT, YDAT на
+ плоскости при z = ZVAL. Число трубок
+ пропорционально NUM. При NUM>0 нитей
+ могут стартовать и изнутри сетки, в
+ противном случае только с краев.
+ Цвет и радиус трубок пропорционален
+ \sqrt{udat^2+vdat^2}. Теплые цвета
+ соответствуют нормальному току
+ (типа стока). Холодные цвета
+ соответствуют обратному току (типа
+ источника). Параметр R0 задает радиус
+ трубок. При R0<0 радиус трубок обратно
+ пропорционален их амплитуде. См.
+ также *note flow::, *note vect::. См. раздел *note
Pipe sample::, для примеров кода и графика.
-- Команда MGL: pipe udat vdat wdat ['sch'=" `r0=0.05 num=3']
- -- Команда MGL: pipe xdat ydat zdat udat vdat wdat ['sch'=" `r0=0.05
- num=3']
- Это 3D версия графика. Здесь массивы UDAT, VDAT, WDAT должны быть
- 3d массивами, а цвет пропорционален \sqrt{udat^2+vdat^2+wdat^2}.
- См. раздел *note Pipe 3D sample::, для примеров кода и графика.
+ -- Команда MGL: pipe xdat ydat zdat udat vdat wdat ['sch'="
+ `r0=0.05 num=3']
+ Это 3D версия графика. Здесь массивы
+ UDAT, VDAT, WDAT должны быть 3d массивами, а
+ цвет пропорционален \sqrt{udat^2+vdat^2+wdat^2}.
+ См. раздел *note Pipe 3D sample::, для примеров
+ кода и графика.
File: mgl_ru.info, Node: Other plotting, Next: Nonlinear fitting, Prev: Vector fields, Up: MGL interface
@@ -1970,115 +2761,164 @@ File: mgl_ru.info, Node: Other plotting, Next: Nonlinear fitting, Prev: Vecto
1.15 Прочие графики
================================
-Это команды, не относящиеся к какой-то специальной категории. Сюда
-входят функции построения графиков по текстовым формулам (*note
-fplot::, *note fsurf::), рисования поверхностей из треугольников (*note
-triplot::), произвольных точек в пространстве (*note dots::) и
-реконструкции по ним поверхности (*note crust::), графики плотности и
-линии уровня на плоскостях, перпендикулярных осям x, y или z
-(dens[xyz], cont[xyz], contf[xyz]). Каждый тип графика имеет похожий
-интерфейс. Есть версия для рисования одного массива с автоматическими
-координатами и версия для параметрически заданного массива. Строка SCH
-задает цветовую схему (*note Color scheme::). Предыдущая цветовая схема
+Это команды, не относящиеся к какой-то
+специальной категории. Сюда входят
+функции построения графиков по
+текстовым формулам (*note fplot::, *note fsurf::),
+рисования поверхностей из
+треугольников (*note triplot::), произвольных
+точек в пространстве (*note dots::) и
+реконструкции по ним поверхности (*note
+crust::), графики плотности и линии уровня
+на плоскостях, перпендикулярных осям x,
+y или z (dens[xyz], cont[xyz], contf[xyz]). Каждый тип
+графика имеет похожий интерфейс. Есть
+версия для рисования одного массива с
+автоматическими координатами и версия
+для параметрически заданного массива.
+Строка SCH задает цветовую схему (*note Color
+scheme::). Предыдущая цветовая схема
используется по умолчанию.
-- Команда MGL: densx dat ['sch'=" `val=nan']
-- Команда MGL: densy dat ['sch'=" `val=nan']
-- Команда MGL: densz dat ['sch'=" `val=nan']
- Рисуют график плотности на x, y или z плоскостях. Если DAT - 3d
- массив, то выполняется интерполяция к заданному срезу VAL. Функции
- полезны для создания проекций 3D массивов на оси координат. См.
- также `cont[xyz], contf[xyz]', *note dens::. См. раздел *note Dens
- projection sample::, для примеров кода и графика.
+ Рисуют график плотности на x, y или z
+ плоскостях. Если DAT - 3d массив, то
+ выполняется интерполяция к
+ заданному срезу VAL. Функции полезны
+ для создания проекций 3D массивов на
+ оси координат. См. также `cont[xyz],
+ contf[xyz]', *note dens::. См. раздел *note Dens
+ projection sample::, для примеров кода и
+ графика.
-- Команда MGL: contx dat ['sch'=" `val=nan num=7']
-- Команда MGL: conty dat ['sch'=" `val=nan num=7']
-- Команда MGL: contz dat ['sch'=" `val=nan num=7']
- Рисуют линии уровня на x, y или z плоскостях. Если DAT - 3d
- массив, то выполняется интерполяция к заданному срезу VAL. Функции
- полезны для создания проекций 3D массивов на оси координат. См.
- также `dens[xyz], contf[xyz]', *note cont::. См. раздел *note Cont
- projection sample::, для примеров кода и графика.
+ Рисуют линии уровня на x, y или z
+ плоскостях. Если DAT - 3d массив, то
+ выполняется интерполяция к
+ заданному срезу VAL. Функции полезны
+ для создания проекций 3D массивов на
+ оси координат. См. также `dens[xyz],
+ contf[xyz]', *note cont::. См. раздел *note Cont
+ projection sample::, для примеров кода и
+ графика.
-- Команда MGL: contfx dat ['sch'=" `val=nan num=7']
-- Команда MGL: contfy dat ['sch'=" `val=nan num=7']
-- Команда MGL: contfz dat ['sch'=" `val=nan num=7']
- Рисуют закрашенные контуры уровня на x, y или z плоскостях. Если
- DAT - 3d массив, то выполняется интерполяция к заданному срезу
- VAL. Функции полезны для создания проекций 3D массивов на оси
- координат. См. также `dens[xyz], cont[xyz]', *note contf::.
+ Рисуют закрашенные контуры уровня
+ на x, y или z плоскостях. Если DAT - 3d
+ массив, то выполняется интерполяция
+ к заданному срезу VAL. Функции
+ полезны для создания проекций 3D
+ массивов на оси координат. См. также
+ `dens[xyz], cont[xyz]', *note contf::.
-- Команда MGL: dots xdat ydat zdat ['sch'="]
-- Команда MGL: dots xdat ydat zdat adat ['sch'="]
- Рисует произвольно расположенные точки {XDAT[i], YDAT[i],
- ZDAT[i]}. Если определен массив ADAT[i], то он задает прозрачность
- точек. См. также *note crust::, *note mark::, *note plot::. См.
- раздел *note Dots sample::, для примеров кода и графика.
+ Рисует произвольно расположенные
+ точки {XDAT[i], YDAT[i], ZDAT[i]}. Если
+ определен массив ADAT[i], то он задает
+ прозрачность точек. См. также *note
+ crust::, *note mark::, *note plot::. См. раздел *note Dots
+ sample::, для примеров кода и графика.
-- Команда MGL: crust xdat ydat zdat ['sch'="]
- Реконструирует и рисует поверхность по произвольно расположенным
- точкам {XDAT[i], YDAT[i], ZDAT[i]}. Если строка содержит `#', то
- рисуется сетчатая поверхность. См. также *note dots::, *note
- triplot::. См. раздел *note Crust sample::, для примеров кода и
- графика.
+ Реконструирует и рисует
+ поверхность по произвольно
+ расположенным точкам {XDAT[i], YDAT[i],
+ ZDAT[i]}. Если строка содержит `#', то
+ рисуется сетчатая поверхность. См.
+ также *note dots::, *note triplot::. См. раздел *note
+ Crust sample::, для примеров кода и графика.
-- Команда MGL: triplot idat xdat ydat ['sch'=" `zval=nan']
-- Команда MGL: triplot idat xdat ydat zdat ['sch'="]
-- Команда MGL: triplot idat xdat ydat zdat cdat ['sch'="]
- Рисует поверхность из треугольников. Вершины треугольников
- задаются индексами IDAT в массиве точек {XDAT[i], YDAT[i],
- ZDAT[i]}. Если строка содержит `#', то рисуется сетчатая
- поверхность. Размер по 1-му индексу массива IDAT должен быть 3 или
- больше. Массивы XDAT, YDAT, ZDAT должны иметь одинаковые размеры.
- Массив CDAT задает цвет треугольников (если IDAT.ny=CDAT.nx) или
- цвет вершин (если XDAT.nx=CDAT.nx). См. также *note dots::, *note
- crust::, *note quadplot::, *note tricont::.
+ Рисует поверхность из
+ треугольников. Вершины
+ треугольников задаются индексами
+ IDAT в массиве точек {XDAT[i], YDAT[i], ZDAT[i]}.
+ Если строка содержит `#', то рисуется
+ сетчатая поверхность. Размер по 1-му
+ индексу массива IDAT должен быть 3 или
+ больше. Массивы XDAT, YDAT, ZDAT должны
+ иметь одинаковые размеры. Массив CDAT
+ задает цвет треугольников (если
+ IDAT.ny=CDAT.nx) или цвет вершин (если
+ XDAT.nx=CDAT.nx). См. также *note dots::, *note crust::,
+ *note quadplot::, *note tricont::.
-- Команда MGL: tricont vdat idat xdat ydat zdat cdat ['sch'="
`zval=nan']
- -- Команда MGL: tricont vdat idat xdat ydat zdat ['sch'=" `zval=nan']
- -- Команда MGL: tricont idat xdat ydat zdat ['sch'=" `num=7 zval=nan']
- Рисует линии уровня поверхности из треугольников при Z = ZVAL (или
- для z=VDAT[k] если `zval==NAN'). Вершины треугольников задаются
- индексами IDAT в массиве точек {XDAT[i], YDAT[i], ZDAT[i]}. Размер
- по 1-му индексу массива IDAT должен быть 3 или больше. Массивы
- XDAT, YDAT, ZDAT должны иметь одинаковые размеры. Массив CDAT
- (если указан) задает цвет треугольников (если IDAT.ny=CDAT.nx) или
- цвет вершин (если XDAT.nx=CDAT.nx). См. также *note triplot::,
- *note cont::.
+ -- Команда MGL: tricont vdat idat xdat ydat zdat ['sch'="
+ `zval=nan']
+ -- Команда MGL: tricont idat xdat ydat zdat ['sch'=" `num=7
+ zval=nan']
+ Рисует линии уровня поверхности из
+ треугольников при Z = ZVAL (или для
+ z=VDAT[k] если `zval==NAN'). Вершины
+ треугольников задаются индексами
+ IDAT в массиве точек {XDAT[i], YDAT[i], ZDAT[i]}.
+ Размер по 1-му индексу массива IDAT
+ должен быть 3 или больше. Массивы XDAT,
+ YDAT, ZDAT должны иметь одинаковые
+ размеры. Массив CDAT (если указан)
+ задает цвет треугольников (если
+ IDAT.ny=CDAT.nx) или цвет вершин (если
+ XDAT.nx=CDAT.nx). См. также *note triplot::, *note cont::.
-- Команда MGL: quadplot idat xdat ydat ['sch'=" `zval=nan']
-- Команда MGL: quadplot idat xdat ydat zdat ['sch'="]
-- Команда MGL: quadplot idat xdat ydat zdat cdat ['sch'="]
- Рисует поверхность из четырехугольников. Вершины треугольников
- задаются индексами IDAT в массиве точек {XDAT[i], YDAT[i],
- ZDAT[i]}. Если строка содержит `#', то рисуется сетчатая
- поверхность. Размер по 1-му индексу массива IDAT должен быть 4 или
- больше. Массивы XDAT, YDAT, ZDAT должны иметь одинаковые размеры.
- Массив CDAT задает цвет четырехугольников (если IDAT.ny=CDAT.nx)
- или цвет вершин (если XDAT.nx=CDAT.nx). См. также *note triplot::.
+ Рисует поверхность из
+ четырехугольников. Вершины
+ треугольников задаются индексами
+ IDAT в массиве точек {XDAT[i], YDAT[i], ZDAT[i]}.
+ Если строка содержит `#', то рисуется
+ сетчатая поверхность. Размер по 1-му
+ индексу массива IDAT должен быть 4 или
+ больше. Массивы XDAT, YDAT, ZDAT должны
+ иметь одинаковые размеры. Массив CDAT
+ задает цвет четырехугольников (если
+ IDAT.ny=CDAT.nx) или цвет вершин (если
+ XDAT.nx=CDAT.nx). См. также *note triplot::.
-- Команда MGL: fplot 'y(x)' ['pen'=" `zval=nan num=100']
- Рисует функцию `y(x)' в плоскости z=ZVAL с координатой `x' в
- диапазоне x-оси координат. Параметр NUM задает минимальное число
- точек по координате для графика. См. также *note plot::.
+ Рисует функцию `y(x)' в плоскости z=ZVAL с
+ координатой `x' в диапазоне x-оси
+ координат. Параметр NUM задает
+ минимальное число точек по
+ координате для графика. См. также *note
+ plot::.
-- Команда MGL: fplot 'x(t)' 'y(t)' 'z(t)' ['pen'=" `num=100']
- Рисует параметрическую кривую {`x(t)', `y(t)', `z(t)'}, где
- координата `t' меняется в диапазоне [0, 1]. Параметр NUM задает
- минимальное число точек по координате для графика. См. также *note
+ Рисует параметрическую кривую {`x(t)',
+ `y(t)', `z(t)'}, где координата `t' меняется
+ в диапазоне [0, 1]. Параметр NUM задает
+ минимальное число точек по
+ координате для графика. См. также *note
plot::.
-- Команда MGL: fsurf 'z(x,y)' ['sch'=" `num=100']
- Рисует поверхность `z(x,y)' с координатами `x', `y' в диапазоне
- x-,y-осей координат. Параметр NUM задает минимальное число точек
- по координатам для графика. См. также *note surf::.
-
- -- Команда MGL: fsurf 'x(u,v)' 'y(u,v)' 'z(u,v)' ['sch'=" `num=100']
- Рисует параметрическую поверхность {`x(u,v)', `y(u,v)', `z(u,v)'},
- где координаты `u', `v' меняются в диапазоне [0, 1]. Параметр NUM
- задает минимальное число точек по координатам для графика. См.
- также *note surf::.
+ Рисует поверхность `z(x,y)' с
+ координатами `x', `y' в диапазоне
+ x-,y-осей координат. Параметр NUM
+ задает минимальное число точек по
+ координатам для графика. См. также
+ *note surf::.
+
+ -- Команда MGL: fsurf 'x(u,v)' 'y(u,v)' 'z(u,v)' ['sch'="
+ `num=100']
+ Рисует параметрическую поверхность
+ {`x(u,v)', `y(u,v)', `z(u,v)'}, где координаты `u',
+ `v' меняются в диапазоне [0, 1].
+ Параметр NUM задает минимальное
+ число точек по координатам для
+ графика. См. также *note surf::.
File: mgl_ru.info, Node: Nonlinear fitting, Next: Data create, Prev: Other plotting, Up: MGL interface
@@ -2086,50 +2926,73 @@ File: mgl_ru.info, Node: Nonlinear fitting, Next: Data create, Prev: Other pl
1.16 Nonlinear fitting
======================
-Эти команды подбирают параметры функций для наилучшей аппроксимации
-данных, т.е. минимизируют сумму \sum_i (f(x_i, y_i, z_i) -
-a_i)^2/s_i^2. При этом аппроксимирующая функция `f' может зависеть от
-одного аргумента `x' (1D случай), от двух аргументов `x,y' (2D случай)
-или от трех аргументов `x,y,z' (3D случай). Функция `f' также может
-зависеть от параметров. Список параметров задается строкой VAR
-(например, `abcd'). Обычно пользователь должен предоставить начальные
-значения параметров в переменной INI. Однако, при его отсутствии
+Эти команды подбирают параметры
+функций для наилучшей аппроксимации
+данных, т.е. минимизируют сумму \sum_i (f(x_i,
+y_i, z_i) - a_i)^2/s_i^2. При этом
+аппроксимирующая функция `f' может
+зависеть от одного аргумента `x' (1D
+случай), от двух аргументов `x,y' (2D
+случай) или от трех аргументов `x,y,z' (3D
+случай). Функция `f' также может
+зависеть от параметров. Список
+параметров задается строкой VAR
+(например, `abcd'). Обычно пользователь
+должен предоставить начальные
+значения параметров в переменной INI.
+Однако, при его отсутствии
используются нулевые значения.
- Команды *note fit:: и *note fits:: не рисуют полученные массивы. Они
-заполняют массив FIT по формуле `f' с найденными коэффициентами. При
-этом, координаты `x,y,z' равно распределены в вдоль осей координат.
-Число точек в FIT выбирается максимальным из размера массива FIT и 100.
-Формулу с найденными коэффициентами можно вывести с помощью команды
-*note putsfit::. См. раздел *note Fitting sample::, для примеров кода и
-графика.
+ Команды *note fit:: и *note fits:: не рисуют
+полученные массивы. Они заполняют
+массив FIT по формуле `f' с найденными
+коэффициентами. При этом, координаты
+`x,y,z' равно распределены в вдоль осей
+координат. Число точек в FIT выбирается
+максимальным из размера массива FIT и 100.
+Формулу с найденными коэффициентами
+можно вывести с помощью команды *note
+putsfit::. См. раздел *note Fitting sample::, для
+примеров кода и графика.
- Размерность массивов должны быть не меньше, чем число указанных
-массивов XDAT, YDAT, ZDAT. Также подбор коэффициентов будет
-осуществляться только вдоль указанных направлений (например, вдоль x и
-y если указаны только XDAT и YDAT). Если массив XDAT не указан, то
-используется массив со значениями равно распределенными вдоль оси x.
+ Размерность массивов должны быть не
+меньше, чем число указанных массивов
+XDAT, YDAT, ZDAT. Также подбор коэффициентов
+будет осуществляться только вдоль
+указанных направлений (например, вдоль
+x и y если указаны только XDAT и YDAT). Если
+массив XDAT не указан, то используется
+массив со значениями равно
+распределенными вдоль оси x.
-- Команда MGL: fits adat sdat 'func' 'var' [ini=0]
-- Команда MGL: fits xdat adat sdat 'func' 'var' [ini=0]
-- Команда MGL: fits xdat ydat adat sdat 'func' 'var' [ini=0]
- -- Команда MGL: fits xdat ydat zdat adat sdat 'func' 'var' [ini=0]
- "Подгоняют" формулу вдоль x-, y- и z-направлений для массива
- заданного параметрически A[i,j,k](X[i,j,k], Y[i,j,k], Z[i,j,k]) с
- весовыми коэффициентами SDAT[i,j,k].
+ -- Команда MGL: fits xdat ydat zdat adat sdat 'func' 'var'
+ [ini=0]
+ "Подгоняют" формулу вдоль x-, y- и
+ z-направлений для массива заданного
+ параметрически A[i,j,k](X[i,j,k], Y[i,j,k],
+ Z[i,j,k]) с весовыми коэффициентами
+ SDAT[i,j,k].
-- Команда MGL: fit adat 'func' 'var' [ini=0]
-- Команда MGL: fit xdat adat 'func' 'var' [ini=0]
-- Команда MGL: fit xdat ydat adat 'func' 'var' [ini=0]
-- Команда MGL: fit xdat ydat zdat adat 'func' 'var' [ini=0]
- "Подгоняют" формулу вдоль x-, y- и z-направлений для массива
- заданного параметрически A[i,j,k](X[i,j,k], Y[i,j,k], Z[i,j,k]) с
- весовыми коэффициентами равными 1.
+ "Подгоняют" формулу вдоль x-, y- и
+ z-направлений для массива заданного
+ параметрически A[i,j,k](X[i,j,k], Y[i,j,k],
+ Z[i,j,k]) с весовыми коэффициентами
+ равными 1.
-- Команда MGL: putsfit `x y' ['pre'=" 'fnt'=" `size=-1']
- Печатает последнюю подобранную формулу с найденными коэффициентами
- в точке {X, Y}. Строка PRE будет напечатана перед формулой. Все
- другие параметры такие же как в *note Text printing::.
+ Печатает последнюю подобранную
+ формулу с найденными
+ коэффициентами в точке {X, Y}. Строка
+ PRE будет напечатана перед формулой.
+ Все другие параметры такие же как в
+ *note Text printing::.
File: mgl_ru.info, Node: Data create, Next: Data filling, Prev: Nonlinear fitting, Up: MGL interface
@@ -2138,48 +3001,66 @@ File: mgl_ru.info, Node: Data create, Next: Data filling, Prev: Nonlinear fit
==================================
-- Команда MGL: new dat [`nx=1 ny=1 nz=1']
- Создает/пересоздает массив с именем DAT данных указанного размера
- и заполняет его нулями. Ничего не делает при NX, NY, NZ
- отрицательных или равных нулю.
+ Создает/пересоздает массив с именем
+ DAT данных указанного размера и
+ заполняет его нулями. Ничего не
+ делает при NX, NY, NZ отрицательных или
+ равных нулю.
-- Команда MGL: var dat `num v1 [v2=nan]'
- Создает одномерный массив с именем DAT размером `num' и заполняет
- его равномерно в диапазоне [V1, V2]. Если V2=`nan', то
- используется V2=V1.
+ Создает одномерный массив с именем
+ DAT размером `num' и заполняет его
+ равномерно в диапазоне [V1, V2]. Если
+ V2=`nan', то используется V2=V1.
-- Команда MGL: list dat `v1 ...'
- Создает массив с именем DAT и заполняет его числовыми значениями
- аргументов `v1 ...'. Команда может создавать 1d- и 2d-массивы. Для
- создания 2d-массивов требуется указать разделитель строк данных
- `|'. Размер массива будет [максимальное число чисел в строке *
- число строк]. Например, команда `list 1 | 2 3' создаст массив [1
- 0; 2 3]. Отмечу, что максимальное число аргументов 1000.
+ Создает массив с именем DAT и
+ заполняет его числовыми значениями
+ аргументов `v1 ...'. Команда может
+ создавать 1d- и 2d-массивы. Для
+ создания 2d-массивов требуется
+ указать разделитель строк данных `|'.
+ Размер массива будет [максимальное
+ число чисел в строке * число строк].
+ Например, команда `list 1 | 2 3' создаст
+ массив [1 0; 2 3]. Отмечу, что
+ максимальное число аргументов 1000.
-- Команда MGL: list dat d1 ...
- Создает массив с именем DAT и заполняет его числами из массивов
- `d1 ...'. Команда может создавать 2d- и 3d-массивы (если аргументы
- 2d массивы). Младшие размерности всех массивов в аргументах должны
- быть равны размерности D1. Отмечу, что максимальное число
- аргументов 1000.
+ Создает массив с именем DAT и
+ заполняет его числами из массивов `d1
+ ...'. Команда может создавать 2d- и
+ 3d-массивы (если аргументы 2d массивы).
+ Младшие размерности всех массивов в
+ аргументах должны быть равны
+ размерности D1. Отмечу, что
+ максимальное число аргументов 1000.
-- Команда MGL: copy dat dat2 ['eq'=" `on_axis=on']
-- Команда MGL: copy dat `val'
- Создает массив с именем DAT и копирует в него данные из массива
- DAT2. При этом, если указан параметр EQ, то данные будут изменены
- по формуле аналогично команде *note fill:: (для `on_axis=on') или
- *note modify:: (для `on_axis=off').
+ Создает массив с именем DAT и
+ копирует в него данные из массива
+ DAT2. При этом, если указан параметр EQ,
+ то данные будут изменены по формуле
+ аналогично команде *note fill:: (для
+ `on_axis=on') или *note modify:: (для `on_axis=off').
-- Команда MGL: idset dat 'ids'
- Устанавливает символьные обозначения для колонок данных. Строка
- должна содержать символы 'a'...'z' один на колонку (без пробелов).
+ Устанавливает символьные
+ обозначения для колонок данных.
+ Строка должна содержать символы
+ 'a'...'z' один на колонку (без пробелов).
-- Команда MGL: info dat [`detail=off']
- Выводит информацию о массиве (размер, максимальное/минимальное
- значение, моменты и пр.). При `detail=off' показывается только
- краткая информация.
+ Выводит информацию о массиве
+ (размер, максимальное/минимальное
+ значение, моменты и пр.). При `detail=off'
+ показывается только краткая
+ информация.
-- Команда MGL: info 'text'
- Выводит текст TEXT как информацию (предупреждение).
+ Выводит текст TEXT как информацию
+ (предупреждение).
File: mgl_ru.info, Node: Data filling, Next: Rearrange data, Prev: Data create, Up: MGL interface
@@ -2188,42 +3069,59 @@ File: mgl_ru.info, Node: Data filling, Next: Rearrange data, Prev: Data creat
======================================
-- Команда MGL: fill dat v1 v2 ['dir'='x']
- Заполняет значениями равно распределенными в диапазоне [V1, V2] в
+ Заполняет значениями равно
+ распределенными в диапазоне [V1, V2] в
направлении DIR={`x',`y',`z'}.
-- Команда MGL: fill dat 'eq' [vdat=0 wdat=0]
- Заполняет значениями вычисленными по формуле EQ. Формула
- представляет собой произвольное выражение, зависящее от переменных
- `x', `y', `z', `u', `v', `w'. Координаты `x', `y', `z' полагаются
- меняющимися в диапазоне осей координат (в отличие от *note
- modify::). Переменная `u' - значения исходного массива, переменные
- `v', `w' - значения массивов VDAT, WDAT. Последние могут быть
- опущены.
+ Заполняет значениями вычисленными
+ по формуле EQ. Формула представляет
+ собой произвольное выражение,
+ зависящее от переменных `x', `y', `z', `u',
+ `v', `w'. Координаты `x', `y', `z' полагаются
+ меняющимися в диапазоне осей
+ координат (в отличие от *note modify::).
+ Переменная `u' - значения исходного
+ массива, переменные `v', `w' - значения
+ массивов VDAT, WDAT. Последние могут
+ быть опущены.
-- Команда MGL: modify dat 'eq' [`dim=0']
-- Команда MGL: modify dat 'eq' vdat [wdat=0]
- Заполняет значениями вычисленными по формуле EQ. Формула
- представляет собой произвольное выражение, зависящее от переменных
- `x', `y', `z', `u', `v', `w'. Координаты `x', `y', `z' полагаются
- меняющимися в диапазоне [0,1] (в отличие от *note fill::).
- Переменная `u' - значения исходного массива, переменные `v', `w' -
- значения массивов VDAT, WDAT. Последние могут быть опущены. Если
- указан DIM>0, то изменяются только слои >=DIM.
+ Заполняет значениями вычисленными
+ по формуле EQ. Формула представляет
+ собой произвольное выражение,
+ зависящее от переменных `x', `y', `z', `u',
+ `v', `w'. Координаты `x', `y', `z' полагаются
+ меняющимися в диапазоне [0,1] (в
+ отличие от *note fill::). Переменная `u' -
+ значения исходного массива,
+ переменные `v', `w' - значения массивов
+ VDAT, WDAT. Последние могут быть опущены.
+ Если указан DIM>0, то изменяются
+ только слои >=DIM.
-- MGL command: put dat `val [i=: j=: k=:]'
- Присваивает значения (под-)массива DAT[I, J, K] = VAL. Индексы I,
- J, K равные `:' задают значениия VAL для всего диапазона
- соответствующего направления(ий). Например, `put dat val : 0 :'
- задает DAT[i,0,j]=VAL для i=0...(DAT.nx-1), j=0...(DAT.nz-1).
+ Присваивает значения (под-)массива
+ DAT[I, J, K] = VAL. Индексы I, J, K равные `:'
+ задают значениия VAL для всего
+ диапазона соответствующего
+ направления(ий). Например, `put dat val : 0
+ :' задает DAT[i,0,j]=VAL для i=0...(DAT.nx-1),
+ j=0...(DAT.nz-1).
-- MGL command: put dat vdat [`i=: j=: k=:']
- Копирует значения из массива VDAT в диапазон значений массива DAT.
- Индексы I, J, K равные `:' задают диапазон изменения значений в
- соответствующих направление(ях). Младшие размерности массива VDAT
- должны быть больше выбранного диапазона массива DAT. Например,
- `put dat v : 0 :' присвоит DAT[i,0,j]=VDAT.ny>DAT.nz ? VDAT[i,j] :
- VDAT[i], где i=0...(DAT.nx-1), j=0...(DAT.nz-1) и условие
- vdat.nx>=dat.nx выполнено.
+ Копирует значения из массива VDAT в
+ диапазон значений массива DAT.
+ Индексы I, J, K равные `:' задают
+ диапазон изменения значений в
+ соответствующих направление(ях).
+ Младшие размерности массива VDAT
+ должны быть больше выбранного
+ диапазона массива DAT. Например, `put dat
+ v : 0 :' присвоит DAT[i,0,j]=VDAT.ny>DAT.nz ? VDAT[i,j] :
+ VDAT[i], где i=0...(DAT.nx-1), j=0...(DAT.nz-1) и
+ условие vdat.nx>=dat.nx выполнено.
File: mgl_ru.info, Node: Rearrange data, Next: File I/O, Prev: Data filling, Up: MGL interface
@@ -2232,43 +3130,59 @@ File: mgl_ru.info, Node: Rearrange data, Next: File I/O, Prev: Data filling,
=====================================================
-- Команда MGL: rearrange dat `mx [my=0 mz=0]'
- Изменяет размерность данных без изменения самого массива данных,
- так что результирующий массив MX*MY*MZ < nx*ny*nz. Если один из
- параметров MY или MZ ноль, то он будет выбран оптимальным образом.
- Например, если MY=0, то будет MY=nx*ny*nz/MX и MZ=1.
+ Изменяет размерность данных без
+ изменения самого массива данных,
+ так что результирующий массив MX*MY*MZ <
+ nx*ny*nz. Если один из параметров MY или MZ
+ ноль, то он будет выбран оптимальным
+ образом. Например, если MY=0, то будет
+ MY=nx*ny*nz/MX и MZ=1.
-- Команда MGL: extend dat `n1 [n2=0]'
- Увеличивает размер данных путем вставки (|N1|+1) новых срезов
- после (для N1>0) или перед (для N1<0) существующими данными. Можно
- добавить сразу 2 размерности для 1d массива, используя второй
- параметр N2. Данные в новые срезы будут скопированы из
- существующих. Например, для N1>0 новый массив будет a_ij^new =
- a_i^old where j=0...N1. Соответственно, для N1<0 новый массив
+ Увеличивает размер данных путем
+ вставки (|N1|+1) новых срезов после (для
+ N1>0) или перед (для N1<0) существующими
+ данными. Можно добавить сразу 2
+ размерности для 1d массива,
+ используя второй параметр N2. Данные
+ в новые срезы будут скопированы из
+ существующих. Например, для N1>0 новый
+ массив будет a_ij^new = a_i^old where j=0...N1.
+ Соответственно, для N1<0 новый массив
будет a_ij^new = a_j^old, где i=0...|N1|.
-- Команда MGL: transpose dat ['dim'='yxz']
- Транспонирует (меняет порядок размерностей) массив данных. Новый
- порядок размерностей задается строкой DIM.
+ Транспонирует (меняет порядок
+ размерностей) массив данных. Новый
+ порядок размерностей задается
+ строкой DIM.
-- Команда MGL: squeeze dat `rx [ry=1 rz=1 sm=off]'
- Уменьшает размер данных путем удаления элементов с индексами не
- кратными RX, RY, RZ соответственно. Параметр SMOOTH задает
- использовать сглаживания (т.е. out[i]=\sum_{j=i,i+r} a[j]/r) или
- нет (т.е. out[i]=a[j*r]).
+ Уменьшает размер данных путем
+ удаления элементов с индексами не
+ кратными RX, RY, RZ соответственно.
+ Параметр SMOOTH задает использовать
+ сглаживания (т.е. out[i]=\sum_{j=i,i+r} a[j]/r)
+ или нет (т.е. out[i]=a[j*r]).
-- Команда MGL: crop dat `n1 n2' 'dir'
- Обрезает границы данных при I<N1 и I>N2 (при N2>0) или
- I>`n[xyz]'-N2 (при N2<=0) вдоль направления DIR.
+ Обрезает границы данных при I<N1 и I>N2
+ (при N2>0) или I>`n[xyz]'-N2 (при N2<=0) вдоль
+ направления DIR.
-- Команда MGL: delete dat
- Удаляет массив DAT и освобождает использованную память. Может быть
- полезно для больших неиспользуемых массивов.
+ Удаляет массив DAT и освобождает
+ использованную память. Может быть
+ полезно для больших неиспользуемых
+ массивов.
-- Команда MGL: delete dat 'dir' `[pos=off num=0]'
- Удаляет NUM срезов вдоль направления DIR с позиции POS.
+ Удаляет NUM срезов вдоль направления
+ DIR с позиции POS.
-- Команда MGL: insert dat 'dir' `[pos=off num=0]'
- Вставляет NUM срезов вдоль направления DIR с позиции POS и
+ Вставляет NUM срезов вдоль
+ направления DIR с позиции POS и
заполняет их нулями.
@@ -2278,53 +3192,71 @@ File: mgl_ru.info, Node: File I/O, Next: Make another data, Prev: Rearrange d
===================================================
-- Команда MGL: read dat 'fname'
- Читает данные из текстового файла с разделителями символом
- пробела/табуляции с автоматическим определением размера массива.
- Двойной перевод строки начинает новый срез данных (по направлению
- z).
+ Читает данные из текстового файла с
+ разделителями символом
+ пробела/табуляции с автоматическим
+ определением размера массива.
+ Двойной перевод строки начинает
+ новый срез данных (по направлению z).
-- Команда MGL: read dat 'fname' `mx [my=1 mz=1]'
- Читает данные из текстового файла с заданными размерами. Ничего не
- делается если параметры MX, MY или MZ равны нулю или отрицательны.
+ Читает данные из текстового файла с
+ заданными размерами. Ничего не
+ делается если параметры MX, MY или MZ
+ равны нулю или отрицательны.
-- Команда MGL: readmat dat 'fname' [`dim=2']
- Читает данные из текстового файла с размерами, указанными в первых
- DIM числах файла. При этом переменная DIM задает размерность (1d,
- 2d, 3d) данных.
+ Читает данные из текстового файла с
+ размерами, указанными в первых DIM
+ числах файла. При этом переменная DIM
+ задает размерность (1d, 2d, 3d) данных.
-- Команда MGL: readall dat 'templ' `v1 v2 [dv=1 slice=off]'
- Объединяет данные из нескольких текстовых файлов. Имена файлов
- определяются вызовом функции `sprintf(fname,templ,val);', где VAL
- меняется от V1 до V2 с шагом DV. Данные загружаются один за другим
- в один и тот же срез данных (при SLICE=`off') или срез-за-срезом
- (при SLICE=`on').
+ Объединяет данные из нескольких
+ текстовых файлов. Имена файлов
+ определяются вызовом функции
+ `sprintf(fname,templ,val);', где VAL меняется от V1
+ до V2 с шагом DV. Данные загружаются
+ один за другим в один и тот же срез
+ данных (при SLICE=`off') или
+ срез-за-срезом (при SLICE=`on').
-- Команда MGL: readall dat 'templ' `[slice=off]'
- Объединяет данные из нескольких текстовых файлов, чьи имена
- удовлетворяют шаблону TEMPL (например, TEMPL=`"t_*.dat"'). Данные
- загружаются один за другим в один и тот же срез данных (при
- SLICE=`off') или срез-за-срезом (при SLICE=`on').
+ Объединяет данные из нескольких
+ текстовых файлов, чьи имена
+ удовлетворяют шаблону TEMPL (например,
+ TEMPL=`"t_*.dat"'). Данные загружаются один
+ за другим в один и тот же срез данных
+ (при SLICE=`off') или срез-за-срезом (при
+ SLICE=`on').
-- Команда MGL: save dat 'fname'
- Сохраняет массив данных в текстовый файл.
+ Сохраняет массив данных в текстовый
+ файл.
-- Команда MGL: readhdf dat 'fname' 'dname'
- Читает массив с именем DNAME из HDF5 или HDF4 файла FNAME.
+ Читает массив с именем DNAME из HDF5 или
+ HDF4 файла FNAME.
-- Команда MGL: savehdf dat 'fname' 'dname'
- Сохраняет массив под именем DNAME в HDF5 или HDF4 файл FNAME.
+ Сохраняет массив под именем DNAME в HDF5
+ или HDF4 файл FNAME.
-- Команда MGL: import dat 'fname' 'sch' [`v1=0 v2=1']
- Читает данные из растрового файла. RGB значения пикселов
- преобразуются в число в диапазоне [V1, V2] используя цветовую
- схему SCH (*note Color scheme::).
+ Читает данные из растрового файла.
+ RGB значения пикселов преобразуются
+ в число в диапазоне [V1, V2] используя
+ цветовую схему SCH (*note Color scheme::).
-- Команда MGL: export dat 'fname' 'sch' [`v1=0 v2=0']
- Сохраняет данные в растровый файл. Числовые значения,
- нормированные в диапазон [V1, V2], преобразуются в RGB значения
- пикселов, используя цветовую схему SCH (*note Color scheme::).
- Если V1>=V2, то значения V1, V2 определяются автоматически как
- минимальное и максимальное значение данных.
+ Сохраняет данные в растровый файл.
+ Числовые значения, нормированные в
+ диапазон [V1, V2], преобразуются в RGB
+ значения пикселов, используя
+ цветовую схему SCH (*note Color scheme::). Если
+ V1>=V2, то значения V1, V2 определяются
+ автоматически как минимальное и
+ максимальное значение данных.
File: mgl_ru.info, Node: Make another data, Next: Change data, Prev: File I/O, Up: MGL interface
@@ -2333,147 +3265,213 @@ File: mgl_ru.info, Node: Make another data, Next: Change data, Prev: File I/O
=============================================
-- Команда MGL: combine res adat bdat
- Возвращает в массиве данных RES прямое произведение массивов
+ Возвращает в массиве данных RES
+ прямое произведение массивов
(наподобие, res[i,j] = adat[i]*bdat[j] и т.д.).
-- Команда MGL: evaluate res dat idat [`norm=on']
-- Команда MGL: evaluate res dat idat jdat [`norm=on']
-- Команда MGL: evaluate res dat idat jdat kdat [`norm=on']
- Возвращает массив данных RES, полученный в результате интерполяции
- исходного массива в точках других массивов (например,
- res[i,j]=dat[idat[i,j],jdat[i,j]]). Размеры массивов IDAT, JDAT,
- KDAT должны совпадать. Координаты в IDAT, JDAT, KDAT полагаются
- нормированными в диапазон [0,1] (при NORM=`on') или в диапазоны
- [0,nx], [0,ny], [0,nz] соответственно.
+ Возвращает массив данных RES,
+ полученный в результате
+ интерполяции исходного массива в
+ точках других массивов (например,
+ res[i,j]=dat[idat[i,j],jdat[i,j]]). Размеры
+ массивов IDAT, JDAT, KDAT должны совпадать.
+ Координаты в IDAT, JDAT, KDAT полагаются
+ нормированными в диапазон [0,1] (при
+ NORM=`on') или в диапазоны [0,nx], [0,ny], [0,nz]
+ соответственно.
-- Команда MGL: hist res dat `num v1 v2 [nsub=0]'
-- Команда MGL: hist res dat wdat `num v1 v2 [nsub=0]'
- Возвращает распределение (гистограмму) RES из NUM точек от
- значений массива DAT в диапазоне [V1, V2]. Массив WDAT задает веса
- элементов (все веса равны 1 если WDAT не указан). Параметр NSUB
- задает число дополнительных точек интерполяции (для сглаживания
- получившейся гистограммы).
+ Возвращает распределение
+ (гистограмму) RES из NUM точек от
+ значений массива DAT в диапазоне [V1,
+ V2]. Массив WDAT задает веса элементов
+ (все веса равны 1 если WDAT не указан).
+ Параметр NSUB задает число
+ дополнительных точек интерполяции
+ (для сглаживания получившейся
+ гистограммы).
-- Команда MGL: hist res xdat adat
-- Команда MGL: hist res xdat ydat adat
-- Команда MGL: hist res xdat ydat zdat adat
- Возвращает распределение (гистограмму) RES от значений массива
- ADAT, параметрически зависящего от координат {XDAT,YDAT,ZDAT} в
- диапазоне осей координат. Массив ADAT играет роль веса точки.
- Число точек в результате RES - максимум из размера RES и 100.
+ Возвращает распределение
+ (гистограмму) RES от значений массива
+ ADAT, параметрически зависящего от
+ координат {XDAT,YDAT,ZDAT} в диапазоне осей
+ координат. Массив ADAT играет роль
+ веса точки. Число точек в результате
+ RES - максимум из размера RES и 100.
-- Команда MGL: momentum res dat 'how' ['dir'='z']
- Возвращает в массиве данных RES момент (1d массив) данных DAT
- вдоль направления DIR. Строка HOW определяет тип момента. Момент
- определяется как res_k = \sum_ij how(x_i,y_j,z_k) dat_ij/ \sum_ij
- a_ij если DIR=`z' и т.д. Координаты `x', `y', `z' - индексы
- массива в диапазоне [0,1].
+ Возвращает в массиве данных RES
+ момент (1d массив) данных DAT вдоль
+ направления DIR. Строка HOW определяет
+ тип момента. Момент определяется как
+ res_k = \sum_ij how(x_i,y_j,z_k) dat_ij/ \sum_ij a_ij если
+ DIR=`z' и т.д. Координаты `x', `y', `z' -
+ индексы массива в диапазоне [0,1].
-- Команда MGL: sum res dat 'dir'
- Возвращает в массиве данных RES результат суммирования DAT вдоль
+ Возвращает в массиве данных RES
+ результат суммирования DAT вдоль
направления(ий) DIR.
-- Команда MGL: max res dat 'dir'
- Возвращает в массиве данных RES максимальное значение DAT вдоль
- направления(ий) DIR. Gets array which is the maximal data values
- in given direction or direction(s).
+ Возвращает в массиве данных RES
+ максимальное значение DAT вдоль
+ направления(ий) DIR. Gets array which is the maximal
+ data values in given direction or direction(s).
-- Команда MGL: min res dat 'dir'
- Возвращает в массиве данных RES минимальное значение DAT вдоль
+ Возвращает в массиве данных RES
+ минимальное значение DAT вдоль
направления(ий) DIR.
-- Команда MGL: resize res dat `mx [my=1 mz=1]'
- Возвращает массив данных RES размером MX, MY, MZ со значениями
- полученными интерполяцией значений массива DAT.
+ Возвращает массив данных RES
+ размером MX, MY, MZ со значениями
+ полученными интерполяцией значений
+ массива DAT.
-- Команда MGL: subdata res dat `xx [yy=: zz=:]'
- Возвращает в RES подмассив массива данных DAT с фиксированными
- значениями индексов с положительными значениями. Например,
- `subdata a b : 2' выделяет третью строку (индексы начинаются с
- нуля), `subdata a b 4 :' выделяет 5-ую колонку, `subdata a b : :
- 3' выделяет 4-ый срез и т.д.
+ Возвращает в RES подмассив массива
+ данных DAT с фиксированными
+ значениями индексов с
+ положительными значениями.
+ Например, `subdata a b : 2' выделяет третью
+ строку (индексы начинаются с нуля),
+ `subdata a b 4 :' выделяет 5-ую колонку, `subdata
+ a b : : 3' выделяет 4-ый срез и т.д.
-- Команда MGL: trace res dat
- Возвращает массив REF диагональных элементов DAT[i,i] (для 2D
- данных) или DAT[i,i,i] (для 3D данных) где i=0...nx-1. В 1D случае
- возвращается сам массив данных DAT. Размеры массива данных должен
- быть DAT.ny, DAT.nz >= DAT.nx или DAT.ny, DAT.nz = 1.
+ Возвращает массив REF диагональных
+ элементов DAT[i,i] (для 2D данных) или
+ DAT[i,i,i] (для 3D данных) где i=0...nx-1. В 1D
+ случае возвращается сам массив
+ данных DAT. Размеры массива данных
+ должен быть DAT.ny, DAT.nz >= DAT.nx или DAT.ny,
+ DAT.nz = 1.
-- Команда MGL: transform dat 'type' real imag
- Выполняет интегральное преобразование комплексных данных REAL,
- IMAG в выбранном направлении и возвращает модуль результата в RES.
- Порядок и тип преобразований задается строкой TYPE: первый символ
- для x-направления, второй для y-направления, третий для
- z-направления. Возможные символы: `f' - прямое преобразование
- Фурье, `i' - обратное преобразование Фурье, `s' - синус
- преобразование, `c' - косинус преобразование, `h' - преобразование
- Ханкеля, `n' или ` ' - нет преобразования.
+ Выполняет интегральное
+ преобразование комплексных данных
+ REAL, IMAG в выбранном направлении и
+ возвращает модуль результата в RES.
+ Порядок и тип преобразований
+ задается строкой TYPE: первый символ
+ для x-направления, второй для
+ y-направления, третий для
+ z-направления. Возможные символы: `f' -
+ прямое преобразование Фурье, `i' -
+ обратное преобразование Фурье, `s' -
+ синус преобразование, `c' - косинус
+ преобразование, `h' - преобразование
+ Ханкеля, `n' или ` ' - нет
+ преобразования.
-- Команда MGL: transforma dat 'type' ampl phase
- Аналогично предыдущему с заданными амплитудой AMPL и фазой PHASE
+ Аналогично предыдущему с заданными
+ амплитудой AMPL и фазой PHASE
комплексных чисел.
-- Команда MGL: stfad res real imag `dn' ['dir'='x']
- Выполняет оконное преобразование Фурье длиной DN для комплексных
- данных REAL, IMAG и возвращает модуль результата в RES. Например,
- для DIR=`x' результат будет иметь размер {int(nx/dn), dn, ny} и
- будет равен res[i,j,k]=|\sum_d^dn
+ Выполняет оконное преобразование
+ Фурье длиной DN для комплексных
+ данных REAL, IMAG и возвращает модуль
+ результата в RES. Например, для DIR=`x'
+ результат будет иметь размер {int(nx/dn),
+ dn, ny} и будет равен res[i,j,k]=|\sum_d^dn
exp(I*j*d)*(real[i*dn+d,k]+I*imag[i*dn+d,k])|/dn.
-- Команда MGL: pde res 'ham' ini_re ini_im [`dz=0.1 k0=100']
- Решает уравнение в частных производных du/dz =
- i*k0*HAM(p,q,x,y,z,|u|)[u], где p=-i/k0*d/dx, q=-i/k0*d/dy -
- псевдо-дифференциальные операторы. Параметры INI_RE, INI_IM задают
- начальное распределение поля. Координаты в уравнении и в решении
- полагаются в диапазоне осей координат. Замечу, что внутри этот
- диапазон увеличивается в 3/2 раза для уменьшения отражения от
- границ расчетного интервала. Параметр DZ задает шаг по
- эволюционной координате z. В данный момент использован упрощенный
- алгоритм, когда все "смешанные" члена (типа `x*p'->x*d/dx)
- исключаются. Например, в 2D случае это функции типа ham = f(p,z) +
- g(x,z,u). При этом допускаются коммутирующие комбинации (типа
- `x*q'->x*d/dy). Переменная `u' используется для обозначения
- амплитуды поля |u|. Это позволяет решать нелинейные задачи -
- например, нелинейное уравнение Шредингера `ham='p^2+q^2-u^2''.
- Также можно указать мнимую часть для поглощения (типа `ham =
- 'p^2+i*x*(x>0)''), но только если зависимость от `i' линейная,
- т.е. ham = hre+i*him. См. раздел *note PDE sample::, для примеров
- кода и графика.
+ Решает уравнение в частных
+ производных du/dz = i*k0*HAM(p,q,x,y,z,|u|)[u], где
+ p=-i/k0*d/dx, q=-i/k0*d/dy -
+ псевдо-дифференциальные операторы.
+ Параметры INI_RE, INI_IM задают начальное
+ распределение поля. Координаты в
+ уравнении и в решении полагаются в
+ диапазоне осей координат. Замечу,
+ что внутри этот диапазон
+ увеличивается в 3/2 раза для
+ уменьшения отражения от границ
+ расчетного интервала. Параметр DZ
+ задает шаг по эволюционной
+ координате z. В данный момент
+ использован упрощенный алгоритм,
+ когда все "смешанные" члена (типа
+ `x*p'->x*d/dx) исключаются. Например, в 2D
+ случае это функции типа ham = f(p,z) +
+ g(x,z,u). При этом допускаются
+ коммутирующие комбинации (типа
+ `x*q'->x*d/dy). Переменная `u' используется
+ для обозначения амплитуды поля |u|.
+ Это позволяет решать нелинейные
+ задачи - например, нелинейное
+ уравнение Шредингера `ham='p^2+q^2-u^2''.
+ Также можно указать мнимую часть
+ для поглощения (типа `ham = 'p^2+i*x*(x>0)''),
+ но только если зависимость от `i'
+ линейная, т.е. ham = hre+i*him. См. раздел *note
+ PDE sample::, для примеров кода и графика.
+
+ -- Команда MGL: ray res 'ham' `x0 y0 z0 p0 q0 v0 [dt=0.1
+ tmax=10]'
+ Решает систему геометрооптических
+ уравнений d_r_/dt = d HAM/d_p_, d_p_/dt = -d HAM/d_r_.
+ Это гамильтоновы уравнения для
+ траектории частицы в 3D случае.
+ Гамильтониан HAM может зависеть от
+ координат `x', `y', `z', импульсов `p'=px,
+ `q'=py, `v'=pz и времени `t': ham = H(x,y,z,p,q,v,t).
+ Начальная точка (при `t=0') задается
+ переменными {X0, Y0, Z0, P0, Q0, V0}.
+ Параметры DT и TMAX задают шаг и
+ максимальное время интегрирования.
+ Результат RES - массив {x,y,z,p,q,v,t} с
+ размером {7 * int(TMAX/DT+1) }. См. раздел *note
+ Beam tracing sample::, для примеров кода и
+ графика.
- -- Команда MGL: ray res 'ham' `x0 y0 z0 p0 q0 v0 [dt=0.1 tmax=10]'
- Решает систему геометрооптических уравнений d_r_/dt = d HAM/d_p_,
- d_p_/dt = -d HAM/d_r_. Это гамильтоновы уравнения для траектории
- частицы в 3D случае. Гамильтониан HAM может зависеть от координат
- `x', `y', `z', импульсов `p'=px, `q'=py, `v'=pz и времени `t': ham
- = H(x,y,z,p,q,v,t). Начальная точка (при `t=0') задается
- переменными {X0, Y0, Z0, P0, Q0, V0}. Параметры DT и TMAX задают
- шаг и максимальное время интегрирования. Результат RES - массив
- {x,y,z,p,q,v,t} с размером {7 * int(TMAX/DT+1) }. См. раздел *note
- Beam tracing sample::, для примеров кода и графика.
-
- -- Команда MGL: qo2d res 'ham' ini_re ini_im ray [`r=1 k0=100' xx=0
- yy=0]
- Решает уравнение в частных производных du/dt =
- i*k0*HAM(p,q,x,y,|u|)[u] в сопровождающей системе координат, где
- p=-i/k0*d/dx, q=-i/k0*d/dy - псевдо-дифференциальные операторы.
- Параметры INI_RE, INI_IM задают начальное распределение поля.
- Параметр RAY задает опорный луч для сопровождающей системы
- координат. Можно использовать луч найденный с помощью `ray'.
- Опорный луч должен быть достаточно гладкий, чтобы система
- координат была однозначной и для исключения ошибок интегрирования.
- Если массивы XX и YY указаны, то в них записываются декартовы
- координаты для каждой точки найденного решения. См. также *note
- pde::. См. раздел *note Beam tracing sample::, для примеров кода и
+ -- Команда MGL: qo2d res 'ham' ini_re ini_im ray [`r=1 k0=100'
+ xx=0 yy=0]
+ Решает уравнение в частных
+ производных du/dt = i*k0*HAM(p,q,x,y,|u|)[u] в
+ сопровождающей системе координат,
+ где p=-i/k0*d/dx, q=-i/k0*d/dy -
+ псевдо-дифференциальные операторы.
+ Параметры INI_RE, INI_IM задают начальное
+ распределение поля. Параметр RAY
+ задает опорный луч для
+ сопровождающей системы координат.
+ Можно использовать луч найденный с
+ помощью `ray'. Опорный луч должен быть
+ достаточно гладкий, чтобы система
+ координат была однозначной и для
+ исключения ошибок интегрирования.
+ Если массивы XX и YY указаны, то в них
+ записываются декартовы координаты
+ для каждой точки найденного
+ решения. См. также *note pde::. См. раздел
+ *note Beam tracing sample::, для примеров кода и
графика.
-- Команда MGL: jacobian res xdat ydat [zdat=0]
- Вычисляет якобиан преобразования {i,j,k} в {XDAT,YDAT,ZDAT}, где
- координаты {i,j,k} полагаются нормированными в интервал [0,1].
- Якобиан находится по формуле det||dr_\alpha/d\xi_\beta||, где
- r={XDAT,YDAT,ZDAT} и \xi={i,j,k}. Все размерности всех массивов
- должны быть одинаковы. Данные должны быть трехмерными если указаны
- все 3 массива {XDAT,YDAT,ZDAT} или двумерными если только 2
- массива {XDAT,YDAT}.
+ Вычисляет якобиан преобразования
+ {i,j,k} в {XDAT,YDAT,ZDAT}, где координаты {i,j,k}
+ полагаются нормированными в
+ интервал [0,1]. Якобиан находится по
+ формуле det||dr_\alpha/d\xi_\beta||, где
+ r={XDAT,YDAT,ZDAT} и \xi={i,j,k}. Все размерности
+ всех массивов должны быть
+ одинаковы. Данные должны быть
+ трехмерными если указаны все 3
+ массива {XDAT,YDAT,ZDAT} или двумерными
+ если только 2 массива {XDAT,YDAT}.
File: mgl_ru.info, Node: Change data, Next: Operators, Prev: Make another data, Up: MGL interface
@@ -2481,87 +3479,121 @@ File: mgl_ru.info, Node: Change data, Next: Operators, Prev: Make another dat
1.22 Изменение данных
====================================
-Эти команды изменяют данные вдоль заданного направления(ий) типа
-например дифференцирования, интегрирования и т.д. Направление
-указывается строкой DIR, которая может содержать символы `x', `y' и/или
-`z', вдоль которых изменения будут применены.
+Эти команды изменяют данные вдоль
+заданного направления(ий) типа
+например дифференцирования,
+интегрирования и т.д. Направление
+указывается строкой DIR, которая может
+содержать символы `x', `y' и/или `z', вдоль
+которых изменения будут применены.
-- Команда MGL: cumsum dat 'dir'
- Суммирует с накоплением в выбранном направлении(ях).
+ Суммирует с накоплением в выбранном
+ направлении(ях).
-- Команда MGL: integrate dat 'dir'
- Выполняет интегрирование (подобно суммированию с накоплением) в
+ Выполняет интегрирование (подобно
+ суммированию с накоплением) в
выбранном направлении(ях).
-- Команда MGL: diff dat 'dir'
- Выполняет дифференцирование в выбранном направлении(ях).
+ Выполняет дифференцирование в
+ выбранном направлении(ях).
-- Команда MGL: diff dat xdat ydat [zdat=0]
- Выполняет дифференцирование данных DAT, параметрически зависящих
- от координат, в направлении XDAT с YDAT, ZDAT=constant. Параметр
- ZDAT может быть опущен, что соответствует 2D случаю. Используются
- следующие формулы (2D случай): da/dx =
- (a_j*y_i-a_i*y_j)/(x_j*y_i-x_i*y_j), где a_i=da/di, a_j=da/dj
- обозначает дифференцирование вдоль 1-ой и 2-ой размерности.
- Похожие формулы используются и в 3D случае. Порядок аргументов
- можно менять - например, если данные a(i,j) зависят от координат
- {x(i,j), y(i,j)}, то обычная производная по `x' будет равна `diff
- a x y', а обычная производная по `y' будет равна `diff a y x'.
+ Выполняет дифференцирование данных
+ DAT, параметрически зависящих от
+ координат, в направлении XDAT с YDAT,
+ ZDAT=constant. Параметр ZDAT может быть
+ опущен, что соответствует 2D случаю.
+ Используются следующие формулы (2D
+ случай): da/dx = (a_j*y_i-a_i*y_j)/(x_j*y_i-x_i*y_j), где
+ a_i=da/di, a_j=da/dj обозначает
+ дифференцирование вдоль 1-ой и 2-ой
+ размерности. Похожие формулы
+ используются и в 3D случае. Порядок
+ аргументов можно менять - например,
+ если данные a(i,j) зависят от
+ координат {x(i,j), y(i,j)}, то обычная
+ производная по `x' будет равна `diff a x
+ y', а обычная производная по `y' будет
+ равна `diff a y x'.
-- Команда MGL: diff2 dat 'dir'
- Выполняет двойное дифференцирование (как в операторе Лапласа) в
- выбранном направлении(ях).
+ Выполняет двойное
+ дифференцирование (как в операторе
+ Лапласа) в выбранном направлении(ях).
-- Команда MGL: sinfft dat 'dir'
- Выполняет синус преобразование в выбранном направлении(ях). Синус
+ Выполняет синус преобразование в
+ выбранном направлении(ях). Синус
преобразование есть \sum a_i \sin(k i).
-- Команда MGL: cosfft dat 'dir'
- Выполняет косинус преобразование в выбранном направлении(ях).
- Синус преобразование есть \sum a_i \cos(k i).
+ Выполняет косинус преобразование в
+ выбранном направлении(ях). Синус
+ преобразование есть \sum a_i \cos(k i).
-- Команда MGL: hankel dat 'dir'
- Выполняет преобразование Ханкеля в выбранном направлении(ях).
- Преобразование Ханкеля есть \sum a_i J_0(k i).
+ Выполняет преобразование Ханкеля в
+ выбранном направлении(ях).
+ Преобразование Ханкеля есть \sum a_i
+ J_0(k i).
-- Команда MGL: swap dat 'dir'
- Меняет местами левую и правую части данных в выбранном
- направлении(ях). Полезно для отображения результата FFT.
+ Меняет местами левую и правую части
+ данных в выбранном направлении(ях).
+ Полезно для отображения результата
+ FFT.
-- Команда MGL: roll dat 'dir' num
- Сдвигает данные на NUM ячеек в выбранном направлении(ях).
- Соответствует замене индекса на I->(I+NUM)%N.
+ Сдвигает данные на NUM ячеек в
+ выбранном направлении(ях).
+ Соответствует замене индекса на
+ I->(I+NUM)%N.
-- Команда MGL: mirror dat 'dir'
- Отражает данные в выбранном направлении(ях). Соответствует замене
- индекса на I->N-I.
+ Отражает данные в выбранном
+ направлении(ях). Соответствует
+ замене индекса на I->N-I.
-- Команда MGL: sew dat ['dir'='xyz' `da=2*pi']
- Удаляет скачки данных (например, скачки фазы после обратных
- тригонометрических функций) с периодом DA в выбранном
+ Удаляет скачки данных (например,
+ скачки фазы после обратных
+ тригонометрических функций) с
+ периодом DA в выбранном
направлении(ях).
-- Команда MGL: smooth data `type' ['dir'='xyz']
- Сглаживает данные в выбранном направлении(ях) методом TYPE. Сейчас
- поддерживаются 4 метода: `0' ничего не делает, `1' линейное
- усреднение по 3 точкам, `2' линейное усреднение по 5 точкам, `3'
- квадратичное усреднение по 5 точкам.
+ Сглаживает данные в выбранном
+ направлении(ях) методом TYPE. Сейчас
+ поддерживаются 4 метода: `0' ничего не
+ делает, `1' линейное усреднение по 3
+ точкам, `2' линейное усреднение по 5
+ точкам, `3' квадратичное усреднение
+ по 5 точкам.
-- Команда MGL: envelop dat ['dir'='x']
- Находит огибающую данных в выбранном направлении. Только одно
- направление может быть выбрано за раз.
+ Находит огибающую данных в
+ выбранном направлении. Только одно
+ направление может быть выбрано за
+ раз.
-- Команда MGL: normsl dat `v1 v2' ['dir'='z' `keep=on sym=off']
- Нормирует данные срез-за-срезом в выбранном направлении DIR в
- интервал [V1,V2]. Если SYM=`on', то используется симметричный
- интервал [-max(|v1|,|v2|), max(|v1|,|v2|)]. Если KEEP=`on', то
- максимальное значение k-го среза ограничено величиной \sqrt{\sum
- a_ij(k)/\sum a_ij(0)}.
+ Нормирует данные срез-за-срезом в
+ выбранном направлении DIR в интервал
+ [V1,V2]. Если SYM=`on', то используется
+ симметричный интервал [-max(|v1|,|v2|),
+ max(|v1|,|v2|)]. Если KEEP=`on', то максимальное
+ значение k-го среза ограничено
+ величиной \sqrt{\sum a_ij(k)/\sum a_ij(0)}.
-- Команда MGL: norm dat `v1 v2 [sym=off dim=0]'
- Нормирует данные в интервал [V1,V2]. Если SYM=`on', то
- используется симметричный интервал [-max(|v1|,|v2|),
- max(|v1|,|v2|)]. Изменения применяются только к срезам >=DIM.
+ Нормирует данные в интервал [V1,V2].
+ Если SYM=`on', то используется
+ симметричный интервал [-max(|v1|,|v2|),
+ max(|v1|,|v2|)]. Изменения применяются
+ только к срезам >=DIM.
File: mgl_ru.info, Node: Operators, Next: Program flow, Prev: Change data, Up: MGL interface
@@ -2582,13 +3614,15 @@ File: mgl_ru.info, Node: Operators, Next: Program flow, Prev: Change data, U
Делит каждый элемент на число.
-- Команда MGL: addto dat dat2
- Поэлементно прибавляет DAT2 к массиву DAT.
+ Поэлементно прибавляет DAT2 к массиву
+ DAT.
-- Команда MGL: addto dat `val'
Прибавляет число к каждому элементу.
-- Команда MGL: subto dat dat2
- Поэлементно вычитает DAT2 из массива DAT.
+ Поэлементно вычитает DAT2 из массива
+ DAT.
-- Команда MGL: subto dat `val'
Вычитает число из каждого элемента.
@@ -2599,89 +3633,115 @@ File: mgl_ru.info, Node: Program flow, Next: Command options, Prev: Operators
1.24 Программирование
=====================================
-Эти команды управляют порядком выполнения других команд (условия,
-циклы, подпрограммы), (пере-)определяют аргументы скрипта и пр.
+Эти команды управляют порядком
+выполнения других команд (условия,
+циклы, подпрограммы), (пере-)определяют
+аргументы скрипта и пр.
-- Команда MGL: chdir 'path'
Переходит в папку PATH.
-- Команда MGL: define $N smth
- Задает N-ый аргумент скрипта равным SMTH. Отмечу, что SMTH
- используется как есть (с символами `'' если присутствуют).
- Выполняется только подстановка других макроопределений $0...$9,
- $a...$z. Здесь N это цифра (0...9) или буква (a...z).
+ Задает N-ый аргумент скрипта равным
+ SMTH. Отмечу, что SMTH используется как
+ есть (с символами `'' если
+ присутствуют). Выполняется только
+ подстановка других
+ макроопределений $0...$9, $a...$z. Здесь N
+ это цифра (0...9) или буква (a...z).
-- Команда MGL: define name smth
- Определяет константу (скаляр) с именем `name' и числовым значением
- `smth'. Позднее она может быть использована как обычное число.
+ Определяет константу (скаляр) с
+ именем `name' и числовым значением `smth'.
+ Позднее она может быть использована
+ как обычное число.
-- Команда MGL: defchr $N smth
- Задает N-ый аргумент скрипта равным символу с UTF кодом SMTH.
- Здесь N это цифра (0...9) или буква (a...z).
+ Задает N-ый аргумент скрипта равным
+ символу с UTF кодом SMTH. Здесь N это
+ цифра (0...9) или буква (a...z).
-- Команда MGL: defnum $N smth
- Задает N-ый аргумент скрипта равным числовому значению SMTH. Здесь
- N это цифра (0...9) или буква (a...z).
+ Задает N-ый аргумент скрипта равным
+ числовому значению SMTH. Здесь N это
+ цифра (0...9) или буква (a...z).
-- Команда MGL: defpal $N smth
- Задает N-ый аргумент скрипта равным символу палитры с индексом,
- найденным из SMTH. Здесь N это цифра (0...9) или буква (a...z).
+ Задает N-ый аргумент скрипта равным
+ символу палитры с индексом,
+ найденным из SMTH. Здесь N это цифра
+ (0...9) или буква (a...z).
-- Команда MGL: call 'fname' [ARG1 ARG2 ... ARG9]
- Переходит к выполнению (вызывает) подпрограммы FNAME (или внешнего
- скрипта, если функция не была найдена). Опциональные аргументы
- передаются в подпрограмму. См. также *note func::.
+ Переходит к выполнению (вызывает)
+ подпрограммы FNAME (или внешнего
+ скрипта, если функция не была
+ найдена). Опциональные аргументы
+ передаются в подпрограмму. См. также
+ *note func::.
-- Команда MGL: func 'fname' [narg=0]
- Определяет подпрограмму с именем FNAME и задает число требуемых
- аргументов. Аргументы будут помещены в параметры скрипта $1, $2,
- ... $9. Отмечу, что выполнение основной программы должно быть
- остановлено до начала определений подпрограмм. См. также *note
- stop::, *note return::.
+ Определяет подпрограмму с именем
+ FNAME и задает число требуемых
+ аргументов. Аргументы будут
+ помещены в параметры скрипта $1, $2, ...
+ $9. Отмечу, что выполнение основной
+ программы должно быть остановлено
+ до начала определений подпрограмм.
+ См. также *note stop::, *note return::.
-- Команда MGL: return
Возвращается из подпрограммы.
-- Команда MGL: if dat 'cond'
- Начинает блок команд, выполняемый если каждый элемент DAT
+ Начинает блок команд, выполняемый
+ если каждый элемент DAT
удовлетворяет условию COND.
-- Команда MGL: if `val'
- Начинает блок команд, выполняемый если `val' не ноль.
+ Начинает блок команд, выполняемый
+ если `val' не ноль.
-- Команда MGL: elseif dat 'cond'
- Начинает блок команд, выполняемый если предыдущий `if' или
- `elseif' не был выполнен и каждый элемент DAT удовлетворяет
- условию COND.
+ Начинает блок команд, выполняемый
+ если предыдущий `if' или `elseif' не был
+ выполнен и каждый элемент DAT
+ удовлетворяет условию COND.
-- Команда MGL: elseif `val'
- Начинает блок команд, выполняемый если предыдущий `if' или
- `elseif' не был выполнен и `val' не ноль.
+ Начинает блок команд, выполняемый
+ если предыдущий `if' или `elseif' не был
+ выполнен и `val' не ноль.
-- Команда MGL: else
- Начинает блок команд, выполняемый если предыдущий `if' или
- `elseif' не был выполнен.
+ Начинает блок команд, выполняемый
+ если предыдущий `if' или `elseif' не был
+ выполнен.
-- Команда MGL: endif
- Заканчивает определение блока `if/elseif/else'.
+ Заканчивает определение блока
+ `if/elseif/else'.
-- Команда MGL: for $N `v1 v2 [dv=1]'
- Начинает блок команд, выполняемый в цикле с $N-ым аргументом
- изменяющимся от V1 до V2 с шагом DV. Здесь N это цифра (0...9) или
- буква (a...z).
+ Начинает блок команд, выполняемый в
+ цикле с $N-ым аргументом
+ изменяющимся от V1 до V2 с шагом DV.
+ Здесь N это цифра (0...9) или буква (a...z).
-- Команда MGL: for $N dat
- Начинает блок команд, выполняемый в цикле с $N-ым аргументом
- пробегающим значения массива DAT. Здесь N это цифра (0...9) или
- буква (a...z).
+ Начинает блок команд, выполняемый в
+ цикле с $N-ым аргументом пробегающим
+ значения массива DAT. Здесь N это
+ цифра (0...9) или буква (a...z).
-- Команда MGL: next
Заканчивает блок цикла `for'.
-- Команда MGL: once `val'
- Определяет код (между `once on' и `once off') который будет
- выполнен только один раз. Полезно для работы с большими данными в
- программах типа UDAV.
+ Определяет код (между `once on' и `once off')
+ который будет выполнен только один
+ раз. Полезно для работы с большими
+ данными в программах типа UDAV.
-- Команда MGL: stop
Останавливает выполнение скрипта.
@@ -2692,61 +3752,81 @@ File: mgl_ru.info, Node: Command options, Next: Suffixes, Prev: Program flow,
1.25 Опции команд
============================
-Опции команд позволяют легко настроить вид отдельного графика не меняя
-глобальных настроек для все рисунка. Опции указываются после команды.
-Каждая опция отделяется от предыдущей символом `;'. Опции работают так,
-что запоминают текущие настройки рисунка, применяют собственные
-настройки, выполняют команду и возвращают глобальные настройки обратно.
-Поэтому использование опций для команд обработки данных или настройки
-графика бесполезно.
-
- Наиболее часто используемые опции - `xrange, yrange, zrange',
-устанавливающие границы изменения осей координат (и тем самым
-автоматических массивов). Например, команда `plot y; xrange 0.1 0.9'
-построит кривую с x-координатой равно распределенной в интервале 0.1
-... 0.9, а не вдоль текущей оси x.
+Опции команд позволяют легко
+настроить вид отдельного графика не
+меняя глобальных настроек для все
+рисунка. Опции указываются после
+команды. Каждая опция отделяется от
+предыдущей символом `;'. Опции работают
+так, что запоминают текущие настройки
+рисунка, применяют собственные
+настройки, выполняют команду и
+возвращают глобальные настройки
+обратно. Поэтому использование опций
+для команд обработки данных или
+настройки графика бесполезно.
+
+ Наиболее часто используемые опции -
+`xrange, yrange, zrange', устанавливающие границы
+изменения осей координат (и тем самым
+автоматических массивов). Например,
+команда `plot y; xrange 0.1 0.9' построит кривую
+с x-координатой равно распределенной в
+интервале 0.1 ... 0.9, а не вдоль текущей
+оси x.
Полный список опций:
-- Опция MGL: alpha `val'
-- Опция MGL: alphadef `val'
- Задает величину прозрачности поверхности. Значение должно быть в
+ Задает величину прозрачности
+ поверхности. Значение должно быть в
диапазоне [0, 1]. См. также *note alphadef::
-- Опция MGL: ambient `val'
- Задает яркость фонового освещения. Значение должно быть в
- диапазоне [0, 1]. См. также *note ambient::
+ Задает яркость фонового освещения.
+ Значение должно быть в диапазоне [0,
+ 1]. См. также *note ambient::
-- Опция MGL: crange `val1 val2'
- Задает границы цветовой шкалы. См. также *note crange::
+ Задает границы цветовой шкалы. См.
+ также *note crange::
-- Опция MGL: xrange `val1 val2'
- Задает границы изменения координаты x. См. также *note xrange::
+ Задает границы изменения
+ координаты x. См. также *note xrange::
-- Опция MGL: yrange `val1 val2'
- Задает границы изменения координаты y. См. также *note yrange::
+ Задает границы изменения
+ координаты y. См. также *note yrange::
-- Опция MGL: zrange `val1 val2'
- Задает границы изменения координаты z. См. также *note zrange::
+ Задает границы изменения
+ координаты z. См. также *note zrange::
-- Опция MGL: cut `val'
- Задает обрезание точек за пределами осей координат. См. также
- *note cut::
+ Задает обрезание точек за пределами
+ осей координат. См. также *note cut::
-- Опция MGL: fontsize `val'
- Задает размер текста. См. также *note font::
+ Задает размер текста. См. также *note
+ font::
-- Опция MGL: marksize `val'
- Задает размер маркеров. См. также *note marksize::
+ Задает размер маркеров. См. также *note
+ marksize::
-- Опция MGL: meshnum `val'
- Задает ориентировочное число линий, стрелок, ячеек и пр. См. также
- *note meshnum::
+ Задает ориентировочное число линий,
+ стрелок, ячеек и пр. См. также *note
+ meshnum::
-- Опция MGL: legend 'txt'
- Добавляет строку 'txt' во внутренний массив записей легенды. Стиль
- линии и маркера аргумента последней вызванной команды построения
- *note 1D plotting::. См. также *note legend::
+ Добавляет строку 'txt' во внутренний
+ массив записей легенды. Стиль линии
+ и маркера аргумента последней
+ вызванной команды построения *note 1D
+ plotting::. См. также *note legend::
File: mgl_ru.info, Node: Suffixes, Next: Utilities, Prev: Command options, Up: MGL interface
@@ -2754,18 +3834,25 @@ File: mgl_ru.info, Node: Suffixes, Next: Utilities, Prev: Command options, U
1.26 Суффиксы переменных
==========================================
-Суффиксы позволяют быстро получить числовую характеристику (размер,
-максимальное или минимальное значение, сумму элементов и т.д.) массива
-данных и использовать ее как число (скаляр) в аргументах. Суффиксы
-начинаются с точки `.' сразу после (без пробелов) имени переменной и
-временного массива. Например, `a.nx' даст размер массива A по оси х,
-`b(1).max' даст максимальное значение второй строки массива B,
-`(c(:,0)^2).sum' даст сумму квадратов элементов первой колонки массива
-C и т.д.
+Суффиксы позволяют быстро получить
+числовую характеристику (размер,
+максимальное или минимальное
+значение, сумму элементов и т.д.)
+массива данных и использовать ее как
+число (скаляр) в аргументах. Суффиксы
+начинаются с точки `.' сразу после (без
+пробелов) имени переменной и
+временного массива. Например, `a.nx' даст
+размер массива A по оси х, `b(1).max' даст
+максимальное значение второй строки
+массива B, `(c(:,0)^2).sum' даст сумму
+квадратов элементов первой колонки
+массива C и т.д.
Полный список суффиксов:
*nx, ny, nz*
- Размер массива в направлении x, y, z соответственно.
+ Размер массива в направлении x, y, z
+ соответственно.
*max*
Максимальное значение массива.
@@ -2777,31 +3864,39 @@ C и т.д.
Сумма элементов массива.
*a*
- Первый элемент массива (элемент с индексами 0,0,0).
+ Первый элемент массива (элемент с
+ индексами 0,0,0).
*fst*
Первое не нулевое значение массива.
*lst*
- Последнее не нулевое значение массива.
+ Последнее не нулевое значение
+ массива.
*mx, my, mz*
- Положение максимума в направлении x, y, z соответственно.
+ Положение максимума в направлении x,
+ y, z соответственно.
*ax, ay, az, aa*
- Положение центра масс в направлении x, y, z соответственно или
- среднее значение массива.
+ Положение центра масс в направлении
+ x, y, z соответственно или среднее
+ значение массива.
*wx, wy, wz, wa*
- Ширина в направлении x, y, z соответственно или дисперсия
+ Ширина в направлении x, y, z
+ соответственно или дисперсия
элементов массива.
*sx, sy, sz, sa*
- Асимметрия в направлении x, y, z соответственно или элементов
+ Асимметрия в направлении x, y, z
+ соответственно или элементов
массива.
*kx, ky, kz, ka*
- Эксцесс в направлении x, y, z соответственно или элементов массива.
+ Эксцесс в направлении x, y, z
+ соответственно или элементов
+ массива.
File: mgl_ru.info, Node: Utilities, Prev: Suffixes, Up: MGL interface
@@ -2809,30 +3904,44 @@ File: mgl_ru.info, Node: Utilities, Prev: Suffixes, Up: MGL interface
1.27 Утилиты для MGL
==============================
-MathGL содержит несколько программ для работы со скриптами MGL. Есть
-утилита для сохранения в растровое (`mgl2png', `mgl2gif') или векторное
-(`mgl2eps', `mgl2svg') изображения. Программа `mglview' показывает
-результат выполнения скрипта MGL и позволяет вращать и настраивать
-график. Также можно транслировать MGL скрипт в C++ файл с помощью
-программы `mgl2cpp'.
-
- Все эти программы имеют схожий набор аргументов. Первым идет имя
-скрипта, а вторым идет имя выходного файлы (может быть опущено),
-последние аргументы - опции скрипта и программы. К опциям относятся
-параметры скрипта (это `$0, $1, ... $9') и настройки локали. Параметры
-скрипта имеют формат `-Nval', где N=0,1...9 - номер параметра, val -
-его значние. Например, опция `-1test' заменит `$1' на `test' в скрипте.
-Опция -Lval устанавливает локаль в значение val. Например, `-Lutf8'
+MathGL содержит несколько программ для
+работы со скриптами MGL. Есть утилита
+для сохранения в растровое (`mgl2png',
+`mgl2gif') или векторное (`mgl2eps', `mgl2svg')
+изображения. Программа `mglview'
+показывает результат выполнения
+скрипта MGL и позволяет вращать и
+настраивать график. Также можно
+транслировать MGL скрипт в C++ файл с
+помощью программы `mgl2cpp'.
+
+ Все эти программы имеют схожий набор
+аргументов. Первым идет имя скрипта, а
+вторым идет имя выходного файлы (может
+быть опущено), последние аргументы -
+опции скрипта и программы. К опциям
+относятся параметры скрипта (это `$0, $1,
+... $9') и настройки локали. Параметры
+скрипта имеют формат `-Nval', где N=0,1...9 -
+номер параметра, val - его значние.
+Например, опция `-1test' заменит `$1' на `test'
+в скрипте. Опция -Lval устанавливает
+локаль в значение val. Например, `-Lutf8'
будет использовать UTF-8 в скрипте.
- Также можно создавать анимированные изображения GIF или набор JPEG
-файлов с именами `frameNNNN.jpg' (где `NNNN' - номер кадра). Для этого
-в скрипте надо указать параметры анимации для каждого кадра (строками с
-коментариями `##a val' или опциями `-Aval') или в цикле (строкой с
-комментарием `##с v1 v2 [dv]' или опцию `-Cn1:n2'), которые будут
-подставлены в качестве параметра `$0' при последовательном вызове
-скрипта. Для сохранения кадров в JPEG просто добавьте команду `write
-''' в конце скрипта.
+ Также можно создавать анимированные
+изображения GIF или набор JPEG файлов с
+именами `frameNNNN.jpg' (где `NNNN' - номер кадра).
+Для этого в скрипте надо указать
+параметры анимации для каждого кадра
+(строками с коментариями `##a val' или
+опциями `-Aval') или в цикле (строкой с
+комментарием `##с v1 v2 [dv]' или опцию
+`-Cn1:n2'), которые будут подставлены в
+качестве параметра `$0' при
+последовательном вызове скрипта. Для
+сохранения кадров в JPEG просто добавьте
+команду `write ''' в конце скрипта.
File: mgl_ru.info, Node: Examples, Next: Samples, Prev: MGL interface, Up: Top
@@ -3892,9 +5001,12 @@ File: mgl_ru.info, Node: Samples, Next: Copying This Manual, Prev: Examples,
3 Примеры использования MathGL
**************************************************
-Эта глава содержит множество примеров кода для всех типов графиков,
-наиболее важных возможностей библиотеки и советов. Аналогичные примеры
-(с картинками) можно найти на `http://mathgl.sf.net/pictures.html'.
+Эта глава содержит множество примеров
+кода для всех типов графиков, наиболее
+важных возможностей библиотеки и
+советов. Аналогичные примеры (с
+картинками) можно найти на
+`http://mathgl.sf.net/pictures.html'.
* Menu:
@@ -6032,44 +7144,6 @@ text -0.5 0.5 'Plot $1 of 4'
fplot 'sin(pi*x+pi*$1/2)'
next
-
-File: mgl_ru.info, Node: StickPlot sample, Prev: ColumnPlot sample, Up: Advanced features
-
-3.7.14 StickPlot - пример использования
-----------------------------------------------------------
-
- [image src="../png/stick.png" ]
-
-ranges -1 1 -1 1 0 1:light on
-stickplot 3 0 40 30 : axis 'xyz_'
-fsurf 'exp(-10*y^2-6*x^2)'
-text 0.2 0 1.2 'z=0' '' -2
-stickplot 3 1 40 30 : axis 'xy_'
-fsurf 'exp(-10*y^2/2-6*x^2)/sqrt(2)'
-text 0.2 0 1.2 'z=1' '' -2
-stickplot 3 2 40 30 : axis 'xy_'
-fsurf 'exp(-10*y^2/5-6*x^2)/sqrt(5)'
-text 0.2 0 1.2 'z=2' '' -2
-xlabel '\tau' 0 : ylabel '\rho'
-
-
-File: mgl_ru.info, Node: Stereo image sample, Prev: StickPlot sample, Up: Advanced features
-
-3.7.15 Пример стерео изображения
--------------------------------------------------------
-
- [image src="../png/stereo.png" ]
-
-new a 50 40
-modify a '0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))'
-light on
-subplot 2 1 0
-rotate 40 60+3
-box:surf a
-subplot 2 1 1
-rotate 40 60-3
-box:surf a
-
Local Variables:
diff --git a/texinfo/mgl_ru.info-2 b/texinfo/mgl_ru.info-2
index 82e8068..31d85f7 100644
Binary files a/texinfo/mgl_ru.info-2 and b/texinfo/mgl_ru.info-2 differ
--
Packaging for mathgl
More information about the debian-science-commits
mailing list