JAS3

Revision as of 08:34, 25 Oct 2006
213.131.7.83 (Talk | contribs)

← Go to previous diff
Current revision
WikiSysop (Talk | contribs)

Line 1: Line 1:
==Визуализация с помощью JAS3== ==Визуализация с помощью JAS3==
-(Статья в процессе написания) 
-Моя программа в процессе работы выдает такой текст+Моя программа в процессе работы выдает текст:
Current available graphics systems are: Current available graphics systems are:
ASCIITree (ATree) ASCIITree (ATree)
Line 20: Line 19:
VRML2 (VRML2) VRML2 (VRML2)
-Разберем по порядку, что из себя представляют эти драйверы. +Это список зарегистрированных в подсистеме визуализации драйверов.
-#ATree печатает структуры геометрии в виде дерева. Толку от него немного и в нем нет треков.+Разберем по порядку, что они из себя.
-#DAWNFILE выдает файлы в формате .prim, которые потом можно превратить в постскрипт программой DAWN. Или их можно проанализировать на предмет наличия перекрытий примитивов программой David. Но dawn ужасно неудобный и неинтерактивный, чтобы из него получить достойно выглядящую картинку приходится возиться полчаса.+#ATree печатает структуры геометрии в виде дерева. Толку от него немного и в нем нет треков. Но иногда это бывает полезно.
-#GAGTree — это что-то непонятное навроде ATree. Абсолютно бесполезная вещь.+#DAWNFILE создает файлы в формате .prim, которые потом можно превратить в postscript программой DAWN. Или же их можно проанализировать на предмет наличия перекрытий примитивов программой David. Но dawn достаточно неудобный, хотя и позволяет получать очень качественные иллюстрации, похожие на чертежи. Он поддерживает только один выходной формат — EPS, который трудно поддается редактированию.
 +#GAGTree — это нечто вроде ATree, но предназначен для ввода геометрии в другие программы.
