"Fossies" - the Fresh Open Source Software Archive

Member "wdune-0.99pl1551.orig/docs/usage_docs/dune_ru.html" (17 Apr 2019, 53910 Bytes) of package /linux/privat/wdune_0.99pl1551.orig.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) HTML source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" 
    2    "http://www.w3.org/TR/REC-html40/loose.dtd"> 
    3 <html> 
    4 <!--
    5 /* 
    6  * dune_ru.html
    7  *
    8  * Copyright (C) 2003 J. "MUFTI" Scheurich, Maksim Diachkov                       
    9  *
   10  * This program is free software; you can redistribute it and/or modify
   11  * it under the terms of the GNU General Public License as published by
   12  * the Free Software Foundation; either version 2 of the License, or
   13  * (at your option) any later version.
   14  *
   15  * This program is distributed in the hope that it will be useful,
   16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
   17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   18  * GNU General Public License for more details.
   19  *
   20  * You should have received a copy of the GNU General Public License
   21  * along with this program (see the file "COPYING" for details); if
   22  * not, write to the Free Software Foundation, Inc.,
   23  * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   24  */  
   25   
   26  last update: white_dune-0.22beta
   27 -->   
   28 <head>
   29  <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
   30  <title>"Дюна" - документация</title> 
   31 </head>
   32 <p align="left"><b>Все указания на замеченные синтаксические, семантические и ошибки другого рода огромная просьба отсылать сюда:</b>
   33 <br><a href="mailto:madj0388@uosis.mif.vu.lt">madj0388@uosis.mif.vu.lt</a></p>
   34 <ul>
   35  <li>
   36   <h3><a href="#dune">"Дюна", что это такое?</a></h3> 
   37  </li>
   38  <li>
   39   <h3><a href="#crash">"Дюна" "зависла", не сохраненный документ потерян?</a></h3>
   40  </li>
   41  <li>
   42   <h3><a href="#tips">Несколько советов для более комфортной работы с "дюной"</a></h3>
   43  </li>
   44  <li>
   45   <h3><a href="#vrml">Что это такое - дерево сцены (scenegraph), значения полей (fieldvalues), маршруты (routes) и т.п.?</a></h3> 
   46  </li>
   47  <li>
   48   <h3><a href="#fenster">5 областей "дюны"</a></h3> 
   49  </li>
   50  <li>
   51   <h3><a href="#navigation">Навигация</a></h3>
   52  </li>
   53  <li>
   54   <h3><a href="#scenegraph">Редактирование дерева сцены (graphscene)</a></h3>
   55  </li>
   56  <li>
   57   <h3><a href="#route">Создание/удаление маршрутов (ROUTE)</a></h3>
   58  </li>
   59  <li>
   60  <h3><a href="#fields"></a>Редактирование значений полей (FieldValues)</a></h3>
   61   <ul>
   62    <li>
   63    <h4><a href="#keyboard">С помощью клавиатуры</a></h4>
   64    </li>
   65    <li>
   66    <h4><a href="#mouse">С помощью мышки</a></h4>
   67    </li>
   68    <li>
   69    <h4><a href="#3D Window">Редактирование полей (FieldValues) в области 3D просмотра</a></h4>
   70    </li>
   71    <li>
   72    <h4><a href="#6D">6D управление</a> (начиная с версии 0.19beta)</h4>
   73    </li>
   74    <li>
   75    <h4><a href="#6Dlocal">Локальное 6D управление</a> (начиная с версии 0.19beta)</h4>
   76    </li>
   77    <li>
   78    <h4><a href="#joystick">Управление с помощью Linux джойстика</a> (начиная с версии 0.20beta)</h4>
   79    </li>
   80    <li>
   81    <h4><a href="#joystick_windows">Управление с помощью M$Windows джойстика</a> (начиная с версии 0.22beta)</h4>
   82    </li>
   83    <li>
   84    <h4><a href="#channelview">Редактирование полей (FieldValues) в области просмотра каналов (ChannelView window)</a></h4>
   85    </li>
   86    <li>
   87    <h4><a href="#colorcircle">Цветовой круг (Color Circle)</a> (начиная с версии Version 0.19beta)</h4>
   88    </li>
   89    <li>
   90    <h4><a href="#scriptedit">Редактор скриптов (Script Editor)</a> (начиная с версии Version 0.22beta)</h4>
   91    </li>
   92    <li>
   93    <h4><a href="#urledit">Редактор URL адресов (URL Editor)</a> (начиная с версии Version 0.22beta)</h4>
   94    </li>
   95   </ul>
   96  </li>
   97  <li>
   98  <h3><a href="#simplescript">Упрощенное конструирование скриптов (Simplified Scriptbuilding)</a> (начиная с версии Version 0.22beta)</h3>
   99  </li>
  100  </ul>
  101 
  102 <body>
  103 
  104 <h2><a name="dune">"Дюна", что это такое?</a></h2>
  105 <p>
  106 "Дюна" (dune) это VRML редактор, а также утилита для создания анимации, поддерживающая стандарт VRML97.
  107 На данный момент все еще в активной разработке.
  108 "Дюна" может использоваться для чтения файлов формата VRML97, воспроизведения и редактирования дерева сцены, полей и маршрутов.
  109 Таким образом, "дюна" позволяет создавать несложную анимацию и интерактивные приложения в стандарте VRML97.
  110 Надо отметить, что "дюна" не предназначена для создания сложных VRML97 трехмерных моделей.
  111 В отличие от большинства 3D редакторов, при освещении и раскрашивании используется стандарт VRML97, таким образом
  112 позволяя осуществить пост-редактирование VRML97 файлов, созданных в других редакторах.
  113 </p>
  114 <h3><a name="crash">"Дюна" "зависла", не сохраненный документ потерян?</a></h3>
  115 <p>
  116 "Дюна" в данный момент все еще находится в стадии активной разработки, поэтому стабильность далека от
  117 идеальной.
  118 <br><br>
  119 <b>Если "дюна" "зависла", означает ли это, что мой документ безвозвратно потерян?</b>
  120 <br><br>
  121 <font color="#FF0000">Совсем не обязательно</font>
  122 <br><br> 
  123  "Дюна" попытается сохранить ваш документ перед выходом. Если сохранение удалось,
  124  будет выведено (в Unix/Linux версии) что-то похожее на:
  125 <pre>
  126   Internal Crash !
  127   Try to save Files
  128   attempt to write file to /home/someone/.dune_crash_NUMBER_NUMBER.wrl
  129   write successfull
  130 </pre>
  131 в стандартный error поток системной консоли и окна из которогo стартовала "дюна".<br>
  132 В M$Windows версии будет выведено информационное окно (Messagebox):<br>
  133 <img src=crash.jpg><br>
  134 После того как вы перезапустите "дюну", в меню "File" будет находится пункт .dune_crash.<br>
  135 <img src=crashrestore.jpg><br>
  136 Щелкните по нему и сохраните документ под другим именем.
  137 </li>
  138 </ul>
  139 </p>
  140 <h3><a name="tips">Несколько советов для более комфортной работы с "дюной"</a></h3>
  141 <p>
  142 <ul>
  143   <li>
  144   <strong>"Дюна" не предназначена для моделирования сцен</strong> (на данный момент).<br>
  145   Пока поддерживаются такие узлы (shapenodes) как куб, сфера, конус, цилиндр, текст (хотя реализация текста
  146   оставляет желать лучшего), а также "ElevationGrid".<br>
  147   Другие узлы, как например IndexedFaceSet (фигура состоящая из множества полигонов),
  148   IndexedLineSet и PointSet требуют большого количества переменных, по этой причине они еще не поддерживаются.<br>
  149   Оставшийся узел nurbsPlane не является частью стандарта VRML97. Он будет включен в стандарт VRML200x.<br>
  150   В настоящее время nurbsPlane можно просмотреть такими VRML97 броузерами как cc3d и contact.<br>
  151   Поддержка nurbsPlane (очень несовершенная) присутсвует в VRML97 броузере cosmoplayer 2.1 (VRML PROTO).
  152   Дополнительную информацию можно найти
  153   <a href=../vrml200x_nurbssurface/index.html>здесь</a>.
  154   <br>
  155   <strong>Для работы с VRML моделью "IndexedFaceSet" лучше всего использовать результат работы какого
  156   нибудь редактора 3D моделей (wings3d, aoi moonlight3D, blender, ppmodeller, ppe, ac3d, maya, catia etc.)
  157   с соответствующим конвертером (если это требуется), или найти уже готовую модель на просторах сети</strong>.
  158   </li>
  159   <li>
  160   Для интерактивного тестирования работы и скриптов вашего документа надо использовать пункт меню 
  161   <em>File -> Preview</em> (или сохранить документ и использовать VRML броузер для просмотра).
  162   В "дюне", на данный момент, отсутствует возможность тестировать VRML документы подобным образом.
  163   </li>
  164 </ul>
  165 </p>
  166 Несколько стандартных VRML примеров можно найти (для просмотра и редактирования может использоваться "дюна")
  167 <a href=../typical_vrml_examples/index.html>здесь</a>.
  168 </p>
  169 <h3><a name="vrml">Что это такое - дерево сцены (scenegraph), значения полей (fieldvalues), маршруты (routes) и т.п.?</a></h3> 
  170 <p>
  171 "Дюна" это низкоуровневая утилита для создания/редакторования документов в стандарте VRML97.
  172 Предполагается, что пользователь имеет представление о базовой структуре стандарта VRML97.
  173 <br> 
  174 Получить информацию о VRML97, в том числе можно используя официальную ISO спецификацию:
  175 <a href=http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-IS-VRML97WithAmendment1>
  176 http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-IS-VRML97WithAmendment1</a>.
  177 Информация об узлах, особенно важная при использовании "дюны":
  178 <a href=http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-IS-VRML97WithAmendment1/part1/nodesRef.html>
  179 http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-IS-VRML97WithAmendment1/part1/nodesRef.html
  180 </a>.
  181 </p>
  182 <h3><a name="fenster">5 областей "дюны"</a></h3>
  183 <p>
  184 <img src=windows.png><br>
  185 Кроме вспомогательных кнопок на панели (toolbar) и сообщений  рабочая среда также включает 5 областей.
  186 Все области, кроме области 3D просмотра, могут быть активированы/деактивированы. Для этого используется пункт меню
  187 "View".
  188 <ul>
  189  <li>
  190   <b>Область просмотра дерева сцены (SceneTree)</b><br>
  191   Эта область содержит всю древовидную структуру используемых узлов. Таким образом показана вся структура
  192   VRML файла, а также взаимное расположение узлов.<br>
  193  </li>
  194  <li>
  195   <b>Область просмотра значений полей (FiledView)</b><br>
  196   Область содержит названия полей и их значения. Показаны значения текущего узла.
  197  </li>
  198  <li>
  199   <b>Область просмотра маршрутов (RouteView)</b><br>
  200   В этой области содержатся маршруты.
  201  </li>
  202  <li>
  203   <b>Область просмотра каналов (ChannelView)</b><br>
  204   Эта область имеет значение только когда текушим узлом является интерполятор.
  205   Интерполяторы имеют важное значение при создании анимации в VRML97.
  206  </li>
  207  <li>
  208   <b>Область 3D просмотра (3D Preview)</b><br>
  209   Данная область не может быть деактивирована, т.к. в ней графически отображается структура VRML файла.
  210   В отличие от других областей имплементация стандарта VRML97 в данной области является в большой степени
  211   незаконченной.<br>
  212   Некоторые узлы, такие как "Extrusion", "PointSet", "Inline",
  213   "Background", определяемый "PROTO", "EXTERNPROTO" просто не отображаются.
  214   Другие узлы, такие например как "Text" под Linux, требуют дальнешей доработки.<br>
  215   К тому же, не все значения полей используются корректно.
  216   Более всего бросается в глаза ошибка при отображении полей "ColorPerVertex" и "NormalPerVertex" в узле "IndexedFaceSet"
  217   (фигура состояшая из нескольких полигонов).<br>
  218   Пример корректного и некорректного отображения IndexedFaceSet с полем "ColorPerVertex false"
  219   в Cosmoworlds/Cosmoplayer (слева) и "дюне" (справа)<br>
  220   Более корректное отображение IndexedFaceSet с полем "ColorPerVertexflag true" в
  221   "Cosmoworlds/Cosmoplayer" (слева) и "дюне" (справа)<br>
  222   Очень похожая проблема возникает при использовании поля "NormalPerVertex".
  223   Использование некоторым образом сказывается на освещении.<br>
  224   <b>И конечно-же, такое некорректное отображение обьекта в области 3D просмотра
  225   не означает, что это ошибка в вашем VRML документе.</b>.<br>
  226   Если вы сомневаетесь, то всегда можете использовать пункт меню <em>File->Preview</em> для просмотра своего
  227   документа в VRML броузере.
  228  </li>
  229 </ul>
  230 </p>
  231 <h3><a name="navigation">Навигация</a></h3>
  232 <p>
  233   Для навигации в области 3D просмотра используются следующие комбинации клавиатура/мышь:
  234     <ul>
  235    <li>
  236    Shift-Mouse 1: Удаление/приближение сцены
  237    </li>
  238    <li>
  239    ctrl-Mouse 1: Вращение сцены
  240    </li>
  241   </ul>
  242   Начиная с версии 0.16 может использоватся навигация в стиле SGI. К слову, не должным образом
  243   сконфигурированый менеджер окон (windowmanager) может перехватывать описанные ниже комбинации и вызывать
  244   свои, встроенные функции.
  245   <ul>
  246    <li>
  247    Alt-Mouse1: Вращение сцены
  248    </li>
  249    <li>
  250    Alt-Mouse2: Сдвиг сцены
  251    </li>
  252    <li>
  253    Alt-Mouse1-Mouse2: Удаление/приближение сцены
  254    </li>
  255   </ul>
  256   Управление сценой возможно и с помощью одной только мыши. Для этого необходимо перейти в режим навигации,
  257   щелкнув мышкой по иконке <img src=navigation.jpg> (доступно с версии 0.19beta).
  258   В случае, когда активно устройство ввода 6D (?), а также в дереве сцены выбрана иконка сцены <img src=sceneicon.jpg>,
  259   появляется возможность управлять сценой в зависимости от выбранных в VRML документе иконок трансформаций <img src=schieb.png> 
  260   <img src=rot.png> <img src=6d.png>.
  261 </p>
  262 <h3><a name="scenegraph">Редактирование дерева сцены (graphscene)</a></h3>
  263 <p>
  264 Простейший способ изменения дерева сцены - добавить новый узел, щелкнув на соответствующей иконке.<br>
  265 Если вам понадобилось быстро получить более подробную информацию об иконке, то следует после наведения курсора мышки
  266 чуть подождать для получения в строке состояния (status bar) нужного текста.<br>
  267 "Дюна" попытается включить новый узел в позицию текущего выбора в дереве сцены,<br> 
  268 <img src=node_add_valid.jpg><br>
  269 или в корневой узел дерева сцены (иконка "Scene").<br>
  270 "Дюна" обозначит серым цветом те узловые иконки, которые невозможно добавить.<br>
  271 <img src=node_add_invalid.jpg><br>
  272 Настоящая таблица отображает требования для этих узлов (стандарт VRML97):<br>
  273 <br>
  274 <ul>
  275 <li>Appearance требует Shape
  276 <li>Material требует Appearance
  277 <li>ImageTexture требует Appearance
  278 <li>MovieTexture требует Appearance
  279 <li>PixelTexture требует Appearance
  280 <li>TextureTransform требует Appearance
  281 <li>Coordinate требует IndexedFaceSet или IndexedLineSet, или PointSet
  282 <li>Color требует IndexedFaceSet или IndexedLineSet, или PointSet
  283 <li>Normal требует IndexedFaceSet
  284 <li>TextureCoordinate требует IndexedFaceSet
  285 <li>FontStyle требует Text
  286 <li>AudioClip требует Sound
  287 </ul>
  288 <br>
  289 К примеру, чтобы добавить узел ImageTexture необходимо выбрать в окне дерева сцены узел Appearence.
  290 А для добавления узла Appearence нужно выбрать узел Shape.<br>
  291 Все перечисленные поля имеют тип SFNode, поэтому только один аналогичный узел может быть добавлен одновременно.
  292 Плюс, соответствующая иконка становится серого цвета если уже существует аналогичный узел.
  293 К примеру, нельзя добавить сразу два узла ImageTexture в узел Appearence. Таким образом иконка ImageTexture
  294 становится серого цвета, если выбран узел Appearence и узел ImageTexture уже присутствует.
  295 </p>
  296 <p>
  297 Альтернативный способ редактирования дерева сцены - просто перемещать узлы с помощью мышки.<br>
  298 Если такое перемещение невозможно, то "дюна" предупредит об этом, показывая вместо стандартного курсора знак "стоп"<br>
  299 <img src=scenegraphchange_invalid.jpg><br>
  300 В противном случае будет отображатся обычный курсор.<br>
  301 <img src=scenegraphchange_valid.jpg><br>
  302 Используя клавиатуру можно некоторым образом изменить результат перемещения
  303 (подразумевается что пользователь держит кнопку мышки нажатой при перемещении):<br>
  304 <ul>
  305  <li>
  306   Простое перемешение:<br>
  307   не нажата никакая кнопка или нажата кнопка Shift (иконка не изменилась)
  308   <br><img src=scenegraphchange_move.jpg><br>
  309  </li>
  310  <li> Копирование: 
  311   <br><img src=scenegraphchange_copy_ptr.jpg><br>
  312   Нажата кнопка Crtl (к изображению иконки добавляется знак "+")
  313   <br><img src=scenegraphchange_copy.jpg><br>  
  314  </li>
  315  <li>
  316   DEF/USE: 
  317   <br><img src=scenegraphchange_link_ptr.jpg><br>
  318   Одновременно нажаты кнопки Crtl и Shift (к изображению иконки добавляется знак "стрелка вверх")
  319   <br><img src=scenegraphchange_link.jpg><br>  
  320  </li>
  321 </ul>
  322 <p>
  323 </p>
  324 <h3><a name="route">Создание/удаление маршрутов (ROUTE)</a></h3>
  325 <p>
  326 Маршруты создаются в "дюне" следующим образом:
  327 в области RouteView отыскивается нужная иконка
  328 (иконка подсвечивается одновременно с соответствующим узлом в дереве сцены) и пользователь
  329 проводит линию от нужного события (eoent) к другой иконке.
  330 Сами события отображаются в виде небольших квадратиков распологающихся с левой и правой сторон иконки.
  331 Имена событий, а также соответствующий событию цвет отображаются при наведении курсора.
  332 <br>
  333 <img src=routemake1.jpg><img src=routemake2.jpg> <br>
  334 Соединены могут быть события только одного и того же типа (цвета), как того требует стандарт VRML.<br>
  335 Чтобы удалить маршрут необходимо перечеркнуть его с помощью мышки.<br>
  336 <img src=routecut1.jpg><img src=routecut2.jpg><br>
  337 </p> 
  338 </p>
  339 <h3><a name="fields">Редактирование значений полей (FieldValues)</a></h3>
  340 <p>
  341 "Дюна" предоставляет более чем один способ изменить значения полей в узлах:<br>
  342 <ul>
  343  <li> 
  344   <b><a name="keyboard">С помощью клавиатуры</a></b><br>
  345   Щелкнув мышкой по требуемому полю. После чего в открывшемся текстовом поле ввести требуемое значение.
  346  </li>
  347  <li>
  348    <b><a name="mouse">С помощью мышки</a></b><br>
  349    Нажав на нужном поле и удерживая кнопку мышки нажатой двигать манипулятор влево/вправо. Таким образом
  350    уменьшая/увеличивая значение поля.<br>
  351    <img src=fieldchange.jpg><br>
  352    Изменение полей на данный момент не срабатывает с полями типа "MF fields" (multiple Fields).
  353    То есть с полями которые содержат другие поля и раскрываются при нажатии на знак "+".
  354  </li>
  355  <li>
  356   <b><a name="3D Window">Редактирование полей (FieldValues) в области 3D просмотра</a></b><br>
  357    Изменения в области 3D просмотра также изменяют значения полей соответствующих узлов (что очевидно, прим. пер.).
  358    Главным образом изменяются transform узлы.<br>
  359    Во время интерактивной работы с помощью мышки в области 3D просмотра иконки
  360    <img src=transform.jpg> позволяют выбрать между
  361    <ul>
  362    <li> смещением <img src=schieb.png> </li>
  363    <li> вращением <img src=rot.png> </li>
  364    <li> масштабированием <img src=scale.jpg> </li>
  365    <li> смещением центра <img src=center.jpg>
  366         <small>(начиная с версии 0.19beta)</small> </li>
  367    </ul>
  368    
  369    <br>
  370    <strong>
  371    Учтите, что использование этих возможностей возможно, если в дереве сцены присутствует узел transform
  372    <img src=transform2.jpg></strong>.<br>
  373    В окне 3D просмотра кроме узла transform возможно также изменение и других полей.
  374    Это достигается захватом и перемещением маленьких белых квадратиков, которые присутствуют при отображении
  375    узлов типа ElevationGrid, PointLight, Box или VRML200x Nurbsurface.
  376  </li>
  377  <li>
  378   <b><a name="6D">6D управление</a></b>&nbsp;<small>(начиная с версии 0.19beta)</small><br>
  379   Начиная с версии 0.19beta "дюна" поддерживает устройства ввода с шестью степенями свободы (6D inputdevices).
  380   Данная возможность реализована в Unix/Linux версиях "дюны".<br>
  381   При нажатии вы можете перемещать узел Transform (и все входящие в него узлы) по всем шести направлениям.
  382   Иконка <img src=schieb.png> ограничивает перемещения смещениями, а иконка <img src=rot.png> вращением.
  383   <br>
  384   Классическим 6D устройством ввода является спэйсбол (spaceball), тип джойстика (joystick)
  385   позволяющий двигаться понемногу, но во всех возможных направлениях, включая вращение.<br>
  386   <img src=spaceball.jpg><br>
  387   Если, к примеру, нажать на верхнюю часть спэйсбола, то обьект переместится вниз.
  388   А при кручении спэйсбола обьект вращается вслед за вашими действиями.<br>
  389   Сконфигурировать (пока что) 6D устройство ввода можно исключительно через командную строку.
  390   Кроме типа устройства, требуется также указать  шкалу вводимых значений. К примеру:
  391 <br>
  392 <pre>
  393    dune -xinput spaceball -allxyz=20,200 -allrot=40,400
  394 </pre>
  395 <br>
  396   Кроме поддержки устройств используя протокол Xinput, также существует поддержка Linux джойстика и libsball.
  397   Для более детального ознакомлениe с параметрами командной строки можно обратится к
  398   <a href=dune_1.html>man странице</a>.<br>
  399   Другим 6D устройством ввода является пульт (dials), который доступен пользователям SGI IRIX.
  400   Настройки по умолчанию не позволяют работать комфортно с этим устройством.<br>
  401   <img src=dials_default.jpg><br>
  402   Используя командную строку
  403 <br>
  404 <pre>
  405    dune -xinput dialbox-1 -x=0 -y=2 -z=4 -xrot=1 -yrot=3 -zrot=5 -all=100,100,wheel
  406 </pre>
  407 <br>
  408   можно поменять оси вращения местами.<br>
  409   <img src=dials_normal.jpg><br>
  410  </li>
  411  <li>
  412   <b><a name="6Dlocal">Локальное 6D управление:</a></b><small> Do you know RC planes ? 
  413   (new in version 0.19beta)</small><br>
  414   При нажатии на иконку <img src=6dloc.png> включается режим локального 6D перемещения, таким образом можно использовать
  415   локальные оси узла transform.<br>
  416   К примеру, если перемещать спейсбол по оси z ("в глубь экрана") узел transform (и все входящие узлы) будет перемещатся
  417   в направлении своей локальной оси z (следовать в направлении синей z - стрелки).
  418   Или, к примеру, если перемещать спейсбол по оси y ("вверх") узел transform (и все входящие узлы) будет перемещатся
  419   в направлении своей локальной оси y (следовать в направлении зеленой y - стрелки).<br>
  420   <img src=6dlocal_right3.jpg><br>
  421   Это имеет смысл если направления обьекта и узла transform совпадают. Обычно направление обьекта не совпадает с его узлом transform.<br>
  422   <img src=6dlocal_wrong.jpg><br>
  423   Поэтому узел transform должен быть помещен в свою очередь в другой узел, а узел transform объекта должен
  424   быть повернут соответствующим образом.<br>
  425   <img src=6dlocal_right1.jpg><br>
  426   <img src=6dlocal_right2.jpg><br>
  427   При использовании управления данного типа вы сможете увидеть эффект, который тем не менее
  428   не является чем то новым для пользователей RC planes:
  429   Если объект движется "по направлению к вам", вращение спейсбола влево приведет к вращению объекта вправо.<br>
  430   Похожие трансформации происходят в режиме <img src=rocket.png> ракеты.
  431   В режиме ракеты перемещения разрешены только по локальной оси z. Это удобно, когда необходимо перемещать
  432   объект по какому-либо пути одновреммено вращая его.<br>
  433   Дугой похожий тип трансформаций обеспечивает режим полета <img src=hover.png>.
  434   В режиме полета, вращение объекта возможно только вокруг локальной оси y.
  435   Это удобно в случае, если вам необходимо двигать объект в плоскости.<br>
  436   Оставшиеся режимы трансформаций работающие в локальном режиме (все изменения происходят в направлениях
  437   локальных осей) включают режим масштабирования <img src=scale.jpg> и
  438   режим смещения центра <img src=center.jpg>.
  439  </li>
  440  <li>
  441   <b><a name="joystick">Управление с помощью Linux джойстика</a></b><br>
  442   К сожалению, 6D устройства ввода не очень-то распространены.
  443   Поэтому Linux версия "дюны" поддерживает джойстики.<br>
  444   Вообще-то, существет множество различных устройств (включая спэйсбол) под Linux, которые могут
  445   играть роль джойстика. Однако необходимо различать между 6D (к примеру Labtec Spaceball),
  446   4D (к примеру геймпад (gamepads) с двумя ручками), 3D (джойстик с вращаемой ручкой, например Micro$oft Sidewinder Pro)
  447   устройствами ввода и обычным джойстиком.
  448   <ul>
  449   <li>
  450   6D джойстики (например Labtec Spaceball) могут быть использованы как и другие 6D устройства ввода.<br>
  451   </li>
  452   <li>
  453   4D джойстики (к примеру геймпад с двумя ручками) не позволяют использовать режимы 6D и 6D Local.
  454   Кроме смещений <img src=schieb.png>, вращения <img src=rot.png>, масштабирования <img src=scale.jpg> и
  455   смещения центра <img src=center.jpg> они поддерживают режимы полета (hover) <img src=hover.png>
  456   и ракеты (rocket) <img src=rocket.png>.<br>
  457   В зависимости от режима, за вращение и смещения ответственны соответсвующие оси.
  458   </li>
  459   <li>
  460   В случае использования 3D джойстикa (с вращаемой рукояткой) все немного сложнее.
  461   В конфигурации по умолчанию ввод посредством оси 3. (вращение рукоятки) провоцирует движение назначенное оси z.<br>
  462   <img src=joystick_3D_move.jpg> <img src=joystick_3D_rot.jpg>
  463   </li>
  464   <li>
  465   В случае использования 2D джойстикa мы не имеем достаточно осей для ввода данных в трех измерениях.
  466   Поэтому необходимо переключатся между интерпретацией оси 2. как z-оси (удаление/приближение <img src=near_far.png>) или
  467   как y-оси (вверх/вниз <img src=near_far.png>) посредством иконок.<br>
  468   При вращении режим "удаление/приближение" <img src=near_far.png> интерпретируется как вращение вокруг оси y, а режим
  469   "вверх/вниз" <img src=up_down.png> (oben-unten) интерпретируется как вращение вокруг оси z.<br>
  470   </li>
  471   <li>
  472   Для режима "ракета" <img src=rocket.png> требуется 4 оси. При использовании 3D джойстика в этом режиме используется
  473   информация вращения режимов "удаление/приближение" <img src=near_far.png> и "вверх/вниз" <img src=up_down.png>.<br>
  474   Режим "ракета" <img src=rocket.png> не поддерживается при использовании 2D джойстика.
  475   </li>
  476   </ul><br>
  477   Иногда, использование некоторых осей джойстика попросту не имеет смысла
  478   (например дополнительный контролер в Micro$oft Sidewinder Pro).<br>
  479   <img src=joystick_sidewinder.jpg><br>
  480   В таком случае количество осей может быть ограничено. Чтобы, например, в джойстике Micro$oft Sidewinder Pro задействовать
  481   3 оси, необходимо указать опцию -axis в командной строке:
  482 <br>
  483 <pre>
  484    dune -joystick /dev/input/js0 -axes=3
  485 </pre>
  486 <br>
  487   Геймпады (gamepad) очень часто имеют множество ненужных осей. Например геймпад Logitech Wingman Cordless
  488   возвращает количество осей равное 9 при использовании утилиты "jstest". Чтобы использовать только 6 осей
  489   (2 рукоятки и "крестики") необходимо переназначить оси, указав соответствующие опции в командной строке:
  490 <br>
  491 <pre>
  492    dune -joystick /dev/input/js0 -y=4 -z=-1 -xrot=6 -yrot=3 -zrot=5
  493 </pre>
  494 <br>
  495   Опция "-z=-1" интерпретируется следующим образом:
  496   ось z будет назначена оси номер 1 (ось 2., счет начинается с 0), но при этом инвертируется направление.
  497  </li>
  498  <li>
  499   <b><a name="joystick_windows">Управление с помощью M$Windows джойстика:</a></b><br>
  500   Поддержка M$Windows джойстика почти во всех отношениях подобна поддержке Linux джойстика.<br>
  501   Стиль Windows драйверов для подобных джойстиков определяет такие особенности работы как, например,
  502   нерабочая рукоятка 2. или определение осей, но такие оси при работе возвращают только ошибочные значения.<br>
  503   Кроме этого, "мудрость" авторов API M$Windows джойстика определила тот факт, что ошибочное значение
  504   возвращаемое осью интерпретируется как полный поворот (похожая проблема привела к взрыву первой ракеты "Ariane 5"...).<br>
  505   Поэтому рекомендуется начать тестирование джойстика под M$Windows всего лишь с двумя осями.
  506   Для первого M$Windows джойстика (номер 0) командная строка может выглядеть следующим образом:
  507 <br>
  508 <pre>
  509    white_dune.exe -joystick 0 -axes=2 -none=2 -allxyz=20,,,0.000001 -allrot=0.2,,,0.0000001
  510 </pre>
  511  </li>
  512  <li>
  513    <b><a name="channelview">Редактирование полей (FieldValues) в области просмотра каналов (ChannelView window)</a></b><br>
  514    Область просмотра каналов изпользуется для просмотра и редактирования интерполяционных узлов (interpolator nodes).
  515    В интерполяционном узле входные значения (в диапазоне от 0 до 1) назначаются выходным значениям.<br>
  516    Интерполяторы используются в VRML для создания простейшей анимации в форме:
  517 <br>
  518 <pre>
  519    ROUTE TimeSensorDEFNAME.fraction_changed TO ???InterpolatorDEFNAME.set_fraction
  520    ROUTE ???InterpolatorDEFNAME.value_changed TO ???DEFNAME.set_???
  521 </pre>
  522 <br>
  523    Значение поля вывода "fraction_changed" узла "TimeSensor" направляется в поле ввода "set_fraction"
  524    интерполяционного узла. Интерполяционный узел выбирает соответствующее подходящее значение между выходными числами.
  525    Результат может быть направлен другому VRML узлу, что приведет к плавной анимации.
  526   <br>
  527    В следуюшем примере:<br>
  528    <img src=interpolator.jpg><br>
  529    вывод "PositionInterpolator" со входными значениями 0, 0.3, 1 и выходными значениями x=1/y=0/z=3, x=1/y=2/z=3, x=3/y=3/z=0
  530    направляется в поле "set_translation" узла transform.
  531    Таким образом узел transform (и содержащийся в нем обьект) в промежутке времени от 0 до 0.3 поменяет свою координату y
  532    от y=0 до y=2 (поднимется выше).<br>
  533    Не все интерполяторы стандарта VRML97 поддерживаются на данный момент. Имплементация требует очень большого количества
  534    данных.<br>
  535   <ul>
  536    <li>
  537    В области просмотра каналов можно исползовать следующие интерполяторы:
  538    <ul>
  539     <li>
  540      ColorInterpolator:<br>
  541      Цветовая интерполяция.<br>
  542      Цели для маршрутов (route targets) можно найти в пункте меню Shape->Appearance->Material.
  543     </li>
  544     <li>
  545      PositionInterpolator:<br>
  546      Интерполяция позиций.<br>
  547      Целью для маршрута может служить, например, Transform.set_translation.
  548     </li>
  549     <li>
  550      OrientationInterpolator:<br>
  551      Интерполяция вращений.<br>
  552      Целью для маршрута может служить, например, Transform.set_rotation.
  553     </li>
  554     <li>
  555      ScalarInterpolator:<br>
  556      Интерполяция между числами с плавающей точкой.<br>
  557      Такие числа служат входящими событиями (EventIn) для многих VRML узлов.<br>
  558      Возможны многочисленные варианты использования.
  559     </li>
  560    </ul>
  561    <li>
  562    Следующие интерполяторы на данный момент не поддерживаются, так как количество вводимых данных
  563    слишком велико:
  564     <ul>
  565      <li>
  566       CoordinateInterpolator:<br>
  567       Интерполяция между точками в IndexFaceSet.<br>
  568       Анимация, для которой используется CoordinateInterpolator называется "морфинг" ("morphing").
  569      </li>
  570      <li>
  571      NormalInterpolator:<br>
  572      Интерполяция между нормалями (Normales) в IndexFaceSet.<br>
  573     </ul>
  574    </li>
  575   </li>
  576  </ul> 
  577  <br>
  578  <br>
  579   В области 3D просмотра также возможно создавать некоторые типы анимаций.
  580   Анимация основанная на
  581   PositionInterpolator/Transform.set_translation и OrientationInterpolator/Transform.set_rotation
  582   может быть создана с помощью 6D манипулятора.<br><br>
  583   Если вы хотите работать с <img src=recording.jpg>
  584   записывающим устройством (VCR recorder), для записи и проигрывания анимаций, то
  585   следующие условия должны быть выполнены:
  586   <ul>
  587   <li>
  588   Маршруты должны быть в форме:
  589   <br>
  590 <pre>
  591    ROUTE TimeSensor.fraction_changed TO ???Interpolator.set_fraction
  592    ROUTE ???Interpolator.value_changed TO ???.set_???
  593 </pre>
  594   <br>
  595   </li>
  596   <li>
  597   В Timesensor-Knoten значение поля "loop" должно иметь значение "TRUE".
  598   (анимация будет стартовать снова и снова). 
  599   </li>
  600   <br><img src=timesensor.jpg><br>
  601   <li>
  602   Значение поля "starttime" узла Timesensor должно быть больше или равно
  603   значению поля "stoptime" Timesensor-Knoten.
  604   </li>
  605   </ul>
  606   При нажатии на кнопку записи <img src="recording_one.jpg">, необходимо
  607   изменить временной курсор и ввести новое значение (посредством клавиатуры,
  608   мышки или 6D манипулятора).<br>
  609   <img src="animation_onetime.png">
  610   <br><br>
  611   <img src="animation_onetime2.png">
  612   <br><br>
  613   При нажатии на кнопку записи совместно с кнопкой проигрывания <img
  614   src="recording.jpg">, вводимые значения
  615   (посредством <a href="#mouse">ввода мышкой</a> или 6D манипулятора) записываются непрерывно.
  616   <br>
  617   <img src="animation_recording.jpg">
  618   <br>
  619   Запись посредством ввода мышкой требует некоторой деликатности.
  620   В этом случае вероятность стереть записанные значения велика.
  621   <br>
  622   <img src="delete_keys1.jpg">
  623   <br>
  624   Вам необходимо выбрать временной интервал в области просмотра полей
  625   (щелкая и перетягивая мышкой), и потом использовать либо пункт меню:
  626   <em> edit -> delete </em> либо иконку удаления.
  627   <br>
  628   <img src="delete_keys2.jpg">
  629   <br>
  630   Совпадающие значения будут удалены.
  631   <br>
  632   <img src="delete_keys3.jpg">
  633   <br>
  634  </li>
  635  <li>
  636   <b><a name="colorcircle">Цветовой круг (Color Circle)</a></b> <small>(начиная с версии 0.19beta)</small><br>
  637   Для выбора цвета в дюне существует специальное окно которое вызывается в
  638   области просмотра полей. Для вызова окна необходимо щелкнуть мышкой по полю
  639   выбора цвета (при этом иконка цветового круга должна быть нажата).<br>
  640   <img src=colorcircle1.png><br>
  641   Щелкнув мышкой вы можете выбрать необходимый цвет в цветовом круге,а в
  642   находящейся рядом колонке более темный оттенок выбранного цвета.<br>
  643   <img src=colorcircle2.png><br>
  644   На сегодня, в ос Unix/Linux при использовании экранных режимов отличных от
  645   true/directcolor, цветовой круг отображается с задержками.<br>
  646   При нажатии на кнопку "OK" восстанавливается нормальный режим работы области
  647   просмотра полей.
  648  </li>
  649  <li>
  650   <b><a name="scriptedit">Редактор скриптов (Script Editor)</a></b>
  651   <small>(начиная с версии 0.22beta)</small><br>
  652   Существует два способа запуска редактора скриптов:<br>
  653   <img src=scriptedit_icon1.jpg><br>
  654   <ul>
  655     <li>
  656     Создав новый скрипт-узел (scriptnode):<br>
  657       Используя иконку "Script" (пункт меню <em>Create -> Programming ->
  658       Script</em>),
  659     </li>
  660     <li>
  661     Или редактируя существующий скрипт-узел.<br>
  662     Если выбран скрипт-узел, используя иконку "Object Edit" (пункт меню <em>Action
  663       -> Object edit</em>),
  664     </li>
  665   </ul>
  666   Диалоговое окно редактора скрипт-узлов<br>
  667   <img src=scripteditor.jpg><br>
  668   позволяет добавлять новые поля/события (add), изменять (change) или
  669   удалять их (delete).<br>
  670   Для окончания работы нажмите на кнопке "OK".
  671  </li>
  672  <li>
  673    <b><a name="urledit">Редактор URL адресов (URL Editor)</a></b>
  674    <small>(начиная с версии 0.22beta)</small><br>
  675    "url" поле (поле может содержать код ECMAscript (javascript)) скрипт-узла)
  676    может быть отредактировано в обычном текстовом редакторе.<br>
  677   Текстовый редактор выбирается посредством пункта меню <em>options -> Texteditor Settings</em><br>
  678   Когда поле "url" пусто, будет создана схема (шаблон) скриптов ECMAscript. Выберите "Script Node" и используйте иконку
  679   "URL Edit" (пункт меню <em>Action -> Url edit</em>).<br>
  680   <img src=urledit.jpg><br>  
  681  </li>
  682 </ul>
  683 </p> 
  684 <h3><a name="simplescript">Упрощенное конструирование скриптов (Simplified Scriptbuilding)</a> <small>(начиная с версии 0.22beta)</small></h3>
  685 <p>
  686 Перед началом использования редактора скриптов, вам необходимо заранее спланировать использование
  687 типов данных и входящих/выходящих (eventIn/eventOut) событий в соединяемых узлах. Для этого необходимо,
  688 прежде всего, прочесть необходимую документацию по узлам -
  689 <a href=http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-IS-VRML97WithAmendment1/part1/nodesRef.html>
  690 VRML standard</a>
  691 (также вы можете использовать пункт меню <em>Help -> <i>имя текущего узла</i></em> или воспользоваться
  692 имеющейся у вас литературой).<br>
  693 Вы можете найти более удобным способ быстрого конструирования скриптов.<br>
  694 Создайте новый скрипт-узел с помощью иконки "Script" (или выбрав пункт меню <em>Create -> Programming -> Script</em>).<br>
  695 Следуя философии <a href="http://dune.sourceforge.net/philosophy.html" target="new">"посторонись!"</a>
  696 применявшейся в первоначальной версии "Дюны", попросту щелкните на кнопке "ОК" в диалоговом меню.<br>
  697 Теперь вы можете использовать область просмотра маршрутов для дальнейшей работы.
  698 <br><br><img src=simple_scriptbuild1.jpg><br><br>
  699 Скрипт-узлы обладают специальным выходным событием (eventOut) которое возможно подключить к любому другому
  700 событию ("connect anything"). Для подключения щелкните по нему мышкой и начните тянуть - появится белая линия
  701 графически отображающая маршрут.
  702 <br><br><img src=simple_scriptbuild2.jpg><br><br>
  703 Удерживая кнопку мышки нажатой и продолжая тянуть вы сможете подключить этот маршрут к входным событиям
  704 (eventIns) других узлов,
  705 <br><br><img src=simple_scriptbuild3.jpg><br><br>
  706 а цвет маршрута будет изменяться в зависимости от типа данных входного события.
  707 <br><br><img src=simple_scriptbuild4.jpg><br><br>
  708 Отпустив кнопку мышки вы зафиксируете маршрут. 
  709 <br><br><img src=simple_scriptbuild5.jpg><br><br>
  710 Аналагично вы можете использовать специальное входное событие (eventIn) к которому можно подключить
  711 любое другое событие ("connect anything"),
  712 <br><br><img src=simple_scriptbuild6.jpg><br><br>
  713 и соединить его с выходным событием другого узла.
  714 <br><br><img src=simple_scriptbuild7.jpg><br><br>
  715 Теперь необходимо отредактировать узловое поле "url".
  716 Это можно сделать посредством <a href="#urledit">urledit</a>, а также выбрав скрипт-узел в области
  717 просмотра сцены, и далее поле "url" в области просмотра значений полей.
  718 <br><br><img src=simple_scriptbuild8.jpg><br><br>
  719 Следующим шагом следует щелкнуть на иконке "Object Edit" (или выбрать пункт меню
  720 <em>Action -> Object edit</em>).
  721 <br><br><img src=simple_scriptbuild9.jpg><br><br>
  722 "Дюна" должна вызвать соответствующий текстовый редактор - например в UNIX системе (что также
  723 относится к Linux системам) по умолчанию
  724 вызывается популярный редактор vi (в настройках "дюны" прописана команда "xterm -e vi").
  725 В случае MacOSX версии вызывается "xedit", а в M$Windows версии используется команда "edit" когда
  726 переменная окружения $WINEDITOR не установлена. Вы можете изменить вызываемый редактор используя
  727 пункт меню <em>Options -> Texteditor Settings ...</em><br>
  728 В открывшемся окне редактора вы увидете начальный код (шаблон) javascript.<br>
  729 Воспользовавшись пунктом меню <em>Options -> ECMAscript settings</em> вы можете установить, нужны
  730 ли вам более полные комментарии в сгенерированном шаблоне.
  731 <br><br><img src=simple_scriptbuild10.jpg><br><br>
  732 Закончите необходимый вам код, сохраните его и закройте редактор (в случае использования vi это команда :wq).
  733 </p> 
  734 </body>
  735 
  736 <br> to be <a href=dune_en.html#nurbs>continued about NURBS Modelling in english language</a>