Подтвердить что ты не робот

Насколько хороша ВТК?

Я слышал некоторые хорошие отзывы о Visualization ToolKit (VTK) от разработчиков. Но насколько это мощно? Например, может ли он обрабатывать визуализацию всего нефтяного резервуара (в симуляторе) с миллиардами точек сетки? Большинство промышленных резервуаров-симуляторов работают на параллельных процессорах. Я знаю, что VTK поддерживает параллельную обработку, но опять же, насколько стабильным может быть использование параллельных процессоров при запуске чего-то вроде моделирования коллектора? Кто-нибудь использовал VTK в таком масштабном проекте?

Mathematica поддерживает некоторые простые моделирования резервуаров, но я думаю, что он использует библиотеки Java Swing. Итак, кто-нибудь имеет представление о том, что VTK используется для мощной визуализации, отличной от 3DSplice? Кроме того, может ли кто-нибудь сказать что-нибудь о времени разработки с помощью VTK?

4b9b3361

Ответ 1

VTK кодируется на С++ и может использоваться в С++, Python, Tcl/Tk, Java. Лаборатории, такие как Sandia (в том числе, я считаю, их Titan), Лос-Аламос и Ливермор, используют VTK для усилий по визуализации в масштабе достаточно большой, чтобы соперничать с вашими амбициями (конечно, это делается с огромным количеством аппаратного обеспечения в поддержке, а чрезвычайно опытные программисты, очень опытные с VTK и всеми другими технологиями, используемыми в проекте - "миллиарды точек сетки" - это не проект решать, пока у вас нет команды с такими экстремальными навыками, а не с помощью ЛЮБОГО инструментария).

Я не утверждаю этого (проект визуализации яростно амбициозного масштаба, который вы имеете в виду) будет ЛЕГКО, независимо от того, как вы его решаете, - но я не могу придумать никаких альтернативных рамок, которые могли бы сделать это любой легче, чем VTK! -)

Ответ 2

VTK - довольно мощный инструментарий, в котором он предлагает разумно эффективные реализации широкого спектра алгоритмов визуализации. Чтобы увидеть некоторые из возможностей VTK, я рекомендую проверить ParaView. ParaView создает полезное приложение вокруг VTK, поэтому вы можете сразу визуализировать данные, связывая различные компоненты VTK вместе.

Для более прямого решения ваших вопросов параллельная обработка в VTK используется для ускорения создания визуализации. Это должно быть стабильным, но не зависящим от вашего расчета моделирования. Изучение использования VTK занимает некоторое время, но есть книга, которую вы можете купить, которая объясняет многие аспекты ее использования. Экспериментировать с обложками Python - это хороший способ ускорить использование VTK.

Для ваших приложений я не уверен, что VTK является наиболее подходящим решением. Я бы порекомендовал некоторые мелкомасштабные эксперименты, используя привязки ParaView или Python VTK, чтобы увидеть, можете ли вы создать разумную визуализацию ваших симуляций.

Ответ 3

Мой личный опыт работы с VTK позитивен, но только с небольшими наборами данных. Это может быть очень медленно, если у вас есть большие наборы данных, как в вашем случае. С положительной стороны, он так много режимов визуализации, что немыслимо переписать их в чистом OpenGL. Я не знаю, откуда происходит медленность VTK, но архитектура трубопровода, вероятно, не помогает. Кроме того, многое зависит от используемого вами фильтра. Объемный график, например, безумно медленный по конструкции (много параллельных прозрачных плоскостей).

Решение, которое мы нашли полезным, заключалось в том, чтобы обрезать набор данных до минимума до его построения. Очень часто потеря визуальной точности незначительна. Вы также можете попробовать с фильтром LevelOfDetail (LOD), но у меня нет опыта с ним.

Ответ 4

Определение того, как "мощный" VTK (или любая библиотека) невозможно. Все зависит от ваших потребностей. Не похоже, что вы можете выбросить любую сетку в VTK, усилить нагрузку на множество аппаратных средств и ожидать, что она будет работать бесперебойно. VTK не ориентирован на огромные модели - однако там есть библиотека под названием Paraview, которая пытается поддержать это.

Sidenote: мы визуализируем миллиардные модели клеток в интерактивном режиме на простых ноутбуках (не используя VTK/Paraview). Как? Я думаю, что секрет...:)