#G4HepRep & G4HepRepFile — о них речь пойдет ниже. #G4HepRep & G4HepRepFile — о них речь пойдет ниже.
-#RayTracer по идее должен генерировать jpeg'и фотографического качества, но у меня он создавал только какие-то страшные черно-белые силуэты без антиалиасинга, при чем над каждым подолгу пыхтел. Плюс он не отображает треки.+#RayTracer якобы генерирует JPEG методом рейтрейсинга, но у меня он создавал только какие-то страшные черно-белые силуэты без антиалиасинга. Хотя делает он это остроумно: пропускает через геометрию оптические фотоны методами самого GEANT'а. Работает очень медленно и не обеспечивает визуализацию треков.
-#FukuiRenderer — это, насколько я понимаю то же самое, что и DAWNFILE.+#FukuiRenderer — это то же самое, что и DAWNFILE.
-#OpenGLImmediateX и OpenGLStoredX. Это OpenGL. Что можно о них сказать... Из всех визуализаций только OpenGL и OpenInventor могут работать в реалтайм. Это, конечно, очень удобно, но уж очень некрасиво они рисуют, да и пользоваться ими неудобно, так как окошки не перерисовываются, если их случайно заслонить (приходится явно вызывать <tt>/vis/viewer/flush</tt> для перерисовки). Но первый плюс, безусловно, перевешивает недостатки.+#OpenGLImmediateX и OpenGLStoredX. Из всех визуализаций только OpenGL и OpenInventor могут работать в реальном времени. Это, конечно, очень удобно, но рисуют они некрасиво, да и пользоваться ими неудобно, так как окошки не обновляются, если их случайно заслонить (приходится явно вызывать <tt>/vis/viewer/flush</tt> для перерисовки). Но первый плюс, безусловно, перевешивает недостатки.
-#RayTracerX такой же тупой, как и просто RayTracer, с отличием в том, что вместо файлов jpeg он создает окошко, куда и рисует.+#RayTracerX &mdash; это RayTracer, который вместо файлов создает окно, куда и рисует.
-#VRML1 и VRML2 — две версии vrml. Да толку-то. Под линукс нет ни одного нормального vrml-браузера. Хотя под Windows это реальная альтернатива. VRML можно смотреть в виде 3D, вращать мышкой, приближать и удалять. Вместе с треками.+#VRML1 и VRML2 — две версии vrml. Но толку от них мало. Во-первых под линукс нет ни одного удобного vrml-браузера. А во-вторых этот драйвер не передает иерархию объемов, поэтому нельзя запретить показывать объем вместе с детишками. VRML можно смотреть в виде 3D, вращать мышкой, приближать и удалять. Поддерживается визуализация треков.
-В свете вышеизложенных фактов единственным достойным методом работы с off-line-визуализацией является HepRep. Этот формат позволяет сохранять в файле геометрию и треки. Для просмотра используется программа [http://jas.freehep.org/jas3/ JAS3] (Java Analisys Studio).+===JAS===
 +В свете вышеизложенных фактов отличным методом работы с off-line-визуализацией является HepRep. Этот формат позволяет сохранять в файле геометрию и треки. Для просмотра существует программа [http://jas.freehep.org/jas3/ JAS3] (Java Analisys Studio). На сайте есть дистрибутивы для Win32, Mac OS X и linux. Они работают и на экзотических платформах тоже: запустилось и в linux на amd64, и в MacOSX с аппаратным ускорением 3D.
- /control/verbose 0+Сам JAS3 это культурный шок. Чуть ли не единственная программа на джаве, которая работает быстро и без раздражающих ошибок. Правда, 512 Мб памяти для него это самый минимальный минимум.
- /run/verbose 2+ 
- /vis/verbose 2+Вот и скриншот:
- /tracking/verbose 0+ 
- #/vis/scene/create+[[Image:jas3-small.png]]
- /vis/scene/create svt.bheprep + 
- +Для того, чтобы запустить jas3 в линуксе, надо распаковать архив: <tt>tar xzf jas3-Linux-0.8.2.tar.gz</tt>, и запустить команду <tt>./jas3/jas3</tt>. После чего надо установить плугин для работы с HepRep. Последнее вообще проще простого, т. к. плугины он скачивает из интернета автоматически. В меню View выбираете Plugin Manager, там на вкладке Avaiable находите Wired4, Wired4 Base Library и HepRep plugin, выбираете и нажимаете Install selected plugins. Естественно нужно подключение к интернету. После установки даже перезапускать JAS3 не нужно, все начинает работать сразу!
- #/physics_engine/tailor/SyncRadiation on+ 
- #/physics_engine/tailor/GammaNuclear on+Чтобы G4 создавал файлы в формате HepRep надо добавить в vis.mac строчки
- + /vis/scene/create filename.bheprep
- #/vis/open OGLIX 600+ /vis/open HepRepXML
- #/vis/open ATree+Filename.bheprep, конечно, надо заменить на что-нибудь более подходящее.
- #/vis/open VRML2FILE+ 
- #/vis/open DAWNFILE+Еще HepRep адекватно реагирует на endOfEventAction и по умолчанию добавляет в файл только треки от одного события. Если же вы укажете accumulate, то он будет сохранять все обработанные траектории.
- #/vis/open HepRepXML+ 
- #/vis/open HepRepFile+В Jas'е модель можно поворачивать по-разному, включать-выключать отдельные объемы и треки, и для каждого трека там есть таблица с энергией, импульсом и остальными параметрами. Через Файл&rarr;Сохранить как... можно экспортировать файл в векторном и растровом формате.
- #/vis/open RayTracer+
- +
- /vis/viewer/set/viewpointThetaPhi 0 90 deg+
- #/vis/viewer/set/viewpointThetaPhi 50 30 deg+
- #/vis/viewer/zoom 1.4+
- #/vis/scene/add/scale+
- /vis/viewer/set/autoRefresh true+
- #/vis/viewer/flush +
- #/vis/viewer/set/style surface+
- #/vis/scene/add/axes +
- +
- /vis/viewer/set/culling global false+
- /vis/scene/add/trajectories+
- /tracking/storeTrajectory 1+
- #/vis/scene/endOfEventAction accumulate+
- #/run/beamOn 470000000+
- /run/beamOn 300000+
- #/geometry/test/grid_test true+
- #/geometry/test/cylinder_test true+
- #/geometry/test/line_test true+

Current revision

Визуализация с помощью JAS3


Моя программа в процессе работы выдает текст:

Current available graphics systems are:
 ASCIITree (ATree)
 DAWNFILE (DAWNFILE)
 GAGTree (GAGTree)
 G4HepRep (HepRepXML)
 G4HepRepFile (HepRepFile)
 RayTracer (RayTracer)
 VRML1FILE (VRML1FILE)
 VRML2FILE (VRML2FILE)
 FukuiRenderer (DAWN)
 OpenGLImmediateX (OGLIX)
 OpenGLStoredX (OGLSX)
 RayTracerX (RayTracerX)
 VRML1 (VRML1)
 VRML2 (VRML2)

Это список зарегистрированных в подсистеме визуализации драйверов. Разберем по порядку, что они из себя.

  1. ATree печатает структуры геометрии в виде дерева. Толку от него немного и в нем нет треков. Но иногда это бывает полезно.
  2. DAWNFILE создает файлы в формате .prim, которые потом можно превратить в postscript программой DAWN. Или же их можно проанализировать на предмет наличия перекрытий примитивов программой David. Но dawn достаточно неудобный, хотя и позволяет получать очень качественные иллюстрации, похожие на чертежи. Он поддерживает только один выходной формат — EPS, который трудно поддается редактированию.
  3. GAGTree — это нечто вроде ATree, но предназначен для ввода геометрии в другие программы.
  4. G4HepRep & G4HepRepFile — о них речь пойдет ниже.
  5. RayTracer якобы генерирует JPEG методом рейтрейсинга, но у меня он создавал только какие-то страшные черно-белые силуэты без антиалиасинга. Хотя делает он это остроумно: пропускает через геометрию оптические фотоны методами самого GEANT'а. Работает очень медленно и не обеспечивает визуализацию треков.
  6. FukuiRenderer — это то же самое, что и DAWNFILE.
  7. OpenGLImmediateX и OpenGLStoredX. Из всех визуализаций только OpenGL и OpenInventor могут работать в реальном времени. Это, конечно, очень удобно, но рисуют они некрасиво, да и пользоваться ими неудобно, так как окошки не обновляются, если их случайно заслонить (приходится явно вызывать /vis/viewer/flush для перерисовки). Но первый плюс, безусловно, перевешивает недостатки.
  8. RayTracerX — это RayTracer, который вместо файлов создает окно, куда и рисует.
  9. VRML1 и VRML2 — две версии vrml. Но толку от них мало. Во-первых под линукс нет ни одного удобного vrml-браузера. А во-вторых этот драйвер не передает иерархию объемов, поэтому нельзя запретить показывать объем вместе с детишками. VRML можно смотреть в виде 3D, вращать мышкой, приближать и удалять. Поддерживается визуализация треков.

JAS

В свете вышеизложенных фактов отличным методом работы с off-line-визуализацией является HepRep. Этот формат позволяет сохранять в файле геометрию и треки. Для просмотра существует программа JAS3 (http://jas.freehep.org/jas3/) (Java Analisys Studio). На сайте есть дистрибутивы для Win32, Mac OS X и linux. Они работают и на экзотических платформах тоже: запустилось и в linux на amd64, и в MacOSX с аппаратным ускорением 3D.

Сам JAS3 это культурный шок. Чуть ли не единственная программа на джаве, которая работает быстро и без раздражающих ошибок. Правда, 512 Мб памяти для него это самый минимальный минимум.

Вот и скриншот:

Image:jas3-small.png

Для того, чтобы запустить jas3 в линуксе, надо распаковать архив: tar xzf jas3-Linux-0.8.2.tar.gz, и запустить команду ./jas3/jas3. После чего надо установить плугин для работы с HepRep. Последнее вообще проще простого, т. к. плугины он скачивает из интернета автоматически. В меню View выбираете Plugin Manager, там на вкладке Avaiable находите Wired4, Wired4 Base Library и HepRep plugin, выбираете и нажимаете Install selected plugins. Естественно нужно подключение к интернету. После установки даже перезапускать JAS3 не нужно, все начинает работать сразу!

Чтобы G4 создавал файлы в формате HepRep надо добавить в vis.mac строчки

 /vis/scene/create filename.bheprep
 /vis/open HepRepXML

Filename.bheprep, конечно, надо заменить на что-нибудь более подходящее.

Еще HepRep адекватно реагирует на endOfEventAction и по умолчанию добавляет в файл только треки от одного события. Если же вы укажете accumulate, то он будет сохранять все обработанные траектории.

В Jas'е модель можно поворачивать по-разному, включать-выключать отдельные объемы и треки, и для каждого трека там есть таблица с энергией, импульсом и остальными параметрами. Через Файл→Сохранить как... можно экспортировать файл в векторном и растровом формате.

Edit page