Revision as of 12:02, 25 Oct 2006 213.131.7.83 (Talk | contribs) ← Go to previous diff |
Revision as of 13:38, 15 Nov 2006 213.131.7.83 (Talk | contribs) Go to next diff → |
||
Line 36: | Line 36: | ||
Сам JAS3 это культурный шок. Чуть-ли не единственная программа на джаве, которая работает быстро и без раздражающих глюков. Правда, конечно 512 Мб памяти для него это самый минимальный минимум. | Сам JAS3 это культурный шок. Чуть-ли не единственная программа на джаве, которая работает быстро и без раздражающих глюков. Правда, конечно 512 Мб памяти для него это самый минимальный минимум. | ||
+ | Вот и скриншот: | ||
+ | [[Image:jas3-small.png jas3.png]] | ||
/control/verbose 0 | /control/verbose 0 |
Revision as of 13:38, 15 Nov 2006
Визуализация с помощью 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)
Разберем по порядку, что из себя представляют эти драйверы.
- ATree печатает структуры геометрии в виде дерева. Толку от него немного и в нем нет треков.
- DAWNFILE выдает файлы в формате .prim, которые потом можно превратить в постскрипт программой DAWN. Или их можно проанализировать на предмет наличия перекрытий примитивов программой David. Но dawn ужасно неудобный и неинтерактивный, чтобы из него получить достойно выглядящую картинку приходится возиться полчаса.
- GAGTree — это что-то непонятное навроде ATree. Абсолютно бесполезная вещь.
- G4HepRep & G4HepRepFile — о них речь пойдет ниже.
- RayTracer по идее должен генерировать jpeg'и фотографического качества, но у меня он создавал только какие-то страшные черно-белые силуэты без антиалиасинга, при чем над каждым подолгу пыхтел. Плюс он не отображает треки.
- FukuiRenderer — это, насколько я понимаю то же самое, что и DAWNFILE.
- OpenGLImmediateX и OpenGLStoredX. Это OpenGL. Что можно о них сказать... Из всех визуализаций только OpenGL и OpenInventor могут работать в реалтайм. Это, конечно, очень удобно, но уж очень некрасиво они рисуют, да и пользоваться ими неудобно, так как окошки не перерисовываются, если их случайно заслонить (приходится явно вызывать /vis/viewer/flush для перерисовки). Но первый плюс, безусловно, перевешивает недостатки.
- RayTracerX такой же тупой, как и просто RayTracer, с отличием в том, что вместо файлов jpeg он создает окошко, куда и рисует.
- VRML1 и VRML2 — две версии vrml. Да толку-то. Под линукс нет ни одного нормального vrml-браузера. Хотя под Windows это реальная альтернатива. 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 Мб памяти для него это самый минимальный минимум.
Вот и скриншот:
Missing image
Jas3-small.png_jas3.png
Image:jas3-small.png jas3.png
/control/verbose 0 /run/verbose 2 /vis/verbose 2 /tracking/verbose 0 #/vis/scene/create /vis/scene/create svt.bheprep #/physics_engine/tailor/SyncRadiation on #/physics_engine/tailor/GammaNuclear on #/vis/open OGLIX 600 #/vis/open ATree #/vis/open VRML2FILE #/vis/open DAWNFILE #/vis/open HepRepXML #/vis/open HepRepFile #/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