Pregunta

He escuchado algunas buenas críticas del Visualization ToolKit (VTK) de los desarrolladores. ¿Pero exactamente qué tan poderoso es? Por ejemplo, ¿puede manejar la visualización de un depósito de petróleo completo (en un simulador) con miles de millones de puntos de cuadrícula? La mayoría de los simuladores de yacimientos industriales funcionan con procesadores paralelos. Sé que VTK admite el procesamiento en paralelo, pero de nuevo, ¿qué tan estable puede ser utilizar procesadores en paralelo cuando se ejecutan simulaciones de yacimientos? ¿Alguien ha usado VTK en un proyecto a gran escala?

Mathematica admite algunas simulaciones de yacimientos simples, pero creo que usa las bibliotecas Java Swing. Entonces, ¿alguien tiene alguna idea de que VTK se usa para una visualización poderosa que no sea 3DSplice? Además, ¿alguien puede decir algo sobre el tiempo de desarrollo usando VTK?

¿Fue útil?

Solución

VTK está codificado en C ++ y se puede usar en C ++, Python, Tcl / Tk, Java. Laboratorios como Sandia (incluido, creo, su Titan esfuerzo), Los Alamos y Livermore, usan VTK para los esfuerzos de visualización en una escala lo suficientemente grande como para rivalizar con sus ambiciones (por supuesto, esto se hace con una gran cantidad de hardware de soporte y programadores extremadamente calificados con mucha experiencia en VTK y todas las demás tecnologías que se utilizan en el proyecto, miles de millones de puntos de cuadrícula "no es un proyecto para abordar hasta que tenga un equipo con habilidades tan extremas, no con CUALQUIER juego de herramientas).

No estoy afirmando que esto (un proyecto de visualización de la escala ferozmente ambiciosa que tienes en mente) será FÁCIL sin importar cómo lo abordes, pero no puedo pensar en ningún marco alternativo que lo haga ¡más fácil que VTK! -)

Otros consejos

VTK es un kit de herramientas bastante potente en el sentido de que ofrece implementaciones razonablemente eficientes de una amplia variedad de algoritmos de visualización. Para ver algo de lo que VTK puede hacer, recomiendo revisar ParaView . ParaView crea una aplicación utilizable alrededor de VTK para que pueda visualizar datos de inmediato al acoplar varios componentes de VTK.

Para abordar más directamente sus preguntas, el procesamiento paralelo en VTK se utiliza para acelerar la creación de la visualización. Esto debería ser estable, pero independiente de su cálculo de simulación. Aprender a usar VTK lleva algún tiempo, pero hay un libro que puedes comprar que explica muchos aspectos de cómo usarlo. Experimentar con los envoltorios de Python es una buena manera de ponerse al día sobre cómo usar VTK.

Para sus aplicaciones, no estoy seguro de si VTK es la solución más adecuada. Recomendaría algunos experimentos a pequeña escala utilizando los enlaces ParaView o Python VTK para ver si puede crear una visualización razonable de sus simulaciones.

Mi experiencia personal con VTK es positiva, pero solo con conjuntos de datos pequeños. Definitivamente puede ser muy lento si tiene grandes conjuntos de datos, como en su caso. En el lado positivo, tiene tantos modos de visualización que es impensable reescribirlos en OpenGL puro. No sé de dónde viene la lentitud de VTK, pero la arquitectura de la tubería probablemente no ayuda. Además, gran parte depende del filtro que use. El diagrama volumétrico, por ejemplo, es increíblemente lento por la construcción (muchos planos transparentes paralelos).

Una solución que encontramos útil fue recortar el conjunto de datos a un mínimo antes de trazarlo. Muy a menudo, la pérdida de precisión visual es insignificante. También puedes probar con el filtro LevelOfDetail (LOD) pero no tengo experiencia con él.

Definir cómo " poderoso " VTK (o cualquier biblioteca) es imposible. Todo depende de tus necesidades. No es como si pudieras lanzar una grilla en VTK, reforzar con un montón de cargas de hardware y esperar que funcione sin problemas. VTK no está dirigido a modelos enormes, sin embargo, hay una biblioteca llamada Paraview que intenta admitir esto.

Nota al margen: visualizamos millones de modelos celulares interactivamente en computadoras portátiles simples (sin usar VTK / Paraview). ¿Cómo? Supongo que es un secreto ... :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top