![]() This post describes a recipe I learned from Russell M Taylor II at UNC’s Department of Computer Science. We are thankful to LLNL specifically Dean Williams for supporting this work.ParaView has a number of great filters for generating visualizations of 3D vector fields. This enables the integration to be terminated if streamlines are too close to other streamlines or if a loop is formed. We added custom termination callbacks to vtkStreamTracer. ![]() This is because the algorithm needs that points along a streamline be equally spaced. The streamlines are produced using vtkStreamTracer using only Runge-Kutta2 or Runge-Kutta4 integrators (we cannot use Runge-Kutta45 integrator). It does not work in parallel because of its inherently serial seeding strategy. The algorithm works only on 2D datasets parallel with plane XY. "An advanced evenly-spaced streamline placement algorithm." IEEE Transactions on Visualization and Computer Graphics 12.5 (2006): 965-972. Liu, Zhanping, Robert Moorhead, and Joe Groner. "Creating evenly-spaced streamlines of arbitrary density." Visualization in ScientificĬomputing’97. Loops are considered closed if they have two points at distance less than ClosedLoopMaximumDistance.Īttached is the ParaView State File used to generate the two images above and the dataset it operates on. If the current streamline gets closer than SeparatingDistance * SeparatingDistanceRatio to other streamlines integration stops. SeparatingDistanceRatio specifies how close a streamline can get to other streamlines before it is terminated. The SeparatingDistance specifies how far from other streamlines a new streamline is started. From there on, all other seeds are determined automatically. You need to specify the StartPosition which represents the coordinates for the seed for the first streamline. UsageĮvenlySpacedStreamlines2D works on 2D datasets parallel with the XY plane. We only show ParaView properties, VTK properties are easily deduced from those. In the next section we present usage and implementation details for evenly spaced streamlines. Note that certain areas are not well covered while other areas are too crowded. ![]() The second image shows randomly seeded streamlines with approximately the same number of streamlines as the first image. The first image shows equally spaced streamlines with arrow glyphs pointing to the direction of the flow. The following two images illustrate the differences between evenly spaced streamlines and randomly seeded streamlines. ![]() It avoids streamline crowding by terminating the current streamline when it gets too close to other streamlines. It allows the user to control the density of streamlines while it provides good coverage of the domain. This visualization method addresses both potential drawbacks of conventional streamline seeding strategies. Recently we merged in VTK – vtkEvenlySpacedStreamlines2D and ParaView – Evenly Spaced Streamlines 2D an implementation for evenly spaced streamlines for 2D datasets. Both randomly placing streamlines or placing them on a regular grid can lead to regions without any streamlines or regions that are too crowded. The ability of streamlines to create an effective visualization depends on two criteria: 1) placement of streamlines at locations where the flow needs to be visualized and 2) Techniques to avoid streamlines crowding, as that may obstruct other visualization elements. VTK and ParaView provide visualization of vector fields through streamlines using vtkStreamTracer in VTK or Stream Tracer in ParaView. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |