interactive stream surface placement: a hybrid clustering ...chengu/publications/3dflowvis/... ·...

8
Interactive Stream Surface Placement: A Hybrid Clustering Approach Supported By Tree Maps M.Edmunds 1 , R.S.Laramee 1 , R.Malki 1 , I.Masters 1 , Y.Wang 2 , G.Chen 3 , E.Zhang 4 and N.Max 5 1 Swansea University, Wales, UK. 2 Shenzhen VisuCA Key Lab/SIAT, China. 3 University of Houston, Texas, US. 4 Oregon State University, US. 5 University of California, Davis, US. {csmatti, r.s.laramee}@swansea.ac.uk Keywords: Automatic Stream Surface Seeding, Data Clustering, Scalar Field Data, Irregular and Unstructured Grids, Focus + Context Techniques, Flow Visualisation. Abstract: The ability of a CFD engineer to study, capture, and visualise 3D flow simulation data is a challenge. Stream surfaces are a useful tool for visualising 3D flow because of their ability to convey many field attributes from their structure. It is important that the CFD engineer can interact with, and examine specific characteristics of the CFD data. We introduce an interactive, cluster based stream surface placement strategy for structured and unstructured CFD data. A two-phase hybrid clustering algorithm is used to visualise interesting subsets of the flow. An interactive tree map interface provides a visual overview and enables interactive selection of cluster details corresponding to interesting features of the data at which to place stream surfaces. We demonstrate the performance and effectiveness of our interactive framework on a range of flow simulations and provide domain expert evaluation of the results, providing valuable insight for the CFD engineers. 1 Introduction The challenge of visualising CFD (Computational Fluid Dynamics) simulations include handling large, unstructured, high dimensional data. This motivates the need for visualisation techniques to address this challenge. Although many algorithms have been de- scribed for the placement of streamlines, relatively few have been presented for stream surfaces. An im- portant process for the revealing flow characteristics is the seeding of such techniques. In this context, we extend recent work automating the placement of stream surfaces (Edmunds et al., 2012b)(Edmunds et al., 2012a)(Edmunds et al., 2011). We study the surface placement algorithm with emphasis on reduc- ing the memory requirements and computational time for the clustering, while working with unstructured data. Part of the motivation behind our work is a re- quest from CFD experts to interactively select a sub- set (or cluster) of the CFD data and obtain more de- tails. We further study the domain expert require- ments, developing a visual interface and tools for in- teractive selection and filtering of cluster representa- tions of CFD data. The requirements of the domain experts include: interactive selection of specific areas of interest, combined visualisation of flow and CFD data, and visualisation of the evolution of the flow in both upstream and downstream directions. In order to accelerate computational speed, and process large datasets, we introduce an algorithm for the interactive and semi automatic placement of stream surfaces by exploiting a two phase clustering technique that emphasises interesting features of real world CFD simulation data. We present a novel use of k-means clustering combined with Density Based spatial Clustering of Applications with Noise (DB- SCAN) (Ester et al., 1996). The clustering technique is used to locate areas of interest for the domain user, and then to generate seeding curves and surfaces local to a given cluster, which yield insightful representa- tions of multi-field CFD data. This allows the inves- tigation of simulation attributes as they evolve in up and downstream directions of the flow. Vector field clustering has been used to show in- teresting flow features for real world data sets (Peng et al., 2012). They offer the benefit of not having to make a binary decision based on the presence of a feature. K-Means clustering algorithms provide a general approach to partitioning data. Density based distance functions are another useful tool for parti- tioning the domain into smaller subsets. We em- ploy both of these approaches in our framework for automatic placement of surfaces in multi-field data

Upload: others

Post on 03-Aug-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Interactive Stream Surface Placement: A Hybrid Clustering ...chengu/Publications/3DFlowVis/... · 3.Next we build a hierarchical tree with k-means clusters as inner nodes, and the

Interactive Stream Surface PlacementA Hybrid Clustering Approach Supported By Tree Maps

MEdmunds1 RSLaramee1 RMalki1 IMasters1 YWang2 GChen3 EZhang4 and NMax5

1Swansea University Wales UK2Shenzhen VisuCA Key LabSIAT China

3University of Houston Texas US4Oregon State University US

5University of California Davis UScsmatti rslarameeswanseaacuk

Keywords Automatic Stream Surface Seeding Data Clustering Scalar Field Data Irregular and Unstructured GridsFocus + Context Techniques Flow Visualisation

Abstract The ability of a CFD engineer to study capture and visualise 3D flow simulation data is a challenge Streamsurfaces are a useful tool for visualising 3D flow because of their ability to convey many field attributes fromtheir structure It is important that the CFD engineer can interact with and examine specific characteristics ofthe CFD data We introduce an interactive cluster based stream surface placement strategy for structured andunstructured CFD data A two-phase hybrid clustering algorithm is used to visualise interesting subsets of theflow An interactive tree map interface provides a visual overview and enables interactive selection of clusterdetails corresponding to interesting features of the data at which to place stream surfaces We demonstratethe performance and effectiveness of our interactive framework on a range of flow simulations and providedomain expert evaluation of the results providing valuable insight for the CFD engineers

1 IntroductionThe challenge of visualising CFD (Computational

Fluid Dynamics) simulations include handling largeunstructured high dimensional data This motivatesthe need for visualisation techniques to address thischallenge Although many algorithms have been de-scribed for the placement of streamlines relativelyfew have been presented for stream surfaces An im-portant process for the revealing flow characteristicsis the seeding of such techniques In this contextwe extend recent work automating the placement ofstream surfaces (Edmunds et al 2012b) (Edmundset al 2012a) (Edmunds et al 2011) We study thesurface placement algorithm with emphasis on reduc-ing the memory requirements and computational timefor the clustering while working with unstructureddata Part of the motivation behind our work is a re-quest from CFD experts to interactively select a sub-set (or cluster) of the CFD data and obtain more de-tails We further study the domain expert require-ments developing a visual interface and tools for in-teractive selection and filtering of cluster representa-tions of CFD data The requirements of the domainexperts include interactive selection of specific areasof interest combined visualisation of flow and CFDdata and visualisation of the evolution of the flow in

both upstream and downstream directionsIn order to accelerate computational speed and

process large datasets we introduce an algorithmfor the interactive and semi automatic placement ofstream surfaces by exploiting a two phase clusteringtechnique that emphasises interesting features of realworld CFD simulation data We present a novel useof k-means clustering combined with Density Basedspatial Clustering of Applications with Noise (DB-SCAN) (Ester et al 1996) The clustering techniqueis used to locate areas of interest for the domain userand then to generate seeding curves and surfaces localto a given cluster which yield insightful representa-tions of multi-field CFD data This allows the inves-tigation of simulation attributes as they evolve in upand downstream directions of the flow

Vector field clustering has been used to show in-teresting flow features for real world data sets (Penget al 2012) They offer the benefit of not havingto make a binary decision based on the presence ofa feature K-Means clustering algorithms provide ageneral approach to partitioning data Density baseddistance functions are another useful tool for parti-tioning the domain into smaller subsets We em-ploy both of these approaches in our framework forautomatic placement of surfaces in multi-field data

sets Data samples clustered with k-means in attributespace may well be separated in Euclidean space Todeal with this we use the DBSCAN clustering to fur-ther partition each k-means cluster into sub clustersseparated in Euclidean space This approach enablesthe domain expert to focus on an individual structurein the flow

The selection and interaction with large numbersof clusters positioned in 3D space is a challengingtask A novel approach to enabling selection and in-teractivity of flow field clusters in 3D space is to cou-ple them to tree maps The different cluster attributesare displayed with the tree map in an interactive visualinterface for the user to guide the selection of clustersto place stream surfaces Tree maps enable the user toselect individual (or groups of) clusters and drill downthe hierarchy to obtain more detail We illustrate howto capture the characteristics of the flow field for thedomain users Our focus pays particular attention tothe performance and flexibility of the clustering com-bined with the interactive seeding curve placementThe main benefits and contributions of this paper arebull Improved computational speed and memory us-

age over recent vector field clustering work withthe ability to process large high-dimensionaldatasets fast and efficiently

bull An algorithm to partition the flow field using k-means clustering providing superior performance memory footprint and a feature based overviewof the data

bull A technique that subdivides the resulting clustersbased on Euclidean density to support interactivehierarchical analysis and semi-automatic streamsurface placement

bull A tree map interface to support interactive selec-tion of hierarchical clusters in a focus and contextmanner

bull The application of these visualisation and inter-action techniques to real world CFD data withreviews from the domain experts who prefer theproposed method over previous techniques

The rest of this paper is divided into the followingsections A review of related literature is conductedin section 2 A detailed presentation of the algorithmis given in section 3 The results are reviewed in sec-tion 4 A domain expert evaluation is provided in sec-tion 5 Conclusions and future work are discussed insection 6

2 Related WorkThe related work falls into the following stream-

line placement surface placement strategies vectorfield clustering and tree maps We refer the readersto (Edmunds et al 2012c) for a complete overview offlow visualisation with surfaces

Clustering (Xu et al 2005) survey the topic ofclustering focusing on scalar clustering algorithmsrooted in statistics computer science and machinelearning Clustering algorithms can be divided intohierarchical clustering or partition-based clusteringThe (Telea and van Wijk 1999) algorithm utilisesa hierarchical approach as does the work by (Ed-munds et al 2012b) These algorithms are effec-tive in providing a simplified representation of a vec-tor field However these algorithms are O(n2) com-plex where n is the number of initial samples Thishas a significant impact on computation and memoryrequirements Alternatively partitioning algorithmssuch as k-means clustering (Bock 2007) are gener-ally O(i middot k middotn) complex (Kogan 2007) where k is thenumber of centroids or means and i is the numberof iterations Another partitioning scheme of inter-est is DBSCAN (Density Based spatial Clustering ofApplications with Noise) (Ester et al 1996) Thismethod is particularly useful in partitioning a spacebased on the local density eg if two groups of dataare spacially separated DBSCAN will partition thetwo groups into separate clusters If neighbourhoodconnectivity data is stored the overall runtime com-plexity is O(n middot logn) We utilise the k-means clus-tering to partition a given field from the multi-fielddata We then apply the DBSCAN clustering to eachresultant cluster mean partitioning the cluster basedon euclidean density

Tree Maps (Johnson and Shneiderman 1991) and(Shneiderman 1992) introduce a method for the visu-alisation of hierarchically structured information Thetechnique makes efficient use of the available spacewhere the full hierarchy is mapped to a rectangulararea (Ward et al 2010) Large hierarchies can berendered completely while representing a range of se-mantic information Following from this (Van Wijkand Van De Wetering 1999) render the rectangleswith shading to improve perception During the sub-division the rectangles are rendered with a simpleshading model The result is a tree map that consistsof recursive cushions

(Bruls et al 2000) introduce the squarified treemap to generate layouts in which the rectangles ap-proximate squares The layout of the children in onerectangle is a recursive procedure which presents therectangles in either horizontal and vertical rows Thesquarified tree map approach provides the domain ex-pert with interaction and real time feedback This en-ables selection of individual clusters and placementof stream surfaces in the flow This is the first workthat we know of that exploits tree maps in order to ad-dress the challenges of selecting and interacting witha large number of clusters in 3D space

Figure 1 The left image shows our algorithm pipeline The top centre and right images show a selected k-means clusterThe selected cluster in the tree map is highlighted grey and labelled with a rsquoHrsquo The centre and centre right images show aselected DBSCAN sub cluster The bottom right image shows a cuboid fitted to a selected cluster The bottom centre imageshows seeding curves derived at the cuboid boundaries The bottom right image shows the final rendering of the upstream anddownstream surfaces The dataset shown here has been provided by Tino Weinkauf and used in von Funck et al for smokevisualisations (von Funck et al 2008)

3 Interactive Surface PlacementThis section describes our interactive stream sur-

face placement algorithm starting with an overviewof the pipeline illustrated in Figure 1 The algorithmfeatures clustering of the selected data field visualisa-tion and selection of clusters with a tree map surfaceplacement and rendering The input to our visuali-sation framework is an unstructured CFD simulationThe user selects a single scalar data field a(p) to clus-ter The input to the algorithm is a(p) isin R wherea isin R p isinΩ and is a 3D regular or unstructured gridin R3

1 We start by partitioning the selected data field intok clusters The k-means algorithm iterates until itconverges to a stable set of means See Section31

2 We then use the DBSCAN algorithm to furthersubdivide the resulting clusters The purpose is topartition any cluster which has spatial separationThis spatial separation is important when examin-ing individual features of the flow field See Sec-tion 32

3 Next we build a hierarchical tree with k-meansclusters as inner nodes and the DBSCAN subclusters as leaf nodes This tree is then visualisedwith an interactive tree map displaying meta dataabout each cluster The user can interactively se-lect any cluster or sub cluster The selected clusteris rendered in the main window See Section 33

4 Once the cluster of interest is selected we calcu-late the clusters spatial centre along with the ma-jor and minor axis of the covariance matrix de-rived from the clusterrsquos second moments These

attributes are used to fit an oriented bounding box(seeding cuboid) to the cluster See Section 34

5 Next we compute the seeding curves at the cuboidboundary planes See Section 35

6 Stream surfaces are propagated from each of theseeding curves Flow attributes may be mappedto colour and opacity After the generation of thestream surfaces the surface data is rendered usinga number of illustrative techniques to enhance theperception See Section 36

31 K-Means ClusteringK-Means clustering is a fast simple and popularmethod for clustering data (Bock 2007) With rel-atively low computational requirements and memoryusage compared to hierarchical clustering it is a goodcandidate to solve data partitioning and significantlyreduce the computational and memory requirementsThis algorithm needs no modification to deal with ei-ther structured or unstructured data

The procedure provides a simple way to classify agiven data field through a number k of clusters chosena priori The main idea is to define k centroids one foreach cluster The next step is to take each grid vertexpi belonging to Ω and associate it with the nearest ini-tial centroid c (Kogan 2007) The distance functiond(c a) is defined as ||cminusa||2

32 DBSCAN ClusteringThe Density-Based spatial Clustering of Applicationswith Noise (DBSCAN) algorithm is used for findingnon linear shape structures based on the density (Es-ter et al 1996) Once the k-means clustering has con-verged the resultant points are neighbouring clusters

in the chosen data field However this is not necessar-ily so in euclidean space Separation of these clustersinto sub clusters in euclidean space is important tothe domain expert when examining distinct featuresin the flow field to which the k-means cluster is asso-ciated DBSCAN requires two parameters ε the min-imum distance to neighbouring points and the mini-mum number of points required to form a cluster nmin

33 Cluster Selection with Tree MapsHierarchical structures are ubiquitous eg familytrees and directory structures (Kehrer and Hauser2012) Many techniques have been proposed to visu-alise such structures more effectively However fewmethods have been presented for interacting with alarge cluster hierarchy in 3D space Tree maps arean efficient and compact method to display hierarchi-cal structures The basis for choosing tree maps istwo fold First the CFD domain experts specificallyrequested the ability to select any cluster and obtainmore detail Second interacting and selecting clus-ters in a large 3D spatial hierarchy is cumbersome atbest

We utilise squarified tree maps by (Bruls et al2000) The method is based on tree maps by (Johnsonand Shneiderman 1991) and (Shneiderman 1992)The tree map is constructed via recursive subdivisionof an initial rectangle The size of each sub rectanglecorresponds to the size of the node Colour and an-notation is used to provide further information aboutthe leaves We build a hierarchical tree with the k-means clusters represented by the inner nodes Wethen build the leaf nodes of the tree with the DBSCANsub clusters of the parent spherical k-means clustermean node Moving the mouse over a node in the treemap view highlights the cluster vertices within the 3Dspatial view If the user moves the mouse over a k-means node the complete set of cluster vertices aredisplayed in the 3D spatial view Meta data about thecluster is shown in the tree map view along with theDBSCAN children of this cluster If the user selectsthe cluster node the children are displayed in the treeview Again if the user moves the mouse over a DB-SCAN node the sub cluster is displayed in the mainview Meta data about sub clusters are shown on thetree map view (See Figure 2)

The benefits of this method are that user interac-tion provides feedback about the spatial hierarchiesfiltering the spatial hierarchies to examine specific ar-eas of interest and details on demand This allows thedomain expert to explore and select areas of the datain a focus and context manner and provides visualfeedback in the linked 3D view Once an area of in-terest is selected the user can examine with the use of

Figure 2 The tree map in the top image shows a high-lighted cluster (middle right) which can be seen renderedin the main view (bottom image) The size of the rectangleis mapped to the size of the cluster and colour is mappedto the mean of the cluster Meta data about the cluster isoverlaid onto the cluster rectangle The sub clusters gener-ated from the DBSCAN clustering can also be seen in thehighlighted tree map cluster and relate to the spacially sep-arated sub clusters seen in the main view (bottom image)The colour of the cluster in the bottom image is also mappedto its mean

stream surfaces how the attributes of the flow evolveboth upstream and downstream Stream surfaces aregenerated from a seeding cuboid fitted around thecluster of interest

34 Cluster Attribute ComputationAn object eg an ellipsoid or bounding box withnine degrees of freedom is fitted around the geometryof a cluster There are three degrees of freedom for thecentre point position three for the orientation of theobject axes and three for the axes lengths

The object fit provides a good indication of theglobal geometry of a clusterrsquos position size and ori-entation The centre point position is the average po-sition of the cluster points The volume of an objectcan be determined from the axis lengths The orienta-tion can be determined from the axis directions Thefollowing is a description of the PCA method used toderive the cluster attributes We describe the analyticand the related discretised version For any clusterπ(c) the following volume integrals describe its shapein euclidean space (Jolliffe 2005) (Reinders 2001)(Stroud and Booth 2001) The Euclidean centre ofπ(c)

uπ =1vπ

intπ

pdv

where p isin π(c) is a vertex in 3D euclidean space andvπ is the volume of π(c) We next calculate the secondmoment of π(c) This provides us with the covariance

Figure 3 This image illustrates a seeding cuboid fitted to acluster in the flow past a cuboid data The seeding cuboidis centred at the cluster centre oriented according to theeigenvector directions and is scaled by the eigenvalues

matrix sπ

sπ =1vπ

intπ

(pminusuπ)(pminusuπ)T dv

The eigenvectors of the covariance matrix sπ are threeunit vectors e1 e2 and e3 with sπei = λiei whereei is the i th eigenvector and λi is the correspondingeigenvalue The normalised standard deviation σ ofthe covariance sπ in the i th eigenvalue direction isσi =

radicλivπ To fit a cuboid C to any cluster π(c)

it is centred on uπ where its size and orientation ineach axis corresponds to the unit eigenvectors ei mul-tiplied by the corresponding normalised standard de-viation σi See Figure 3

35 Seeding CuboidFor the challenge of generating seeding curves be-tween and inclusive of boundary switch curves wecompute a scalar field representing the flow exit tra-jectory from the cuboid boundary Cprime When the flowis parallel to the cuboid boundary the scalar is 05When the flow exits orthogonal to C the scalar is zeroand when entering is unity The scalar s is calculatedas follows

s =2cosminus1(np middot nv)

314159where np is the plane normal nv is the normalisedvelocity vector and cosminus1(np middot nv) is given in radi-ans This approach reduces the problem to a simplemarching squares (Watson 1992) isoline extractionFor a generic vector field using the full sphere of pos-sible directions the set of points on the boundary of acube where nv middot np = 1 orminus1 will be isolated pointsnot a curve Thus we generally use isovalues in therange [095 005] Next we construct the isolinesfrom s(Cprime) using marching squares The vertices re-quire sequential ordering for use as a seeding curveFor a more detailed discussion on this technique werefer the reader to (Edmunds et al 2011)

36 Surface ConstructionRenderingOur work utilises an out of the box solution for gen-erating stream surfaces The stream surface is con-structed with an advancing front scheme first intro-duced by (Hultquist 1992) An adaptive Runge-Kutta

Figure 4 Left image highlights a selected cluster in the re-gion downstream from the cuboid The right image shows aseeding cuboid fitted to the same cluster with two seedingcurves derived on the rear face

4th order integrator is used in the surface construc-tion The user can select downstream and upstreampropagation By default surfaces are terminated whenthey leave the domain enter a periodic orbit or reacha pre-determined maximum length The user hasan option to control the length A number of tech-niques are implemented to aid the viewer in percep-tion of the resulting visualisation Options include theuse of transparency colour and silhouette edge high-lighting Transparency in visualisations pose prob-lems relating to the order of primitive rendering Weuse depth peeling an order independent transparencytechnique presented by (Bavoli and Myers 2008)

Silhouette edge highlighting is used to help theviewer in perceiving where the surfaces curve awayfrom the viewer and enhance surface edges Silhou-ette highlighting utilises a Gaussian kernel in imagespace (Moller and Haines 2002) Reducing the satu-ration of colour as the surfaces curve away from theviewer further enhances the perception of shape (Ed-munds et al 2012b)

4 ResultsInteraction and exploratory tools are very useful to

the domain expert for the production of insightful andmeaningful visualisations Our clustering approachpartitions the domain into meaningful subsets basedon the field of interest Interacting with the clustersutilising a tree map is an intuitive approach for investi-gating the different characteristics of the data Placingstream surfaces at the selected areas of interest pro-vide further feedback about the evolution of a givenattribute upstream and downstream In the follow-ing section we discuss our technique applied to a wellknown simulation in the community (Camarri et al2005) (von Funck et al 2008) We then demonstrateour algorithm applied to a CFD simulation from do-main experts

Flow Past A Cuboid For the clustering process ve-locity magnitude data is chosen for the input Thenumber of means are five Once the clustering pro-cess is complete the tree map is displayed From thetree map the user can see meta data about each clus-ter describing the velocity range and mean With sizemapped to cluster size and colour mapped to the clus-

ter mean (in this case mean velocity of the cluster) arange of information can be inferred Combined withthe visual representation in the main view this aidsthe user in the selection of a cluster of interest Theselected cluster is a sub-cluster with a mean velocityof 071 ms and a range of 058 ms to 078 ms SeeFigure 4 In the final visualisation in Figure 5 afterthe surfaces are propagated from the seeding cuboidit can be seen how the area of interest interacts withthe upstream and downstream flow An isovalue of095 is used to generate the seeding curves

Visualisation of Marine Turbine CFD SimulationA marine turbine makes use of kinetic energy avail-able in moving water similar in concept to a windturbine being powered by the wind This applica-tion is gaining popularity due to the relative advan-tages marine turbines offer Modelling and simulationare carried out to investigate how the flow past a ma-rine turbine is affected and thus develop a better andmore efficient marine turbine system The engineersresearching this field are investigating the system ofturbine arrays and their interaction with each otherin different spatial arrangements The velocity wakeflowing downstream of a marine turbine may inter-act with the downstream turbines The goal is to findthe optimal layout to pack the turbines into a givenspace and maximise the energy output while manag-ing the environmental effect and durability (Masterset al 2011) (Malki et al 2012) The velocity wakeand pressure can have a major impact on the envi-ronment and the marine turbines The marine turbinemulti-field data is defined on an unstructured irregulargrid For the clustering process pressure data is cho-sen for the input The number of means are five A setof sub-clusters are selected and an isovalue of 005 isused to generate the seeding curves The final visual-isation can be seen demonstrating an optimal solutionfor the array layout See Figure 6 We also illustratea sub-optimal layout where the turbine wake signifi-cantly interferes with neighbouring and downstreamturbines See Figure 7

Figure 5 This visualisation demonstrates stream surfacesseeded from the locations illustrated in Figure 4 We capturethe singularity at the centre of a double vortex downstreamof the cuboid The surfaces are rendered with illustrativetechniques to enhance the perception Colour is mapped tovelocity see inset colour map histogram

Figure 6 This visualisation demonstrates stream surfacesseeded from the clusters situated in front of the turbineblades Pressure is used for the clustering while colouris mapped to velocity which enables tracking the velocitywake edge effect on neighbouring and downstream marineturbines

5 EvaluationTo evaluate our work we compare and contrast

with recent work in this area Our algorithm performswell when compared to the hierarchical clustering of(Edmunds et al 2012b) The hierarchical clusteringis O(n2) compared with our algorithm O(i middot k middot n)and O(n middot logn) for the k-means and DBSCAN clus-tering respectively Our algorithm is implemented inC++ and QT4 on a PC with an NVIDIA GeForceGTX480 an Intel quad core 28GHz CPU with 8GBRAM The bottleneck in the performance of our al-gorithm is the clustering as seen in Table 1 Thetime for tree map generation is in the 7-65[ms] rangeThe calculation of the cluster attributes and seedingcuboid fitting is in the 18-174[ms] range The per-formance of stream surface rendering is comparableto previous work eg (Born et al 2010) (Hummelet al 2010) and (Edmunds et al 2012b) The mem-ory usage for our approach is proportional to the sizeof the data set eg n where n is the number of ini-tial samples We store only one integer per vertex toreference which cluster it belongs to The hierarchi-cal approach stores vector data location data clus-ter size data cumulative error data and neighbour-hoodconnectivity information at each node in the bi-nary tree The quantity of nodes is 2nminus1 The hybridclustering approach is generally one order of magni-tude faster than its predecessor The input to our al-gorithm is the selection of which data field to clusterthe number of centroids (calculated from the required

Clustering PerformanceData Nodes NoMeans Time[ms] Time[ms]Cuboid 192x64x48 5 487 6898Turbine 3693867 5 5923 naIsabel 5002x100 5 30724 542452

Table 1 Clustering performance of a range of simulationsAll are regular grid data except the Turbine data which isan unstructured tetrahedral grid outputted from Tecplot 360(Tecplot ) For consistency we use 5 means for the timingsNote For reference the last column contains comparativetimes from (Edmunds et al 2012b)

Figure 7 This visualisation illustrate a sub-optimal layoutVelocity spikes can be seen neighbouring the downstreamturbine We use the same parameters as in Figure 6

attribute ranges by domain engineer) and a seedingcuboid isovalue of 005 05 or 095 (outflow bound-ary switch curves and inflow respectively) This setof input parameters is greatly simplified compared toprevious work (Edmunds et al 2012b) The flexi-bility of using tree maps to select individual clustersof interest is invaluable to the domain engineer Thevisual and contextual feedback this approach affordsis relevant to the domain engineerrsquos work flow Thedomain engineer can derive the input then visualisethe precise features of interest The focus and contextnature of the clustering combined with the stream sur-faces re-enforce the visual feedback providing an in-tuitive and meaningful environment focusing on dataexploration When selecting areas of interest the pre-vious algorithm in (Edmunds et al 2012b) performedpoorly when applied to the marine turbine data Thismay be the result of insignificant flow characteristicswithin the vector field The seed locations became toodense when trying to capture the particular areas of in-terest resulting in a cluttered incomprehensible visu-alisation In contrast the interaction in our approachenabled the domain engineer to select precisely thelocation to place stream surfaces for a more focusedevaluation In contrast to the work by (Edmunds et al2011) we generate seeding curves on the boundary ofa seeding cuboid fitted to a cluster in euclidean spaceThis enables very localised exploration of the flowfield We also modify the scalar field computationThis has the effect of producing a smoother transitionbetween the range of isovalues

Domain expert feedback This work is carried outin close collaboration with a team of CFD expertsOne of the goals of this work is to provide CFD ex-perts with a visual interface and tools for interac-tive exploration of multi-field unstructured CFD dataSpecifically interactive selection of specific areas ofinterest the combined visualisation of flow and dif-ferent CFD data fields visualisation of the evolutionof the flow This section summarises their feedbackThe interactive stream surface placement method de-scribed in this paper is unique compared to similarapproaches evaluated previously in that it facilitates

a much greater level of control to the user over theplacement of streamed surfaces One particularly use-ful feature is the ability of the user to precisely isolatedifferent regions of the domain and evaluate them in-dividually Furthermore user access to the tree mapprovides a useful added feature promoting control in-formation feedback and enabling the user to evaluatethe sensitivity of different fields of the data In thecontext of multiple marine turbine arrays with somelevel of repetition in the array layout this is usefulas it avoids repetition of stream surface features thatmay occur around similarly spaced turbines within thelayout Furthermore the ability to individually con-trol the illustrative techniques of a number of streamsurfaces within the same region of the domain en-ables the user to tweak the final image to improveclarity and focus attention on certain layers Thiswork provides valuable insight into the domain expertCFD data as visualisation tools rarely come equippedwith quantitative analysis features which are usuallyof more use to engineers

6 ConclusionsThe goal of this work is to improve computational

performance memory footprint exploratory flexibil-ity robustness of flow visualisation across differentmulti-field flow data including unstructured data andintuitive feedback on the fly in an interactive envi-ronment for detailed examination of the multi-fielddata We improve the performance and memory us-age while providing an environment and tools for thedomain engineer to visualise multi-field CFD dataWe demonstrate a novel application of k-means andDBSCAN clustering to provide focus and contextualinformation when combined with tree map interac-tion The fast performance brings vector field clus-tering a large step forward towards clustering of un-steady flow data The novel use of a seeding cuboidfitted to clusters for the placement of stream sur-faces provides intuitive feedback about the evolutionof the selected attributes both upstream and down-stream from the location of interest We compare andcontrast with other recent work in this field provid-ing feedback from domain experts utilising our frame-work who conclude that this technique is a signifi-cant improvement over recent work in this area Dur-ing our study we examined the possibility of utilis-ing multi-field clustering with the intent of removingthe need for the user to select a data field of interestBecause within our target domain the various datafields are dependant data multi-field clustering doesnot produce results significantly different from clus-tering a single field The domain experts preferredthe flexibility of selecting the fields of interest

REFERENCES

Bavoli L and Myers K (2008) Order Independent Trans-parency with Dual Depth Peeling NVIDIA DeveloperSDK 10 5

Bock H-H (2007) Clustering Methods A History ofk-Means Algorithms In Brito P Cucumel GBertrand P and Carvalho F editors Selected Con-tributions in Data Analysis and Classification Stud-ies in Classification Data Analysis and KnowledgeOrganization pages 161ndash172 Springer Berlin Heidel-berg 2 3

Born S Wiebel A Friedrich J Scheuermann G andBartz D (2010) Illustrative Stream Surfaces IEEETransactions on Visualization and Computer Graph-ics 16(6)1329ndash1338 6

Bruls M Huizing K and Van Wijk J (2000) Squar-ified treemaps In Data Visualization pages 33ndash42Citeseer 2 4

Camarri S Salvetti M-V Buffoni M and Iollo A(2005) Simulation of the three-dimensional flowaround a square cylinder between parallel walls atmoderate Reynolds numbers In XVII Congresso diMeccanica Teorica ed Applicata 5

Edmunds M Laramee R Chen G Zhang E and MaxN (2012a) Advanced Automatic Stream SurfaceSeeding and Filtering In Theory and Practice of Com-puter Graphics pages 53ndash60 1

Edmunds M Laramee R Malki R Masters I CroftT Chen G and Zhang E (2012b) AutomaticStream Surface Seeding A Feature Centered Ap-proach Computer Graphics Forum 31(32)1095ndash1104 1 2 5 6 7

Edmunds M Laramee R S Chen G Max N ZhangE and Ware C (2012c) Surface-Based Flow Visu-alization Computers amp Graphics 36(8)974 ndash 9902

Edmunds M McLoughlin T Laramee R S Chen GZhang E and Max N (2011) Automatic StreamSurfaces Seeding In EUROGRAPHICS 2011 ShortPapers pages 53ndash56 Llandudno Wales UK 1 5 7

Ester M Kriegel H Sander J and Xu X (1996) ADensity-Based Algorithm for Discovering Clusters inLarge Spatial Databases with Noise In Proceedings ofthe 2nd International Conference on Knowledge Dis-covery and Data mining volume 1996 pages 226ndash231 AAAI Press 1 2 3

Hultquist J P M (1992) Constructing Stream Surfaces inSteady 3D Vector Fields In Proceedings IEEE Visu-alization rsquo92 pages 171ndash178 5

Hummel M Garth C Hamann B Hagen H and Joy K(2010) IRIS Illustrative Rendering for Integral Sur-faces IEEE Transactions on Visualization and Com-puter Graphics 16(6)1319ndash1328 6

Johnson B and Shneiderman B (1991) Tree-maps ASpace-Filling Approach to the Visualization of Hier-archical Information Structures In Proceedings of the2nd conference on Visualization rsquo91 VIS rsquo91 pages284ndash291 Los Alamitos CA USA IEEE ComputerSociety Press 2 4

Jolliffe I (2005) Principal Component Analysis WileyOnline Library 4

Kehrer J and Hauser H (2012) Visualization and Vi-sual Analysis of Multi-faceted Scientific Data A Sur-vey IEEE Transactions on Visualization and Com-puter Graphics 4

Kogan J (2007) Introduction to Clustering Large andHigh-Dimensional Data Cambridge University Press2 3

Malki R Williams A Togneri M and Masters I(2012) A Coupled Blade Element Momentum Com-putational Fluid Dynamics Model for Evaluating TidalStream Turbine Performance Applied MathematicalModelling Available online 16 August 2012 6

Masters I Chapman J Orme J and Willis M (2011) ARobust Blade Element Momentum Theory Model ForTidal Stream Turbines Including Tip And Hub LossCorrections Proceedings of the Institute of MarineEngineering Science and Technology Part A Journalof Marine Engineering and Technology 10(1)25ndash356

Moller T and Haines E (2002) Real-Time Rendering AK Peters Limited 2 edition 5

Peng Z Grundy E Laramee R S Chen G and CroftN (2012) Mesh-Driven Vector Field Clustering andVisualization An Image-Based Approach IEEETransactions on Visualization and Computer Graph-ics 18(2)283ndash298 1

Reinders K F J (2001) Feature-Based Visualisation ofTime-Dependant Data Technische Universiteit Delft4

Shneiderman B (1992) Tree Visualization with Tree-Maps 2-d Space-Filling Approach ACM TransGraph 11(1)92ndash99 2 4

Stroud K and Booth D (2001) Engineering MathematicsIndustrial Press Inc 4

Tecplot Tecplot 360 httpwwwtecplotcom Ac-cessed March 2013 6

Telea A and van Wijk J J (1999) Simplified Represen-tation of Vector Fields In Proceedings IEEE Visual-ization rsquo99 pages 35ndash42 2

Van Wijk J and Van De Wetering H (1999) Cushiontreemaps Visualization of hierarchical informationIn Information Visualization 1999(Info Visrsquo 99) Pro-ceedings 1999 IEEE Symposium on pages 73ndash78IEEE 2

von Funck W Weinkauf T Theisel H and SeidelH-P (2008) Smoke surfaces An interactive flowvisualization technique inspired by real-world flowexperiments IEEE Transactions on Visualizationand Computer Graphics (Proceedings Visualization2008) 14(6)1396ndash1403 3 5

Ward M Grinstein G and Keim D (2010) InteractiveData Visualization A K Peters 2

Watson D F (1992) Contouring Pergamon Press 5Xu R Wunsch D et al (2005) Survey of Clustering

Algorithms Neural Networks IEEE Transactions on16(3)645ndash678 2

  • Introduction
  • Related Work
  • Interactive Surface Placement
    • K-Means Clustering
    • DBSCAN Clustering
    • Cluster Selection with Tree Maps
    • Cluster Attribute Computation
    • Seeding Cuboid
    • Surface ConstructionRendering
      • Results
      • Evaluation
      • Conclusions
Page 2: Interactive Stream Surface Placement: A Hybrid Clustering ...chengu/Publications/3DFlowVis/... · 3.Next we build a hierarchical tree with k-means clusters as inner nodes, and the

sets Data samples clustered with k-means in attributespace may well be separated in Euclidean space Todeal with this we use the DBSCAN clustering to fur-ther partition each k-means cluster into sub clustersseparated in Euclidean space This approach enablesthe domain expert to focus on an individual structurein the flow

The selection and interaction with large numbersof clusters positioned in 3D space is a challengingtask A novel approach to enabling selection and in-teractivity of flow field clusters in 3D space is to cou-ple them to tree maps The different cluster attributesare displayed with the tree map in an interactive visualinterface for the user to guide the selection of clustersto place stream surfaces Tree maps enable the user toselect individual (or groups of) clusters and drill downthe hierarchy to obtain more detail We illustrate howto capture the characteristics of the flow field for thedomain users Our focus pays particular attention tothe performance and flexibility of the clustering com-bined with the interactive seeding curve placementThe main benefits and contributions of this paper arebull Improved computational speed and memory us-

age over recent vector field clustering work withthe ability to process large high-dimensionaldatasets fast and efficiently

bull An algorithm to partition the flow field using k-means clustering providing superior performance memory footprint and a feature based overviewof the data

bull A technique that subdivides the resulting clustersbased on Euclidean density to support interactivehierarchical analysis and semi-automatic streamsurface placement

bull A tree map interface to support interactive selec-tion of hierarchical clusters in a focus and contextmanner

bull The application of these visualisation and inter-action techniques to real world CFD data withreviews from the domain experts who prefer theproposed method over previous techniques

The rest of this paper is divided into the followingsections A review of related literature is conductedin section 2 A detailed presentation of the algorithmis given in section 3 The results are reviewed in sec-tion 4 A domain expert evaluation is provided in sec-tion 5 Conclusions and future work are discussed insection 6

2 Related WorkThe related work falls into the following stream-

line placement surface placement strategies vectorfield clustering and tree maps We refer the readersto (Edmunds et al 2012c) for a complete overview offlow visualisation with surfaces

Clustering (Xu et al 2005) survey the topic ofclustering focusing on scalar clustering algorithmsrooted in statistics computer science and machinelearning Clustering algorithms can be divided intohierarchical clustering or partition-based clusteringThe (Telea and van Wijk 1999) algorithm utilisesa hierarchical approach as does the work by (Ed-munds et al 2012b) These algorithms are effec-tive in providing a simplified representation of a vec-tor field However these algorithms are O(n2) com-plex where n is the number of initial samples Thishas a significant impact on computation and memoryrequirements Alternatively partitioning algorithmssuch as k-means clustering (Bock 2007) are gener-ally O(i middot k middotn) complex (Kogan 2007) where k is thenumber of centroids or means and i is the numberof iterations Another partitioning scheme of inter-est is DBSCAN (Density Based spatial Clustering ofApplications with Noise) (Ester et al 1996) Thismethod is particularly useful in partitioning a spacebased on the local density eg if two groups of dataare spacially separated DBSCAN will partition thetwo groups into separate clusters If neighbourhoodconnectivity data is stored the overall runtime com-plexity is O(n middot logn) We utilise the k-means clus-tering to partition a given field from the multi-fielddata We then apply the DBSCAN clustering to eachresultant cluster mean partitioning the cluster basedon euclidean density

Tree Maps (Johnson and Shneiderman 1991) and(Shneiderman 1992) introduce a method for the visu-alisation of hierarchically structured information Thetechnique makes efficient use of the available spacewhere the full hierarchy is mapped to a rectangulararea (Ward et al 2010) Large hierarchies can berendered completely while representing a range of se-mantic information Following from this (Van Wijkand Van De Wetering 1999) render the rectangleswith shading to improve perception During the sub-division the rectangles are rendered with a simpleshading model The result is a tree map that consistsof recursive cushions

(Bruls et al 2000) introduce the squarified treemap to generate layouts in which the rectangles ap-proximate squares The layout of the children in onerectangle is a recursive procedure which presents therectangles in either horizontal and vertical rows Thesquarified tree map approach provides the domain ex-pert with interaction and real time feedback This en-ables selection of individual clusters and placementof stream surfaces in the flow This is the first workthat we know of that exploits tree maps in order to ad-dress the challenges of selecting and interacting witha large number of clusters in 3D space

Figure 1 The left image shows our algorithm pipeline The top centre and right images show a selected k-means clusterThe selected cluster in the tree map is highlighted grey and labelled with a rsquoHrsquo The centre and centre right images show aselected DBSCAN sub cluster The bottom right image shows a cuboid fitted to a selected cluster The bottom centre imageshows seeding curves derived at the cuboid boundaries The bottom right image shows the final rendering of the upstream anddownstream surfaces The dataset shown here has been provided by Tino Weinkauf and used in von Funck et al for smokevisualisations (von Funck et al 2008)

3 Interactive Surface PlacementThis section describes our interactive stream sur-

face placement algorithm starting with an overviewof the pipeline illustrated in Figure 1 The algorithmfeatures clustering of the selected data field visualisa-tion and selection of clusters with a tree map surfaceplacement and rendering The input to our visuali-sation framework is an unstructured CFD simulationThe user selects a single scalar data field a(p) to clus-ter The input to the algorithm is a(p) isin R wherea isin R p isinΩ and is a 3D regular or unstructured gridin R3

1 We start by partitioning the selected data field intok clusters The k-means algorithm iterates until itconverges to a stable set of means See Section31

2 We then use the DBSCAN algorithm to furthersubdivide the resulting clusters The purpose is topartition any cluster which has spatial separationThis spatial separation is important when examin-ing individual features of the flow field See Sec-tion 32

3 Next we build a hierarchical tree with k-meansclusters as inner nodes and the DBSCAN subclusters as leaf nodes This tree is then visualisedwith an interactive tree map displaying meta dataabout each cluster The user can interactively se-lect any cluster or sub cluster The selected clusteris rendered in the main window See Section 33

4 Once the cluster of interest is selected we calcu-late the clusters spatial centre along with the ma-jor and minor axis of the covariance matrix de-rived from the clusterrsquos second moments These

attributes are used to fit an oriented bounding box(seeding cuboid) to the cluster See Section 34

5 Next we compute the seeding curves at the cuboidboundary planes See Section 35

6 Stream surfaces are propagated from each of theseeding curves Flow attributes may be mappedto colour and opacity After the generation of thestream surfaces the surface data is rendered usinga number of illustrative techniques to enhance theperception See Section 36

31 K-Means ClusteringK-Means clustering is a fast simple and popularmethod for clustering data (Bock 2007) With rel-atively low computational requirements and memoryusage compared to hierarchical clustering it is a goodcandidate to solve data partitioning and significantlyreduce the computational and memory requirementsThis algorithm needs no modification to deal with ei-ther structured or unstructured data

The procedure provides a simple way to classify agiven data field through a number k of clusters chosena priori The main idea is to define k centroids one foreach cluster The next step is to take each grid vertexpi belonging to Ω and associate it with the nearest ini-tial centroid c (Kogan 2007) The distance functiond(c a) is defined as ||cminusa||2

32 DBSCAN ClusteringThe Density-Based spatial Clustering of Applicationswith Noise (DBSCAN) algorithm is used for findingnon linear shape structures based on the density (Es-ter et al 1996) Once the k-means clustering has con-verged the resultant points are neighbouring clusters

in the chosen data field However this is not necessar-ily so in euclidean space Separation of these clustersinto sub clusters in euclidean space is important tothe domain expert when examining distinct featuresin the flow field to which the k-means cluster is asso-ciated DBSCAN requires two parameters ε the min-imum distance to neighbouring points and the mini-mum number of points required to form a cluster nmin

33 Cluster Selection with Tree MapsHierarchical structures are ubiquitous eg familytrees and directory structures (Kehrer and Hauser2012) Many techniques have been proposed to visu-alise such structures more effectively However fewmethods have been presented for interacting with alarge cluster hierarchy in 3D space Tree maps arean efficient and compact method to display hierarchi-cal structures The basis for choosing tree maps istwo fold First the CFD domain experts specificallyrequested the ability to select any cluster and obtainmore detail Second interacting and selecting clus-ters in a large 3D spatial hierarchy is cumbersome atbest

We utilise squarified tree maps by (Bruls et al2000) The method is based on tree maps by (Johnsonand Shneiderman 1991) and (Shneiderman 1992)The tree map is constructed via recursive subdivisionof an initial rectangle The size of each sub rectanglecorresponds to the size of the node Colour and an-notation is used to provide further information aboutthe leaves We build a hierarchical tree with the k-means clusters represented by the inner nodes Wethen build the leaf nodes of the tree with the DBSCANsub clusters of the parent spherical k-means clustermean node Moving the mouse over a node in the treemap view highlights the cluster vertices within the 3Dspatial view If the user moves the mouse over a k-means node the complete set of cluster vertices aredisplayed in the 3D spatial view Meta data about thecluster is shown in the tree map view along with theDBSCAN children of this cluster If the user selectsthe cluster node the children are displayed in the treeview Again if the user moves the mouse over a DB-SCAN node the sub cluster is displayed in the mainview Meta data about sub clusters are shown on thetree map view (See Figure 2)

The benefits of this method are that user interac-tion provides feedback about the spatial hierarchiesfiltering the spatial hierarchies to examine specific ar-eas of interest and details on demand This allows thedomain expert to explore and select areas of the datain a focus and context manner and provides visualfeedback in the linked 3D view Once an area of in-terest is selected the user can examine with the use of

Figure 2 The tree map in the top image shows a high-lighted cluster (middle right) which can be seen renderedin the main view (bottom image) The size of the rectangleis mapped to the size of the cluster and colour is mappedto the mean of the cluster Meta data about the cluster isoverlaid onto the cluster rectangle The sub clusters gener-ated from the DBSCAN clustering can also be seen in thehighlighted tree map cluster and relate to the spacially sep-arated sub clusters seen in the main view (bottom image)The colour of the cluster in the bottom image is also mappedto its mean

stream surfaces how the attributes of the flow evolveboth upstream and downstream Stream surfaces aregenerated from a seeding cuboid fitted around thecluster of interest

34 Cluster Attribute ComputationAn object eg an ellipsoid or bounding box withnine degrees of freedom is fitted around the geometryof a cluster There are three degrees of freedom for thecentre point position three for the orientation of theobject axes and three for the axes lengths

The object fit provides a good indication of theglobal geometry of a clusterrsquos position size and ori-entation The centre point position is the average po-sition of the cluster points The volume of an objectcan be determined from the axis lengths The orienta-tion can be determined from the axis directions Thefollowing is a description of the PCA method used toderive the cluster attributes We describe the analyticand the related discretised version For any clusterπ(c) the following volume integrals describe its shapein euclidean space (Jolliffe 2005) (Reinders 2001)(Stroud and Booth 2001) The Euclidean centre ofπ(c)

uπ =1vπ

intπ

pdv

where p isin π(c) is a vertex in 3D euclidean space andvπ is the volume of π(c) We next calculate the secondmoment of π(c) This provides us with the covariance

Figure 3 This image illustrates a seeding cuboid fitted to acluster in the flow past a cuboid data The seeding cuboidis centred at the cluster centre oriented according to theeigenvector directions and is scaled by the eigenvalues

matrix sπ

sπ =1vπ

intπ

(pminusuπ)(pminusuπ)T dv

The eigenvectors of the covariance matrix sπ are threeunit vectors e1 e2 and e3 with sπei = λiei whereei is the i th eigenvector and λi is the correspondingeigenvalue The normalised standard deviation σ ofthe covariance sπ in the i th eigenvalue direction isσi =

radicλivπ To fit a cuboid C to any cluster π(c)

it is centred on uπ where its size and orientation ineach axis corresponds to the unit eigenvectors ei mul-tiplied by the corresponding normalised standard de-viation σi See Figure 3

35 Seeding CuboidFor the challenge of generating seeding curves be-tween and inclusive of boundary switch curves wecompute a scalar field representing the flow exit tra-jectory from the cuboid boundary Cprime When the flowis parallel to the cuboid boundary the scalar is 05When the flow exits orthogonal to C the scalar is zeroand when entering is unity The scalar s is calculatedas follows

s =2cosminus1(np middot nv)

314159where np is the plane normal nv is the normalisedvelocity vector and cosminus1(np middot nv) is given in radi-ans This approach reduces the problem to a simplemarching squares (Watson 1992) isoline extractionFor a generic vector field using the full sphere of pos-sible directions the set of points on the boundary of acube where nv middot np = 1 orminus1 will be isolated pointsnot a curve Thus we generally use isovalues in therange [095 005] Next we construct the isolinesfrom s(Cprime) using marching squares The vertices re-quire sequential ordering for use as a seeding curveFor a more detailed discussion on this technique werefer the reader to (Edmunds et al 2011)

36 Surface ConstructionRenderingOur work utilises an out of the box solution for gen-erating stream surfaces The stream surface is con-structed with an advancing front scheme first intro-duced by (Hultquist 1992) An adaptive Runge-Kutta

Figure 4 Left image highlights a selected cluster in the re-gion downstream from the cuboid The right image shows aseeding cuboid fitted to the same cluster with two seedingcurves derived on the rear face

4th order integrator is used in the surface construc-tion The user can select downstream and upstreampropagation By default surfaces are terminated whenthey leave the domain enter a periodic orbit or reacha pre-determined maximum length The user hasan option to control the length A number of tech-niques are implemented to aid the viewer in percep-tion of the resulting visualisation Options include theuse of transparency colour and silhouette edge high-lighting Transparency in visualisations pose prob-lems relating to the order of primitive rendering Weuse depth peeling an order independent transparencytechnique presented by (Bavoli and Myers 2008)

Silhouette edge highlighting is used to help theviewer in perceiving where the surfaces curve awayfrom the viewer and enhance surface edges Silhou-ette highlighting utilises a Gaussian kernel in imagespace (Moller and Haines 2002) Reducing the satu-ration of colour as the surfaces curve away from theviewer further enhances the perception of shape (Ed-munds et al 2012b)

4 ResultsInteraction and exploratory tools are very useful to

the domain expert for the production of insightful andmeaningful visualisations Our clustering approachpartitions the domain into meaningful subsets basedon the field of interest Interacting with the clustersutilising a tree map is an intuitive approach for investi-gating the different characteristics of the data Placingstream surfaces at the selected areas of interest pro-vide further feedback about the evolution of a givenattribute upstream and downstream In the follow-ing section we discuss our technique applied to a wellknown simulation in the community (Camarri et al2005) (von Funck et al 2008) We then demonstrateour algorithm applied to a CFD simulation from do-main experts

Flow Past A Cuboid For the clustering process ve-locity magnitude data is chosen for the input Thenumber of means are five Once the clustering pro-cess is complete the tree map is displayed From thetree map the user can see meta data about each clus-ter describing the velocity range and mean With sizemapped to cluster size and colour mapped to the clus-

ter mean (in this case mean velocity of the cluster) arange of information can be inferred Combined withthe visual representation in the main view this aidsthe user in the selection of a cluster of interest Theselected cluster is a sub-cluster with a mean velocityof 071 ms and a range of 058 ms to 078 ms SeeFigure 4 In the final visualisation in Figure 5 afterthe surfaces are propagated from the seeding cuboidit can be seen how the area of interest interacts withthe upstream and downstream flow An isovalue of095 is used to generate the seeding curves

Visualisation of Marine Turbine CFD SimulationA marine turbine makes use of kinetic energy avail-able in moving water similar in concept to a windturbine being powered by the wind This applica-tion is gaining popularity due to the relative advan-tages marine turbines offer Modelling and simulationare carried out to investigate how the flow past a ma-rine turbine is affected and thus develop a better andmore efficient marine turbine system The engineersresearching this field are investigating the system ofturbine arrays and their interaction with each otherin different spatial arrangements The velocity wakeflowing downstream of a marine turbine may inter-act with the downstream turbines The goal is to findthe optimal layout to pack the turbines into a givenspace and maximise the energy output while manag-ing the environmental effect and durability (Masterset al 2011) (Malki et al 2012) The velocity wakeand pressure can have a major impact on the envi-ronment and the marine turbines The marine turbinemulti-field data is defined on an unstructured irregulargrid For the clustering process pressure data is cho-sen for the input The number of means are five A setof sub-clusters are selected and an isovalue of 005 isused to generate the seeding curves The final visual-isation can be seen demonstrating an optimal solutionfor the array layout See Figure 6 We also illustratea sub-optimal layout where the turbine wake signifi-cantly interferes with neighbouring and downstreamturbines See Figure 7

Figure 5 This visualisation demonstrates stream surfacesseeded from the locations illustrated in Figure 4 We capturethe singularity at the centre of a double vortex downstreamof the cuboid The surfaces are rendered with illustrativetechniques to enhance the perception Colour is mapped tovelocity see inset colour map histogram

Figure 6 This visualisation demonstrates stream surfacesseeded from the clusters situated in front of the turbineblades Pressure is used for the clustering while colouris mapped to velocity which enables tracking the velocitywake edge effect on neighbouring and downstream marineturbines

5 EvaluationTo evaluate our work we compare and contrast

with recent work in this area Our algorithm performswell when compared to the hierarchical clustering of(Edmunds et al 2012b) The hierarchical clusteringis O(n2) compared with our algorithm O(i middot k middot n)and O(n middot logn) for the k-means and DBSCAN clus-tering respectively Our algorithm is implemented inC++ and QT4 on a PC with an NVIDIA GeForceGTX480 an Intel quad core 28GHz CPU with 8GBRAM The bottleneck in the performance of our al-gorithm is the clustering as seen in Table 1 Thetime for tree map generation is in the 7-65[ms] rangeThe calculation of the cluster attributes and seedingcuboid fitting is in the 18-174[ms] range The per-formance of stream surface rendering is comparableto previous work eg (Born et al 2010) (Hummelet al 2010) and (Edmunds et al 2012b) The mem-ory usage for our approach is proportional to the sizeof the data set eg n where n is the number of ini-tial samples We store only one integer per vertex toreference which cluster it belongs to The hierarchi-cal approach stores vector data location data clus-ter size data cumulative error data and neighbour-hoodconnectivity information at each node in the bi-nary tree The quantity of nodes is 2nminus1 The hybridclustering approach is generally one order of magni-tude faster than its predecessor The input to our al-gorithm is the selection of which data field to clusterthe number of centroids (calculated from the required

Clustering PerformanceData Nodes NoMeans Time[ms] Time[ms]Cuboid 192x64x48 5 487 6898Turbine 3693867 5 5923 naIsabel 5002x100 5 30724 542452

Table 1 Clustering performance of a range of simulationsAll are regular grid data except the Turbine data which isan unstructured tetrahedral grid outputted from Tecplot 360(Tecplot ) For consistency we use 5 means for the timingsNote For reference the last column contains comparativetimes from (Edmunds et al 2012b)

Figure 7 This visualisation illustrate a sub-optimal layoutVelocity spikes can be seen neighbouring the downstreamturbine We use the same parameters as in Figure 6

attribute ranges by domain engineer) and a seedingcuboid isovalue of 005 05 or 095 (outflow bound-ary switch curves and inflow respectively) This setof input parameters is greatly simplified compared toprevious work (Edmunds et al 2012b) The flexi-bility of using tree maps to select individual clustersof interest is invaluable to the domain engineer Thevisual and contextual feedback this approach affordsis relevant to the domain engineerrsquos work flow Thedomain engineer can derive the input then visualisethe precise features of interest The focus and contextnature of the clustering combined with the stream sur-faces re-enforce the visual feedback providing an in-tuitive and meaningful environment focusing on dataexploration When selecting areas of interest the pre-vious algorithm in (Edmunds et al 2012b) performedpoorly when applied to the marine turbine data Thismay be the result of insignificant flow characteristicswithin the vector field The seed locations became toodense when trying to capture the particular areas of in-terest resulting in a cluttered incomprehensible visu-alisation In contrast the interaction in our approachenabled the domain engineer to select precisely thelocation to place stream surfaces for a more focusedevaluation In contrast to the work by (Edmunds et al2011) we generate seeding curves on the boundary ofa seeding cuboid fitted to a cluster in euclidean spaceThis enables very localised exploration of the flowfield We also modify the scalar field computationThis has the effect of producing a smoother transitionbetween the range of isovalues

Domain expert feedback This work is carried outin close collaboration with a team of CFD expertsOne of the goals of this work is to provide CFD ex-perts with a visual interface and tools for interac-tive exploration of multi-field unstructured CFD dataSpecifically interactive selection of specific areas ofinterest the combined visualisation of flow and dif-ferent CFD data fields visualisation of the evolutionof the flow This section summarises their feedbackThe interactive stream surface placement method de-scribed in this paper is unique compared to similarapproaches evaluated previously in that it facilitates

a much greater level of control to the user over theplacement of streamed surfaces One particularly use-ful feature is the ability of the user to precisely isolatedifferent regions of the domain and evaluate them in-dividually Furthermore user access to the tree mapprovides a useful added feature promoting control in-formation feedback and enabling the user to evaluatethe sensitivity of different fields of the data In thecontext of multiple marine turbine arrays with somelevel of repetition in the array layout this is usefulas it avoids repetition of stream surface features thatmay occur around similarly spaced turbines within thelayout Furthermore the ability to individually con-trol the illustrative techniques of a number of streamsurfaces within the same region of the domain en-ables the user to tweak the final image to improveclarity and focus attention on certain layers Thiswork provides valuable insight into the domain expertCFD data as visualisation tools rarely come equippedwith quantitative analysis features which are usuallyof more use to engineers

6 ConclusionsThe goal of this work is to improve computational

performance memory footprint exploratory flexibil-ity robustness of flow visualisation across differentmulti-field flow data including unstructured data andintuitive feedback on the fly in an interactive envi-ronment for detailed examination of the multi-fielddata We improve the performance and memory us-age while providing an environment and tools for thedomain engineer to visualise multi-field CFD dataWe demonstrate a novel application of k-means andDBSCAN clustering to provide focus and contextualinformation when combined with tree map interac-tion The fast performance brings vector field clus-tering a large step forward towards clustering of un-steady flow data The novel use of a seeding cuboidfitted to clusters for the placement of stream sur-faces provides intuitive feedback about the evolutionof the selected attributes both upstream and down-stream from the location of interest We compare andcontrast with other recent work in this field provid-ing feedback from domain experts utilising our frame-work who conclude that this technique is a signifi-cant improvement over recent work in this area Dur-ing our study we examined the possibility of utilis-ing multi-field clustering with the intent of removingthe need for the user to select a data field of interestBecause within our target domain the various datafields are dependant data multi-field clustering doesnot produce results significantly different from clus-tering a single field The domain experts preferredthe flexibility of selecting the fields of interest

REFERENCES

Bavoli L and Myers K (2008) Order Independent Trans-parency with Dual Depth Peeling NVIDIA DeveloperSDK 10 5

Bock H-H (2007) Clustering Methods A History ofk-Means Algorithms In Brito P Cucumel GBertrand P and Carvalho F editors Selected Con-tributions in Data Analysis and Classification Stud-ies in Classification Data Analysis and KnowledgeOrganization pages 161ndash172 Springer Berlin Heidel-berg 2 3

Born S Wiebel A Friedrich J Scheuermann G andBartz D (2010) Illustrative Stream Surfaces IEEETransactions on Visualization and Computer Graph-ics 16(6)1329ndash1338 6

Bruls M Huizing K and Van Wijk J (2000) Squar-ified treemaps In Data Visualization pages 33ndash42Citeseer 2 4

Camarri S Salvetti M-V Buffoni M and Iollo A(2005) Simulation of the three-dimensional flowaround a square cylinder between parallel walls atmoderate Reynolds numbers In XVII Congresso diMeccanica Teorica ed Applicata 5

Edmunds M Laramee R Chen G Zhang E and MaxN (2012a) Advanced Automatic Stream SurfaceSeeding and Filtering In Theory and Practice of Com-puter Graphics pages 53ndash60 1

Edmunds M Laramee R Malki R Masters I CroftT Chen G and Zhang E (2012b) AutomaticStream Surface Seeding A Feature Centered Ap-proach Computer Graphics Forum 31(32)1095ndash1104 1 2 5 6 7

Edmunds M Laramee R S Chen G Max N ZhangE and Ware C (2012c) Surface-Based Flow Visu-alization Computers amp Graphics 36(8)974 ndash 9902

Edmunds M McLoughlin T Laramee R S Chen GZhang E and Max N (2011) Automatic StreamSurfaces Seeding In EUROGRAPHICS 2011 ShortPapers pages 53ndash56 Llandudno Wales UK 1 5 7

Ester M Kriegel H Sander J and Xu X (1996) ADensity-Based Algorithm for Discovering Clusters inLarge Spatial Databases with Noise In Proceedings ofthe 2nd International Conference on Knowledge Dis-covery and Data mining volume 1996 pages 226ndash231 AAAI Press 1 2 3

Hultquist J P M (1992) Constructing Stream Surfaces inSteady 3D Vector Fields In Proceedings IEEE Visu-alization rsquo92 pages 171ndash178 5

Hummel M Garth C Hamann B Hagen H and Joy K(2010) IRIS Illustrative Rendering for Integral Sur-faces IEEE Transactions on Visualization and Com-puter Graphics 16(6)1319ndash1328 6

Johnson B and Shneiderman B (1991) Tree-maps ASpace-Filling Approach to the Visualization of Hier-archical Information Structures In Proceedings of the2nd conference on Visualization rsquo91 VIS rsquo91 pages284ndash291 Los Alamitos CA USA IEEE ComputerSociety Press 2 4

Jolliffe I (2005) Principal Component Analysis WileyOnline Library 4

Kehrer J and Hauser H (2012) Visualization and Vi-sual Analysis of Multi-faceted Scientific Data A Sur-vey IEEE Transactions on Visualization and Com-puter Graphics 4

Kogan J (2007) Introduction to Clustering Large andHigh-Dimensional Data Cambridge University Press2 3

Malki R Williams A Togneri M and Masters I(2012) A Coupled Blade Element Momentum Com-putational Fluid Dynamics Model for Evaluating TidalStream Turbine Performance Applied MathematicalModelling Available online 16 August 2012 6

Masters I Chapman J Orme J and Willis M (2011) ARobust Blade Element Momentum Theory Model ForTidal Stream Turbines Including Tip And Hub LossCorrections Proceedings of the Institute of MarineEngineering Science and Technology Part A Journalof Marine Engineering and Technology 10(1)25ndash356

Moller T and Haines E (2002) Real-Time Rendering AK Peters Limited 2 edition 5

Peng Z Grundy E Laramee R S Chen G and CroftN (2012) Mesh-Driven Vector Field Clustering andVisualization An Image-Based Approach IEEETransactions on Visualization and Computer Graph-ics 18(2)283ndash298 1

Reinders K F J (2001) Feature-Based Visualisation ofTime-Dependant Data Technische Universiteit Delft4

Shneiderman B (1992) Tree Visualization with Tree-Maps 2-d Space-Filling Approach ACM TransGraph 11(1)92ndash99 2 4

Stroud K and Booth D (2001) Engineering MathematicsIndustrial Press Inc 4

Tecplot Tecplot 360 httpwwwtecplotcom Ac-cessed March 2013 6

Telea A and van Wijk J J (1999) Simplified Represen-tation of Vector Fields In Proceedings IEEE Visual-ization rsquo99 pages 35ndash42 2

Van Wijk J and Van De Wetering H (1999) Cushiontreemaps Visualization of hierarchical informationIn Information Visualization 1999(Info Visrsquo 99) Pro-ceedings 1999 IEEE Symposium on pages 73ndash78IEEE 2

von Funck W Weinkauf T Theisel H and SeidelH-P (2008) Smoke surfaces An interactive flowvisualization technique inspired by real-world flowexperiments IEEE Transactions on Visualizationand Computer Graphics (Proceedings Visualization2008) 14(6)1396ndash1403 3 5

Ward M Grinstein G and Keim D (2010) InteractiveData Visualization A K Peters 2

Watson D F (1992) Contouring Pergamon Press 5Xu R Wunsch D et al (2005) Survey of Clustering

Algorithms Neural Networks IEEE Transactions on16(3)645ndash678 2

  • Introduction
  • Related Work
  • Interactive Surface Placement
    • K-Means Clustering
    • DBSCAN Clustering
    • Cluster Selection with Tree Maps
    • Cluster Attribute Computation
    • Seeding Cuboid
    • Surface ConstructionRendering
      • Results
      • Evaluation
      • Conclusions
Page 3: Interactive Stream Surface Placement: A Hybrid Clustering ...chengu/Publications/3DFlowVis/... · 3.Next we build a hierarchical tree with k-means clusters as inner nodes, and the

Figure 1 The left image shows our algorithm pipeline The top centre and right images show a selected k-means clusterThe selected cluster in the tree map is highlighted grey and labelled with a rsquoHrsquo The centre and centre right images show aselected DBSCAN sub cluster The bottom right image shows a cuboid fitted to a selected cluster The bottom centre imageshows seeding curves derived at the cuboid boundaries The bottom right image shows the final rendering of the upstream anddownstream surfaces The dataset shown here has been provided by Tino Weinkauf and used in von Funck et al for smokevisualisations (von Funck et al 2008)

3 Interactive Surface PlacementThis section describes our interactive stream sur-

face placement algorithm starting with an overviewof the pipeline illustrated in Figure 1 The algorithmfeatures clustering of the selected data field visualisa-tion and selection of clusters with a tree map surfaceplacement and rendering The input to our visuali-sation framework is an unstructured CFD simulationThe user selects a single scalar data field a(p) to clus-ter The input to the algorithm is a(p) isin R wherea isin R p isinΩ and is a 3D regular or unstructured gridin R3

1 We start by partitioning the selected data field intok clusters The k-means algorithm iterates until itconverges to a stable set of means See Section31

2 We then use the DBSCAN algorithm to furthersubdivide the resulting clusters The purpose is topartition any cluster which has spatial separationThis spatial separation is important when examin-ing individual features of the flow field See Sec-tion 32

3 Next we build a hierarchical tree with k-meansclusters as inner nodes and the DBSCAN subclusters as leaf nodes This tree is then visualisedwith an interactive tree map displaying meta dataabout each cluster The user can interactively se-lect any cluster or sub cluster The selected clusteris rendered in the main window See Section 33

4 Once the cluster of interest is selected we calcu-late the clusters spatial centre along with the ma-jor and minor axis of the covariance matrix de-rived from the clusterrsquos second moments These

attributes are used to fit an oriented bounding box(seeding cuboid) to the cluster See Section 34

5 Next we compute the seeding curves at the cuboidboundary planes See Section 35

6 Stream surfaces are propagated from each of theseeding curves Flow attributes may be mappedto colour and opacity After the generation of thestream surfaces the surface data is rendered usinga number of illustrative techniques to enhance theperception See Section 36

31 K-Means ClusteringK-Means clustering is a fast simple and popularmethod for clustering data (Bock 2007) With rel-atively low computational requirements and memoryusage compared to hierarchical clustering it is a goodcandidate to solve data partitioning and significantlyreduce the computational and memory requirementsThis algorithm needs no modification to deal with ei-ther structured or unstructured data

The procedure provides a simple way to classify agiven data field through a number k of clusters chosena priori The main idea is to define k centroids one foreach cluster The next step is to take each grid vertexpi belonging to Ω and associate it with the nearest ini-tial centroid c (Kogan 2007) The distance functiond(c a) is defined as ||cminusa||2

32 DBSCAN ClusteringThe Density-Based spatial Clustering of Applicationswith Noise (DBSCAN) algorithm is used for findingnon linear shape structures based on the density (Es-ter et al 1996) Once the k-means clustering has con-verged the resultant points are neighbouring clusters

in the chosen data field However this is not necessar-ily so in euclidean space Separation of these clustersinto sub clusters in euclidean space is important tothe domain expert when examining distinct featuresin the flow field to which the k-means cluster is asso-ciated DBSCAN requires two parameters ε the min-imum distance to neighbouring points and the mini-mum number of points required to form a cluster nmin

33 Cluster Selection with Tree MapsHierarchical structures are ubiquitous eg familytrees and directory structures (Kehrer and Hauser2012) Many techniques have been proposed to visu-alise such structures more effectively However fewmethods have been presented for interacting with alarge cluster hierarchy in 3D space Tree maps arean efficient and compact method to display hierarchi-cal structures The basis for choosing tree maps istwo fold First the CFD domain experts specificallyrequested the ability to select any cluster and obtainmore detail Second interacting and selecting clus-ters in a large 3D spatial hierarchy is cumbersome atbest

We utilise squarified tree maps by (Bruls et al2000) The method is based on tree maps by (Johnsonand Shneiderman 1991) and (Shneiderman 1992)The tree map is constructed via recursive subdivisionof an initial rectangle The size of each sub rectanglecorresponds to the size of the node Colour and an-notation is used to provide further information aboutthe leaves We build a hierarchical tree with the k-means clusters represented by the inner nodes Wethen build the leaf nodes of the tree with the DBSCANsub clusters of the parent spherical k-means clustermean node Moving the mouse over a node in the treemap view highlights the cluster vertices within the 3Dspatial view If the user moves the mouse over a k-means node the complete set of cluster vertices aredisplayed in the 3D spatial view Meta data about thecluster is shown in the tree map view along with theDBSCAN children of this cluster If the user selectsthe cluster node the children are displayed in the treeview Again if the user moves the mouse over a DB-SCAN node the sub cluster is displayed in the mainview Meta data about sub clusters are shown on thetree map view (See Figure 2)

The benefits of this method are that user interac-tion provides feedback about the spatial hierarchiesfiltering the spatial hierarchies to examine specific ar-eas of interest and details on demand This allows thedomain expert to explore and select areas of the datain a focus and context manner and provides visualfeedback in the linked 3D view Once an area of in-terest is selected the user can examine with the use of

Figure 2 The tree map in the top image shows a high-lighted cluster (middle right) which can be seen renderedin the main view (bottom image) The size of the rectangleis mapped to the size of the cluster and colour is mappedto the mean of the cluster Meta data about the cluster isoverlaid onto the cluster rectangle The sub clusters gener-ated from the DBSCAN clustering can also be seen in thehighlighted tree map cluster and relate to the spacially sep-arated sub clusters seen in the main view (bottom image)The colour of the cluster in the bottom image is also mappedto its mean

stream surfaces how the attributes of the flow evolveboth upstream and downstream Stream surfaces aregenerated from a seeding cuboid fitted around thecluster of interest

34 Cluster Attribute ComputationAn object eg an ellipsoid or bounding box withnine degrees of freedom is fitted around the geometryof a cluster There are three degrees of freedom for thecentre point position three for the orientation of theobject axes and three for the axes lengths

The object fit provides a good indication of theglobal geometry of a clusterrsquos position size and ori-entation The centre point position is the average po-sition of the cluster points The volume of an objectcan be determined from the axis lengths The orienta-tion can be determined from the axis directions Thefollowing is a description of the PCA method used toderive the cluster attributes We describe the analyticand the related discretised version For any clusterπ(c) the following volume integrals describe its shapein euclidean space (Jolliffe 2005) (Reinders 2001)(Stroud and Booth 2001) The Euclidean centre ofπ(c)

uπ =1vπ

intπ

pdv

where p isin π(c) is a vertex in 3D euclidean space andvπ is the volume of π(c) We next calculate the secondmoment of π(c) This provides us with the covariance

Figure 3 This image illustrates a seeding cuboid fitted to acluster in the flow past a cuboid data The seeding cuboidis centred at the cluster centre oriented according to theeigenvector directions and is scaled by the eigenvalues

matrix sπ

sπ =1vπ

intπ

(pminusuπ)(pminusuπ)T dv

The eigenvectors of the covariance matrix sπ are threeunit vectors e1 e2 and e3 with sπei = λiei whereei is the i th eigenvector and λi is the correspondingeigenvalue The normalised standard deviation σ ofthe covariance sπ in the i th eigenvalue direction isσi =

radicλivπ To fit a cuboid C to any cluster π(c)

it is centred on uπ where its size and orientation ineach axis corresponds to the unit eigenvectors ei mul-tiplied by the corresponding normalised standard de-viation σi See Figure 3

35 Seeding CuboidFor the challenge of generating seeding curves be-tween and inclusive of boundary switch curves wecompute a scalar field representing the flow exit tra-jectory from the cuboid boundary Cprime When the flowis parallel to the cuboid boundary the scalar is 05When the flow exits orthogonal to C the scalar is zeroand when entering is unity The scalar s is calculatedas follows

s =2cosminus1(np middot nv)

314159where np is the plane normal nv is the normalisedvelocity vector and cosminus1(np middot nv) is given in radi-ans This approach reduces the problem to a simplemarching squares (Watson 1992) isoline extractionFor a generic vector field using the full sphere of pos-sible directions the set of points on the boundary of acube where nv middot np = 1 orminus1 will be isolated pointsnot a curve Thus we generally use isovalues in therange [095 005] Next we construct the isolinesfrom s(Cprime) using marching squares The vertices re-quire sequential ordering for use as a seeding curveFor a more detailed discussion on this technique werefer the reader to (Edmunds et al 2011)

36 Surface ConstructionRenderingOur work utilises an out of the box solution for gen-erating stream surfaces The stream surface is con-structed with an advancing front scheme first intro-duced by (Hultquist 1992) An adaptive Runge-Kutta

Figure 4 Left image highlights a selected cluster in the re-gion downstream from the cuboid The right image shows aseeding cuboid fitted to the same cluster with two seedingcurves derived on the rear face

4th order integrator is used in the surface construc-tion The user can select downstream and upstreampropagation By default surfaces are terminated whenthey leave the domain enter a periodic orbit or reacha pre-determined maximum length The user hasan option to control the length A number of tech-niques are implemented to aid the viewer in percep-tion of the resulting visualisation Options include theuse of transparency colour and silhouette edge high-lighting Transparency in visualisations pose prob-lems relating to the order of primitive rendering Weuse depth peeling an order independent transparencytechnique presented by (Bavoli and Myers 2008)

Silhouette edge highlighting is used to help theviewer in perceiving where the surfaces curve awayfrom the viewer and enhance surface edges Silhou-ette highlighting utilises a Gaussian kernel in imagespace (Moller and Haines 2002) Reducing the satu-ration of colour as the surfaces curve away from theviewer further enhances the perception of shape (Ed-munds et al 2012b)

4 ResultsInteraction and exploratory tools are very useful to

the domain expert for the production of insightful andmeaningful visualisations Our clustering approachpartitions the domain into meaningful subsets basedon the field of interest Interacting with the clustersutilising a tree map is an intuitive approach for investi-gating the different characteristics of the data Placingstream surfaces at the selected areas of interest pro-vide further feedback about the evolution of a givenattribute upstream and downstream In the follow-ing section we discuss our technique applied to a wellknown simulation in the community (Camarri et al2005) (von Funck et al 2008) We then demonstrateour algorithm applied to a CFD simulation from do-main experts

Flow Past A Cuboid For the clustering process ve-locity magnitude data is chosen for the input Thenumber of means are five Once the clustering pro-cess is complete the tree map is displayed From thetree map the user can see meta data about each clus-ter describing the velocity range and mean With sizemapped to cluster size and colour mapped to the clus-

ter mean (in this case mean velocity of the cluster) arange of information can be inferred Combined withthe visual representation in the main view this aidsthe user in the selection of a cluster of interest Theselected cluster is a sub-cluster with a mean velocityof 071 ms and a range of 058 ms to 078 ms SeeFigure 4 In the final visualisation in Figure 5 afterthe surfaces are propagated from the seeding cuboidit can be seen how the area of interest interacts withthe upstream and downstream flow An isovalue of095 is used to generate the seeding curves

Visualisation of Marine Turbine CFD SimulationA marine turbine makes use of kinetic energy avail-able in moving water similar in concept to a windturbine being powered by the wind This applica-tion is gaining popularity due to the relative advan-tages marine turbines offer Modelling and simulationare carried out to investigate how the flow past a ma-rine turbine is affected and thus develop a better andmore efficient marine turbine system The engineersresearching this field are investigating the system ofturbine arrays and their interaction with each otherin different spatial arrangements The velocity wakeflowing downstream of a marine turbine may inter-act with the downstream turbines The goal is to findthe optimal layout to pack the turbines into a givenspace and maximise the energy output while manag-ing the environmental effect and durability (Masterset al 2011) (Malki et al 2012) The velocity wakeand pressure can have a major impact on the envi-ronment and the marine turbines The marine turbinemulti-field data is defined on an unstructured irregulargrid For the clustering process pressure data is cho-sen for the input The number of means are five A setof sub-clusters are selected and an isovalue of 005 isused to generate the seeding curves The final visual-isation can be seen demonstrating an optimal solutionfor the array layout See Figure 6 We also illustratea sub-optimal layout where the turbine wake signifi-cantly interferes with neighbouring and downstreamturbines See Figure 7

Figure 5 This visualisation demonstrates stream surfacesseeded from the locations illustrated in Figure 4 We capturethe singularity at the centre of a double vortex downstreamof the cuboid The surfaces are rendered with illustrativetechniques to enhance the perception Colour is mapped tovelocity see inset colour map histogram

Figure 6 This visualisation demonstrates stream surfacesseeded from the clusters situated in front of the turbineblades Pressure is used for the clustering while colouris mapped to velocity which enables tracking the velocitywake edge effect on neighbouring and downstream marineturbines

5 EvaluationTo evaluate our work we compare and contrast

with recent work in this area Our algorithm performswell when compared to the hierarchical clustering of(Edmunds et al 2012b) The hierarchical clusteringis O(n2) compared with our algorithm O(i middot k middot n)and O(n middot logn) for the k-means and DBSCAN clus-tering respectively Our algorithm is implemented inC++ and QT4 on a PC with an NVIDIA GeForceGTX480 an Intel quad core 28GHz CPU with 8GBRAM The bottleneck in the performance of our al-gorithm is the clustering as seen in Table 1 Thetime for tree map generation is in the 7-65[ms] rangeThe calculation of the cluster attributes and seedingcuboid fitting is in the 18-174[ms] range The per-formance of stream surface rendering is comparableto previous work eg (Born et al 2010) (Hummelet al 2010) and (Edmunds et al 2012b) The mem-ory usage for our approach is proportional to the sizeof the data set eg n where n is the number of ini-tial samples We store only one integer per vertex toreference which cluster it belongs to The hierarchi-cal approach stores vector data location data clus-ter size data cumulative error data and neighbour-hoodconnectivity information at each node in the bi-nary tree The quantity of nodes is 2nminus1 The hybridclustering approach is generally one order of magni-tude faster than its predecessor The input to our al-gorithm is the selection of which data field to clusterthe number of centroids (calculated from the required

Clustering PerformanceData Nodes NoMeans Time[ms] Time[ms]Cuboid 192x64x48 5 487 6898Turbine 3693867 5 5923 naIsabel 5002x100 5 30724 542452

Table 1 Clustering performance of a range of simulationsAll are regular grid data except the Turbine data which isan unstructured tetrahedral grid outputted from Tecplot 360(Tecplot ) For consistency we use 5 means for the timingsNote For reference the last column contains comparativetimes from (Edmunds et al 2012b)

Figure 7 This visualisation illustrate a sub-optimal layoutVelocity spikes can be seen neighbouring the downstreamturbine We use the same parameters as in Figure 6

attribute ranges by domain engineer) and a seedingcuboid isovalue of 005 05 or 095 (outflow bound-ary switch curves and inflow respectively) This setof input parameters is greatly simplified compared toprevious work (Edmunds et al 2012b) The flexi-bility of using tree maps to select individual clustersof interest is invaluable to the domain engineer Thevisual and contextual feedback this approach affordsis relevant to the domain engineerrsquos work flow Thedomain engineer can derive the input then visualisethe precise features of interest The focus and contextnature of the clustering combined with the stream sur-faces re-enforce the visual feedback providing an in-tuitive and meaningful environment focusing on dataexploration When selecting areas of interest the pre-vious algorithm in (Edmunds et al 2012b) performedpoorly when applied to the marine turbine data Thismay be the result of insignificant flow characteristicswithin the vector field The seed locations became toodense when trying to capture the particular areas of in-terest resulting in a cluttered incomprehensible visu-alisation In contrast the interaction in our approachenabled the domain engineer to select precisely thelocation to place stream surfaces for a more focusedevaluation In contrast to the work by (Edmunds et al2011) we generate seeding curves on the boundary ofa seeding cuboid fitted to a cluster in euclidean spaceThis enables very localised exploration of the flowfield We also modify the scalar field computationThis has the effect of producing a smoother transitionbetween the range of isovalues

Domain expert feedback This work is carried outin close collaboration with a team of CFD expertsOne of the goals of this work is to provide CFD ex-perts with a visual interface and tools for interac-tive exploration of multi-field unstructured CFD dataSpecifically interactive selection of specific areas ofinterest the combined visualisation of flow and dif-ferent CFD data fields visualisation of the evolutionof the flow This section summarises their feedbackThe interactive stream surface placement method de-scribed in this paper is unique compared to similarapproaches evaluated previously in that it facilitates

a much greater level of control to the user over theplacement of streamed surfaces One particularly use-ful feature is the ability of the user to precisely isolatedifferent regions of the domain and evaluate them in-dividually Furthermore user access to the tree mapprovides a useful added feature promoting control in-formation feedback and enabling the user to evaluatethe sensitivity of different fields of the data In thecontext of multiple marine turbine arrays with somelevel of repetition in the array layout this is usefulas it avoids repetition of stream surface features thatmay occur around similarly spaced turbines within thelayout Furthermore the ability to individually con-trol the illustrative techniques of a number of streamsurfaces within the same region of the domain en-ables the user to tweak the final image to improveclarity and focus attention on certain layers Thiswork provides valuable insight into the domain expertCFD data as visualisation tools rarely come equippedwith quantitative analysis features which are usuallyof more use to engineers

6 ConclusionsThe goal of this work is to improve computational

performance memory footprint exploratory flexibil-ity robustness of flow visualisation across differentmulti-field flow data including unstructured data andintuitive feedback on the fly in an interactive envi-ronment for detailed examination of the multi-fielddata We improve the performance and memory us-age while providing an environment and tools for thedomain engineer to visualise multi-field CFD dataWe demonstrate a novel application of k-means andDBSCAN clustering to provide focus and contextualinformation when combined with tree map interac-tion The fast performance brings vector field clus-tering a large step forward towards clustering of un-steady flow data The novel use of a seeding cuboidfitted to clusters for the placement of stream sur-faces provides intuitive feedback about the evolutionof the selected attributes both upstream and down-stream from the location of interest We compare andcontrast with other recent work in this field provid-ing feedback from domain experts utilising our frame-work who conclude that this technique is a signifi-cant improvement over recent work in this area Dur-ing our study we examined the possibility of utilis-ing multi-field clustering with the intent of removingthe need for the user to select a data field of interestBecause within our target domain the various datafields are dependant data multi-field clustering doesnot produce results significantly different from clus-tering a single field The domain experts preferredthe flexibility of selecting the fields of interest

REFERENCES

Bavoli L and Myers K (2008) Order Independent Trans-parency with Dual Depth Peeling NVIDIA DeveloperSDK 10 5

Bock H-H (2007) Clustering Methods A History ofk-Means Algorithms In Brito P Cucumel GBertrand P and Carvalho F editors Selected Con-tributions in Data Analysis and Classification Stud-ies in Classification Data Analysis and KnowledgeOrganization pages 161ndash172 Springer Berlin Heidel-berg 2 3

Born S Wiebel A Friedrich J Scheuermann G andBartz D (2010) Illustrative Stream Surfaces IEEETransactions on Visualization and Computer Graph-ics 16(6)1329ndash1338 6

Bruls M Huizing K and Van Wijk J (2000) Squar-ified treemaps In Data Visualization pages 33ndash42Citeseer 2 4

Camarri S Salvetti M-V Buffoni M and Iollo A(2005) Simulation of the three-dimensional flowaround a square cylinder between parallel walls atmoderate Reynolds numbers In XVII Congresso diMeccanica Teorica ed Applicata 5

Edmunds M Laramee R Chen G Zhang E and MaxN (2012a) Advanced Automatic Stream SurfaceSeeding and Filtering In Theory and Practice of Com-puter Graphics pages 53ndash60 1

Edmunds M Laramee R Malki R Masters I CroftT Chen G and Zhang E (2012b) AutomaticStream Surface Seeding A Feature Centered Ap-proach Computer Graphics Forum 31(32)1095ndash1104 1 2 5 6 7

Edmunds M Laramee R S Chen G Max N ZhangE and Ware C (2012c) Surface-Based Flow Visu-alization Computers amp Graphics 36(8)974 ndash 9902

Edmunds M McLoughlin T Laramee R S Chen GZhang E and Max N (2011) Automatic StreamSurfaces Seeding In EUROGRAPHICS 2011 ShortPapers pages 53ndash56 Llandudno Wales UK 1 5 7

Ester M Kriegel H Sander J and Xu X (1996) ADensity-Based Algorithm for Discovering Clusters inLarge Spatial Databases with Noise In Proceedings ofthe 2nd International Conference on Knowledge Dis-covery and Data mining volume 1996 pages 226ndash231 AAAI Press 1 2 3

Hultquist J P M (1992) Constructing Stream Surfaces inSteady 3D Vector Fields In Proceedings IEEE Visu-alization rsquo92 pages 171ndash178 5

Hummel M Garth C Hamann B Hagen H and Joy K(2010) IRIS Illustrative Rendering for Integral Sur-faces IEEE Transactions on Visualization and Com-puter Graphics 16(6)1319ndash1328 6

Johnson B and Shneiderman B (1991) Tree-maps ASpace-Filling Approach to the Visualization of Hier-archical Information Structures In Proceedings of the2nd conference on Visualization rsquo91 VIS rsquo91 pages284ndash291 Los Alamitos CA USA IEEE ComputerSociety Press 2 4

Jolliffe I (2005) Principal Component Analysis WileyOnline Library 4

Kehrer J and Hauser H (2012) Visualization and Vi-sual Analysis of Multi-faceted Scientific Data A Sur-vey IEEE Transactions on Visualization and Com-puter Graphics 4

Kogan J (2007) Introduction to Clustering Large andHigh-Dimensional Data Cambridge University Press2 3

Malki R Williams A Togneri M and Masters I(2012) A Coupled Blade Element Momentum Com-putational Fluid Dynamics Model for Evaluating TidalStream Turbine Performance Applied MathematicalModelling Available online 16 August 2012 6

Masters I Chapman J Orme J and Willis M (2011) ARobust Blade Element Momentum Theory Model ForTidal Stream Turbines Including Tip And Hub LossCorrections Proceedings of the Institute of MarineEngineering Science and Technology Part A Journalof Marine Engineering and Technology 10(1)25ndash356

Moller T and Haines E (2002) Real-Time Rendering AK Peters Limited 2 edition 5

Peng Z Grundy E Laramee R S Chen G and CroftN (2012) Mesh-Driven Vector Field Clustering andVisualization An Image-Based Approach IEEETransactions on Visualization and Computer Graph-ics 18(2)283ndash298 1

Reinders K F J (2001) Feature-Based Visualisation ofTime-Dependant Data Technische Universiteit Delft4

Shneiderman B (1992) Tree Visualization with Tree-Maps 2-d Space-Filling Approach ACM TransGraph 11(1)92ndash99 2 4

Stroud K and Booth D (2001) Engineering MathematicsIndustrial Press Inc 4

Tecplot Tecplot 360 httpwwwtecplotcom Ac-cessed March 2013 6

Telea A and van Wijk J J (1999) Simplified Represen-tation of Vector Fields In Proceedings IEEE Visual-ization rsquo99 pages 35ndash42 2

Van Wijk J and Van De Wetering H (1999) Cushiontreemaps Visualization of hierarchical informationIn Information Visualization 1999(Info Visrsquo 99) Pro-ceedings 1999 IEEE Symposium on pages 73ndash78IEEE 2

von Funck W Weinkauf T Theisel H and SeidelH-P (2008) Smoke surfaces An interactive flowvisualization technique inspired by real-world flowexperiments IEEE Transactions on Visualizationand Computer Graphics (Proceedings Visualization2008) 14(6)1396ndash1403 3 5

Ward M Grinstein G and Keim D (2010) InteractiveData Visualization A K Peters 2

Watson D F (1992) Contouring Pergamon Press 5Xu R Wunsch D et al (2005) Survey of Clustering

Algorithms Neural Networks IEEE Transactions on16(3)645ndash678 2

  • Introduction
  • Related Work
  • Interactive Surface Placement
    • K-Means Clustering
    • DBSCAN Clustering
    • Cluster Selection with Tree Maps
    • Cluster Attribute Computation
    • Seeding Cuboid
    • Surface ConstructionRendering
      • Results
      • Evaluation
      • Conclusions
Page 4: Interactive Stream Surface Placement: A Hybrid Clustering ...chengu/Publications/3DFlowVis/... · 3.Next we build a hierarchical tree with k-means clusters as inner nodes, and the

in the chosen data field However this is not necessar-ily so in euclidean space Separation of these clustersinto sub clusters in euclidean space is important tothe domain expert when examining distinct featuresin the flow field to which the k-means cluster is asso-ciated DBSCAN requires two parameters ε the min-imum distance to neighbouring points and the mini-mum number of points required to form a cluster nmin

33 Cluster Selection with Tree MapsHierarchical structures are ubiquitous eg familytrees and directory structures (Kehrer and Hauser2012) Many techniques have been proposed to visu-alise such structures more effectively However fewmethods have been presented for interacting with alarge cluster hierarchy in 3D space Tree maps arean efficient and compact method to display hierarchi-cal structures The basis for choosing tree maps istwo fold First the CFD domain experts specificallyrequested the ability to select any cluster and obtainmore detail Second interacting and selecting clus-ters in a large 3D spatial hierarchy is cumbersome atbest

We utilise squarified tree maps by (Bruls et al2000) The method is based on tree maps by (Johnsonand Shneiderman 1991) and (Shneiderman 1992)The tree map is constructed via recursive subdivisionof an initial rectangle The size of each sub rectanglecorresponds to the size of the node Colour and an-notation is used to provide further information aboutthe leaves We build a hierarchical tree with the k-means clusters represented by the inner nodes Wethen build the leaf nodes of the tree with the DBSCANsub clusters of the parent spherical k-means clustermean node Moving the mouse over a node in the treemap view highlights the cluster vertices within the 3Dspatial view If the user moves the mouse over a k-means node the complete set of cluster vertices aredisplayed in the 3D spatial view Meta data about thecluster is shown in the tree map view along with theDBSCAN children of this cluster If the user selectsthe cluster node the children are displayed in the treeview Again if the user moves the mouse over a DB-SCAN node the sub cluster is displayed in the mainview Meta data about sub clusters are shown on thetree map view (See Figure 2)

The benefits of this method are that user interac-tion provides feedback about the spatial hierarchiesfiltering the spatial hierarchies to examine specific ar-eas of interest and details on demand This allows thedomain expert to explore and select areas of the datain a focus and context manner and provides visualfeedback in the linked 3D view Once an area of in-terest is selected the user can examine with the use of

Figure 2 The tree map in the top image shows a high-lighted cluster (middle right) which can be seen renderedin the main view (bottom image) The size of the rectangleis mapped to the size of the cluster and colour is mappedto the mean of the cluster Meta data about the cluster isoverlaid onto the cluster rectangle The sub clusters gener-ated from the DBSCAN clustering can also be seen in thehighlighted tree map cluster and relate to the spacially sep-arated sub clusters seen in the main view (bottom image)The colour of the cluster in the bottom image is also mappedto its mean

stream surfaces how the attributes of the flow evolveboth upstream and downstream Stream surfaces aregenerated from a seeding cuboid fitted around thecluster of interest

34 Cluster Attribute ComputationAn object eg an ellipsoid or bounding box withnine degrees of freedom is fitted around the geometryof a cluster There are three degrees of freedom for thecentre point position three for the orientation of theobject axes and three for the axes lengths

The object fit provides a good indication of theglobal geometry of a clusterrsquos position size and ori-entation The centre point position is the average po-sition of the cluster points The volume of an objectcan be determined from the axis lengths The orienta-tion can be determined from the axis directions Thefollowing is a description of the PCA method used toderive the cluster attributes We describe the analyticand the related discretised version For any clusterπ(c) the following volume integrals describe its shapein euclidean space (Jolliffe 2005) (Reinders 2001)(Stroud and Booth 2001) The Euclidean centre ofπ(c)

uπ =1vπ

intπ

pdv

where p isin π(c) is a vertex in 3D euclidean space andvπ is the volume of π(c) We next calculate the secondmoment of π(c) This provides us with the covariance

Figure 3 This image illustrates a seeding cuboid fitted to acluster in the flow past a cuboid data The seeding cuboidis centred at the cluster centre oriented according to theeigenvector directions and is scaled by the eigenvalues

matrix sπ

sπ =1vπ

intπ

(pminusuπ)(pminusuπ)T dv

The eigenvectors of the covariance matrix sπ are threeunit vectors e1 e2 and e3 with sπei = λiei whereei is the i th eigenvector and λi is the correspondingeigenvalue The normalised standard deviation σ ofthe covariance sπ in the i th eigenvalue direction isσi =

radicλivπ To fit a cuboid C to any cluster π(c)

it is centred on uπ where its size and orientation ineach axis corresponds to the unit eigenvectors ei mul-tiplied by the corresponding normalised standard de-viation σi See Figure 3

35 Seeding CuboidFor the challenge of generating seeding curves be-tween and inclusive of boundary switch curves wecompute a scalar field representing the flow exit tra-jectory from the cuboid boundary Cprime When the flowis parallel to the cuboid boundary the scalar is 05When the flow exits orthogonal to C the scalar is zeroand when entering is unity The scalar s is calculatedas follows

s =2cosminus1(np middot nv)

314159where np is the plane normal nv is the normalisedvelocity vector and cosminus1(np middot nv) is given in radi-ans This approach reduces the problem to a simplemarching squares (Watson 1992) isoline extractionFor a generic vector field using the full sphere of pos-sible directions the set of points on the boundary of acube where nv middot np = 1 orminus1 will be isolated pointsnot a curve Thus we generally use isovalues in therange [095 005] Next we construct the isolinesfrom s(Cprime) using marching squares The vertices re-quire sequential ordering for use as a seeding curveFor a more detailed discussion on this technique werefer the reader to (Edmunds et al 2011)

36 Surface ConstructionRenderingOur work utilises an out of the box solution for gen-erating stream surfaces The stream surface is con-structed with an advancing front scheme first intro-duced by (Hultquist 1992) An adaptive Runge-Kutta

Figure 4 Left image highlights a selected cluster in the re-gion downstream from the cuboid The right image shows aseeding cuboid fitted to the same cluster with two seedingcurves derived on the rear face

4th order integrator is used in the surface construc-tion The user can select downstream and upstreampropagation By default surfaces are terminated whenthey leave the domain enter a periodic orbit or reacha pre-determined maximum length The user hasan option to control the length A number of tech-niques are implemented to aid the viewer in percep-tion of the resulting visualisation Options include theuse of transparency colour and silhouette edge high-lighting Transparency in visualisations pose prob-lems relating to the order of primitive rendering Weuse depth peeling an order independent transparencytechnique presented by (Bavoli and Myers 2008)

Silhouette edge highlighting is used to help theviewer in perceiving where the surfaces curve awayfrom the viewer and enhance surface edges Silhou-ette highlighting utilises a Gaussian kernel in imagespace (Moller and Haines 2002) Reducing the satu-ration of colour as the surfaces curve away from theviewer further enhances the perception of shape (Ed-munds et al 2012b)

4 ResultsInteraction and exploratory tools are very useful to

the domain expert for the production of insightful andmeaningful visualisations Our clustering approachpartitions the domain into meaningful subsets basedon the field of interest Interacting with the clustersutilising a tree map is an intuitive approach for investi-gating the different characteristics of the data Placingstream surfaces at the selected areas of interest pro-vide further feedback about the evolution of a givenattribute upstream and downstream In the follow-ing section we discuss our technique applied to a wellknown simulation in the community (Camarri et al2005) (von Funck et al 2008) We then demonstrateour algorithm applied to a CFD simulation from do-main experts

Flow Past A Cuboid For the clustering process ve-locity magnitude data is chosen for the input Thenumber of means are five Once the clustering pro-cess is complete the tree map is displayed From thetree map the user can see meta data about each clus-ter describing the velocity range and mean With sizemapped to cluster size and colour mapped to the clus-

ter mean (in this case mean velocity of the cluster) arange of information can be inferred Combined withthe visual representation in the main view this aidsthe user in the selection of a cluster of interest Theselected cluster is a sub-cluster with a mean velocityof 071 ms and a range of 058 ms to 078 ms SeeFigure 4 In the final visualisation in Figure 5 afterthe surfaces are propagated from the seeding cuboidit can be seen how the area of interest interacts withthe upstream and downstream flow An isovalue of095 is used to generate the seeding curves

Visualisation of Marine Turbine CFD SimulationA marine turbine makes use of kinetic energy avail-able in moving water similar in concept to a windturbine being powered by the wind This applica-tion is gaining popularity due to the relative advan-tages marine turbines offer Modelling and simulationare carried out to investigate how the flow past a ma-rine turbine is affected and thus develop a better andmore efficient marine turbine system The engineersresearching this field are investigating the system ofturbine arrays and their interaction with each otherin different spatial arrangements The velocity wakeflowing downstream of a marine turbine may inter-act with the downstream turbines The goal is to findthe optimal layout to pack the turbines into a givenspace and maximise the energy output while manag-ing the environmental effect and durability (Masterset al 2011) (Malki et al 2012) The velocity wakeand pressure can have a major impact on the envi-ronment and the marine turbines The marine turbinemulti-field data is defined on an unstructured irregulargrid For the clustering process pressure data is cho-sen for the input The number of means are five A setof sub-clusters are selected and an isovalue of 005 isused to generate the seeding curves The final visual-isation can be seen demonstrating an optimal solutionfor the array layout See Figure 6 We also illustratea sub-optimal layout where the turbine wake signifi-cantly interferes with neighbouring and downstreamturbines See Figure 7

Figure 5 This visualisation demonstrates stream surfacesseeded from the locations illustrated in Figure 4 We capturethe singularity at the centre of a double vortex downstreamof the cuboid The surfaces are rendered with illustrativetechniques to enhance the perception Colour is mapped tovelocity see inset colour map histogram

Figure 6 This visualisation demonstrates stream surfacesseeded from the clusters situated in front of the turbineblades Pressure is used for the clustering while colouris mapped to velocity which enables tracking the velocitywake edge effect on neighbouring and downstream marineturbines

5 EvaluationTo evaluate our work we compare and contrast

with recent work in this area Our algorithm performswell when compared to the hierarchical clustering of(Edmunds et al 2012b) The hierarchical clusteringis O(n2) compared with our algorithm O(i middot k middot n)and O(n middot logn) for the k-means and DBSCAN clus-tering respectively Our algorithm is implemented inC++ and QT4 on a PC with an NVIDIA GeForceGTX480 an Intel quad core 28GHz CPU with 8GBRAM The bottleneck in the performance of our al-gorithm is the clustering as seen in Table 1 Thetime for tree map generation is in the 7-65[ms] rangeThe calculation of the cluster attributes and seedingcuboid fitting is in the 18-174[ms] range The per-formance of stream surface rendering is comparableto previous work eg (Born et al 2010) (Hummelet al 2010) and (Edmunds et al 2012b) The mem-ory usage for our approach is proportional to the sizeof the data set eg n where n is the number of ini-tial samples We store only one integer per vertex toreference which cluster it belongs to The hierarchi-cal approach stores vector data location data clus-ter size data cumulative error data and neighbour-hoodconnectivity information at each node in the bi-nary tree The quantity of nodes is 2nminus1 The hybridclustering approach is generally one order of magni-tude faster than its predecessor The input to our al-gorithm is the selection of which data field to clusterthe number of centroids (calculated from the required

Clustering PerformanceData Nodes NoMeans Time[ms] Time[ms]Cuboid 192x64x48 5 487 6898Turbine 3693867 5 5923 naIsabel 5002x100 5 30724 542452

Table 1 Clustering performance of a range of simulationsAll are regular grid data except the Turbine data which isan unstructured tetrahedral grid outputted from Tecplot 360(Tecplot ) For consistency we use 5 means for the timingsNote For reference the last column contains comparativetimes from (Edmunds et al 2012b)

Figure 7 This visualisation illustrate a sub-optimal layoutVelocity spikes can be seen neighbouring the downstreamturbine We use the same parameters as in Figure 6

attribute ranges by domain engineer) and a seedingcuboid isovalue of 005 05 or 095 (outflow bound-ary switch curves and inflow respectively) This setof input parameters is greatly simplified compared toprevious work (Edmunds et al 2012b) The flexi-bility of using tree maps to select individual clustersof interest is invaluable to the domain engineer Thevisual and contextual feedback this approach affordsis relevant to the domain engineerrsquos work flow Thedomain engineer can derive the input then visualisethe precise features of interest The focus and contextnature of the clustering combined with the stream sur-faces re-enforce the visual feedback providing an in-tuitive and meaningful environment focusing on dataexploration When selecting areas of interest the pre-vious algorithm in (Edmunds et al 2012b) performedpoorly when applied to the marine turbine data Thismay be the result of insignificant flow characteristicswithin the vector field The seed locations became toodense when trying to capture the particular areas of in-terest resulting in a cluttered incomprehensible visu-alisation In contrast the interaction in our approachenabled the domain engineer to select precisely thelocation to place stream surfaces for a more focusedevaluation In contrast to the work by (Edmunds et al2011) we generate seeding curves on the boundary ofa seeding cuboid fitted to a cluster in euclidean spaceThis enables very localised exploration of the flowfield We also modify the scalar field computationThis has the effect of producing a smoother transitionbetween the range of isovalues

Domain expert feedback This work is carried outin close collaboration with a team of CFD expertsOne of the goals of this work is to provide CFD ex-perts with a visual interface and tools for interac-tive exploration of multi-field unstructured CFD dataSpecifically interactive selection of specific areas ofinterest the combined visualisation of flow and dif-ferent CFD data fields visualisation of the evolutionof the flow This section summarises their feedbackThe interactive stream surface placement method de-scribed in this paper is unique compared to similarapproaches evaluated previously in that it facilitates

a much greater level of control to the user over theplacement of streamed surfaces One particularly use-ful feature is the ability of the user to precisely isolatedifferent regions of the domain and evaluate them in-dividually Furthermore user access to the tree mapprovides a useful added feature promoting control in-formation feedback and enabling the user to evaluatethe sensitivity of different fields of the data In thecontext of multiple marine turbine arrays with somelevel of repetition in the array layout this is usefulas it avoids repetition of stream surface features thatmay occur around similarly spaced turbines within thelayout Furthermore the ability to individually con-trol the illustrative techniques of a number of streamsurfaces within the same region of the domain en-ables the user to tweak the final image to improveclarity and focus attention on certain layers Thiswork provides valuable insight into the domain expertCFD data as visualisation tools rarely come equippedwith quantitative analysis features which are usuallyof more use to engineers

6 ConclusionsThe goal of this work is to improve computational

performance memory footprint exploratory flexibil-ity robustness of flow visualisation across differentmulti-field flow data including unstructured data andintuitive feedback on the fly in an interactive envi-ronment for detailed examination of the multi-fielddata We improve the performance and memory us-age while providing an environment and tools for thedomain engineer to visualise multi-field CFD dataWe demonstrate a novel application of k-means andDBSCAN clustering to provide focus and contextualinformation when combined with tree map interac-tion The fast performance brings vector field clus-tering a large step forward towards clustering of un-steady flow data The novel use of a seeding cuboidfitted to clusters for the placement of stream sur-faces provides intuitive feedback about the evolutionof the selected attributes both upstream and down-stream from the location of interest We compare andcontrast with other recent work in this field provid-ing feedback from domain experts utilising our frame-work who conclude that this technique is a signifi-cant improvement over recent work in this area Dur-ing our study we examined the possibility of utilis-ing multi-field clustering with the intent of removingthe need for the user to select a data field of interestBecause within our target domain the various datafields are dependant data multi-field clustering doesnot produce results significantly different from clus-tering a single field The domain experts preferredthe flexibility of selecting the fields of interest

REFERENCES

Bavoli L and Myers K (2008) Order Independent Trans-parency with Dual Depth Peeling NVIDIA DeveloperSDK 10 5

Bock H-H (2007) Clustering Methods A History ofk-Means Algorithms In Brito P Cucumel GBertrand P and Carvalho F editors Selected Con-tributions in Data Analysis and Classification Stud-ies in Classification Data Analysis and KnowledgeOrganization pages 161ndash172 Springer Berlin Heidel-berg 2 3

Born S Wiebel A Friedrich J Scheuermann G andBartz D (2010) Illustrative Stream Surfaces IEEETransactions on Visualization and Computer Graph-ics 16(6)1329ndash1338 6

Bruls M Huizing K and Van Wijk J (2000) Squar-ified treemaps In Data Visualization pages 33ndash42Citeseer 2 4

Camarri S Salvetti M-V Buffoni M and Iollo A(2005) Simulation of the three-dimensional flowaround a square cylinder between parallel walls atmoderate Reynolds numbers In XVII Congresso diMeccanica Teorica ed Applicata 5

Edmunds M Laramee R Chen G Zhang E and MaxN (2012a) Advanced Automatic Stream SurfaceSeeding and Filtering In Theory and Practice of Com-puter Graphics pages 53ndash60 1

Edmunds M Laramee R Malki R Masters I CroftT Chen G and Zhang E (2012b) AutomaticStream Surface Seeding A Feature Centered Ap-proach Computer Graphics Forum 31(32)1095ndash1104 1 2 5 6 7

Edmunds M Laramee R S Chen G Max N ZhangE and Ware C (2012c) Surface-Based Flow Visu-alization Computers amp Graphics 36(8)974 ndash 9902

Edmunds M McLoughlin T Laramee R S Chen GZhang E and Max N (2011) Automatic StreamSurfaces Seeding In EUROGRAPHICS 2011 ShortPapers pages 53ndash56 Llandudno Wales UK 1 5 7

Ester M Kriegel H Sander J and Xu X (1996) ADensity-Based Algorithm for Discovering Clusters inLarge Spatial Databases with Noise In Proceedings ofthe 2nd International Conference on Knowledge Dis-covery and Data mining volume 1996 pages 226ndash231 AAAI Press 1 2 3

Hultquist J P M (1992) Constructing Stream Surfaces inSteady 3D Vector Fields In Proceedings IEEE Visu-alization rsquo92 pages 171ndash178 5

Hummel M Garth C Hamann B Hagen H and Joy K(2010) IRIS Illustrative Rendering for Integral Sur-faces IEEE Transactions on Visualization and Com-puter Graphics 16(6)1319ndash1328 6

Johnson B and Shneiderman B (1991) Tree-maps ASpace-Filling Approach to the Visualization of Hier-archical Information Structures In Proceedings of the2nd conference on Visualization rsquo91 VIS rsquo91 pages284ndash291 Los Alamitos CA USA IEEE ComputerSociety Press 2 4

Jolliffe I (2005) Principal Component Analysis WileyOnline Library 4

Kehrer J and Hauser H (2012) Visualization and Vi-sual Analysis of Multi-faceted Scientific Data A Sur-vey IEEE Transactions on Visualization and Com-puter Graphics 4

Kogan J (2007) Introduction to Clustering Large andHigh-Dimensional Data Cambridge University Press2 3

Malki R Williams A Togneri M and Masters I(2012) A Coupled Blade Element Momentum Com-putational Fluid Dynamics Model for Evaluating TidalStream Turbine Performance Applied MathematicalModelling Available online 16 August 2012 6

Masters I Chapman J Orme J and Willis M (2011) ARobust Blade Element Momentum Theory Model ForTidal Stream Turbines Including Tip And Hub LossCorrections Proceedings of the Institute of MarineEngineering Science and Technology Part A Journalof Marine Engineering and Technology 10(1)25ndash356

Moller T and Haines E (2002) Real-Time Rendering AK Peters Limited 2 edition 5

Peng Z Grundy E Laramee R S Chen G and CroftN (2012) Mesh-Driven Vector Field Clustering andVisualization An Image-Based Approach IEEETransactions on Visualization and Computer Graph-ics 18(2)283ndash298 1

Reinders K F J (2001) Feature-Based Visualisation ofTime-Dependant Data Technische Universiteit Delft4

Shneiderman B (1992) Tree Visualization with Tree-Maps 2-d Space-Filling Approach ACM TransGraph 11(1)92ndash99 2 4

Stroud K and Booth D (2001) Engineering MathematicsIndustrial Press Inc 4

Tecplot Tecplot 360 httpwwwtecplotcom Ac-cessed March 2013 6

Telea A and van Wijk J J (1999) Simplified Represen-tation of Vector Fields In Proceedings IEEE Visual-ization rsquo99 pages 35ndash42 2

Van Wijk J and Van De Wetering H (1999) Cushiontreemaps Visualization of hierarchical informationIn Information Visualization 1999(Info Visrsquo 99) Pro-ceedings 1999 IEEE Symposium on pages 73ndash78IEEE 2

von Funck W Weinkauf T Theisel H and SeidelH-P (2008) Smoke surfaces An interactive flowvisualization technique inspired by real-world flowexperiments IEEE Transactions on Visualizationand Computer Graphics (Proceedings Visualization2008) 14(6)1396ndash1403 3 5

Ward M Grinstein G and Keim D (2010) InteractiveData Visualization A K Peters 2

Watson D F (1992) Contouring Pergamon Press 5Xu R Wunsch D et al (2005) Survey of Clustering

Algorithms Neural Networks IEEE Transactions on16(3)645ndash678 2

  • Introduction
  • Related Work
  • Interactive Surface Placement
    • K-Means Clustering
    • DBSCAN Clustering
    • Cluster Selection with Tree Maps
    • Cluster Attribute Computation
    • Seeding Cuboid
    • Surface ConstructionRendering
      • Results
      • Evaluation
      • Conclusions
Page 5: Interactive Stream Surface Placement: A Hybrid Clustering ...chengu/Publications/3DFlowVis/... · 3.Next we build a hierarchical tree with k-means clusters as inner nodes, and the

Figure 3 This image illustrates a seeding cuboid fitted to acluster in the flow past a cuboid data The seeding cuboidis centred at the cluster centre oriented according to theeigenvector directions and is scaled by the eigenvalues

matrix sπ

sπ =1vπ

intπ

(pminusuπ)(pminusuπ)T dv

The eigenvectors of the covariance matrix sπ are threeunit vectors e1 e2 and e3 with sπei = λiei whereei is the i th eigenvector and λi is the correspondingeigenvalue The normalised standard deviation σ ofthe covariance sπ in the i th eigenvalue direction isσi =

radicλivπ To fit a cuboid C to any cluster π(c)

it is centred on uπ where its size and orientation ineach axis corresponds to the unit eigenvectors ei mul-tiplied by the corresponding normalised standard de-viation σi See Figure 3

35 Seeding CuboidFor the challenge of generating seeding curves be-tween and inclusive of boundary switch curves wecompute a scalar field representing the flow exit tra-jectory from the cuboid boundary Cprime When the flowis parallel to the cuboid boundary the scalar is 05When the flow exits orthogonal to C the scalar is zeroand when entering is unity The scalar s is calculatedas follows

s =2cosminus1(np middot nv)

314159where np is the plane normal nv is the normalisedvelocity vector and cosminus1(np middot nv) is given in radi-ans This approach reduces the problem to a simplemarching squares (Watson 1992) isoline extractionFor a generic vector field using the full sphere of pos-sible directions the set of points on the boundary of acube where nv middot np = 1 orminus1 will be isolated pointsnot a curve Thus we generally use isovalues in therange [095 005] Next we construct the isolinesfrom s(Cprime) using marching squares The vertices re-quire sequential ordering for use as a seeding curveFor a more detailed discussion on this technique werefer the reader to (Edmunds et al 2011)

36 Surface ConstructionRenderingOur work utilises an out of the box solution for gen-erating stream surfaces The stream surface is con-structed with an advancing front scheme first intro-duced by (Hultquist 1992) An adaptive Runge-Kutta

Figure 4 Left image highlights a selected cluster in the re-gion downstream from the cuboid The right image shows aseeding cuboid fitted to the same cluster with two seedingcurves derived on the rear face

4th order integrator is used in the surface construc-tion The user can select downstream and upstreampropagation By default surfaces are terminated whenthey leave the domain enter a periodic orbit or reacha pre-determined maximum length The user hasan option to control the length A number of tech-niques are implemented to aid the viewer in percep-tion of the resulting visualisation Options include theuse of transparency colour and silhouette edge high-lighting Transparency in visualisations pose prob-lems relating to the order of primitive rendering Weuse depth peeling an order independent transparencytechnique presented by (Bavoli and Myers 2008)

Silhouette edge highlighting is used to help theviewer in perceiving where the surfaces curve awayfrom the viewer and enhance surface edges Silhou-ette highlighting utilises a Gaussian kernel in imagespace (Moller and Haines 2002) Reducing the satu-ration of colour as the surfaces curve away from theviewer further enhances the perception of shape (Ed-munds et al 2012b)

4 ResultsInteraction and exploratory tools are very useful to

the domain expert for the production of insightful andmeaningful visualisations Our clustering approachpartitions the domain into meaningful subsets basedon the field of interest Interacting with the clustersutilising a tree map is an intuitive approach for investi-gating the different characteristics of the data Placingstream surfaces at the selected areas of interest pro-vide further feedback about the evolution of a givenattribute upstream and downstream In the follow-ing section we discuss our technique applied to a wellknown simulation in the community (Camarri et al2005) (von Funck et al 2008) We then demonstrateour algorithm applied to a CFD simulation from do-main experts

Flow Past A Cuboid For the clustering process ve-locity magnitude data is chosen for the input Thenumber of means are five Once the clustering pro-cess is complete the tree map is displayed From thetree map the user can see meta data about each clus-ter describing the velocity range and mean With sizemapped to cluster size and colour mapped to the clus-

ter mean (in this case mean velocity of the cluster) arange of information can be inferred Combined withthe visual representation in the main view this aidsthe user in the selection of a cluster of interest Theselected cluster is a sub-cluster with a mean velocityof 071 ms and a range of 058 ms to 078 ms SeeFigure 4 In the final visualisation in Figure 5 afterthe surfaces are propagated from the seeding cuboidit can be seen how the area of interest interacts withthe upstream and downstream flow An isovalue of095 is used to generate the seeding curves

Visualisation of Marine Turbine CFD SimulationA marine turbine makes use of kinetic energy avail-able in moving water similar in concept to a windturbine being powered by the wind This applica-tion is gaining popularity due to the relative advan-tages marine turbines offer Modelling and simulationare carried out to investigate how the flow past a ma-rine turbine is affected and thus develop a better andmore efficient marine turbine system The engineersresearching this field are investigating the system ofturbine arrays and their interaction with each otherin different spatial arrangements The velocity wakeflowing downstream of a marine turbine may inter-act with the downstream turbines The goal is to findthe optimal layout to pack the turbines into a givenspace and maximise the energy output while manag-ing the environmental effect and durability (Masterset al 2011) (Malki et al 2012) The velocity wakeand pressure can have a major impact on the envi-ronment and the marine turbines The marine turbinemulti-field data is defined on an unstructured irregulargrid For the clustering process pressure data is cho-sen for the input The number of means are five A setof sub-clusters are selected and an isovalue of 005 isused to generate the seeding curves The final visual-isation can be seen demonstrating an optimal solutionfor the array layout See Figure 6 We also illustratea sub-optimal layout where the turbine wake signifi-cantly interferes with neighbouring and downstreamturbines See Figure 7

Figure 5 This visualisation demonstrates stream surfacesseeded from the locations illustrated in Figure 4 We capturethe singularity at the centre of a double vortex downstreamof the cuboid The surfaces are rendered with illustrativetechniques to enhance the perception Colour is mapped tovelocity see inset colour map histogram

Figure 6 This visualisation demonstrates stream surfacesseeded from the clusters situated in front of the turbineblades Pressure is used for the clustering while colouris mapped to velocity which enables tracking the velocitywake edge effect on neighbouring and downstream marineturbines

5 EvaluationTo evaluate our work we compare and contrast

with recent work in this area Our algorithm performswell when compared to the hierarchical clustering of(Edmunds et al 2012b) The hierarchical clusteringis O(n2) compared with our algorithm O(i middot k middot n)and O(n middot logn) for the k-means and DBSCAN clus-tering respectively Our algorithm is implemented inC++ and QT4 on a PC with an NVIDIA GeForceGTX480 an Intel quad core 28GHz CPU with 8GBRAM The bottleneck in the performance of our al-gorithm is the clustering as seen in Table 1 Thetime for tree map generation is in the 7-65[ms] rangeThe calculation of the cluster attributes and seedingcuboid fitting is in the 18-174[ms] range The per-formance of stream surface rendering is comparableto previous work eg (Born et al 2010) (Hummelet al 2010) and (Edmunds et al 2012b) The mem-ory usage for our approach is proportional to the sizeof the data set eg n where n is the number of ini-tial samples We store only one integer per vertex toreference which cluster it belongs to The hierarchi-cal approach stores vector data location data clus-ter size data cumulative error data and neighbour-hoodconnectivity information at each node in the bi-nary tree The quantity of nodes is 2nminus1 The hybridclustering approach is generally one order of magni-tude faster than its predecessor The input to our al-gorithm is the selection of which data field to clusterthe number of centroids (calculated from the required

Clustering PerformanceData Nodes NoMeans Time[ms] Time[ms]Cuboid 192x64x48 5 487 6898Turbine 3693867 5 5923 naIsabel 5002x100 5 30724 542452

Table 1 Clustering performance of a range of simulationsAll are regular grid data except the Turbine data which isan unstructured tetrahedral grid outputted from Tecplot 360(Tecplot ) For consistency we use 5 means for the timingsNote For reference the last column contains comparativetimes from (Edmunds et al 2012b)

Figure 7 This visualisation illustrate a sub-optimal layoutVelocity spikes can be seen neighbouring the downstreamturbine We use the same parameters as in Figure 6

attribute ranges by domain engineer) and a seedingcuboid isovalue of 005 05 or 095 (outflow bound-ary switch curves and inflow respectively) This setof input parameters is greatly simplified compared toprevious work (Edmunds et al 2012b) The flexi-bility of using tree maps to select individual clustersof interest is invaluable to the domain engineer Thevisual and contextual feedback this approach affordsis relevant to the domain engineerrsquos work flow Thedomain engineer can derive the input then visualisethe precise features of interest The focus and contextnature of the clustering combined with the stream sur-faces re-enforce the visual feedback providing an in-tuitive and meaningful environment focusing on dataexploration When selecting areas of interest the pre-vious algorithm in (Edmunds et al 2012b) performedpoorly when applied to the marine turbine data Thismay be the result of insignificant flow characteristicswithin the vector field The seed locations became toodense when trying to capture the particular areas of in-terest resulting in a cluttered incomprehensible visu-alisation In contrast the interaction in our approachenabled the domain engineer to select precisely thelocation to place stream surfaces for a more focusedevaluation In contrast to the work by (Edmunds et al2011) we generate seeding curves on the boundary ofa seeding cuboid fitted to a cluster in euclidean spaceThis enables very localised exploration of the flowfield We also modify the scalar field computationThis has the effect of producing a smoother transitionbetween the range of isovalues

Domain expert feedback This work is carried outin close collaboration with a team of CFD expertsOne of the goals of this work is to provide CFD ex-perts with a visual interface and tools for interac-tive exploration of multi-field unstructured CFD dataSpecifically interactive selection of specific areas ofinterest the combined visualisation of flow and dif-ferent CFD data fields visualisation of the evolutionof the flow This section summarises their feedbackThe interactive stream surface placement method de-scribed in this paper is unique compared to similarapproaches evaluated previously in that it facilitates

a much greater level of control to the user over theplacement of streamed surfaces One particularly use-ful feature is the ability of the user to precisely isolatedifferent regions of the domain and evaluate them in-dividually Furthermore user access to the tree mapprovides a useful added feature promoting control in-formation feedback and enabling the user to evaluatethe sensitivity of different fields of the data In thecontext of multiple marine turbine arrays with somelevel of repetition in the array layout this is usefulas it avoids repetition of stream surface features thatmay occur around similarly spaced turbines within thelayout Furthermore the ability to individually con-trol the illustrative techniques of a number of streamsurfaces within the same region of the domain en-ables the user to tweak the final image to improveclarity and focus attention on certain layers Thiswork provides valuable insight into the domain expertCFD data as visualisation tools rarely come equippedwith quantitative analysis features which are usuallyof more use to engineers

6 ConclusionsThe goal of this work is to improve computational

performance memory footprint exploratory flexibil-ity robustness of flow visualisation across differentmulti-field flow data including unstructured data andintuitive feedback on the fly in an interactive envi-ronment for detailed examination of the multi-fielddata We improve the performance and memory us-age while providing an environment and tools for thedomain engineer to visualise multi-field CFD dataWe demonstrate a novel application of k-means andDBSCAN clustering to provide focus and contextualinformation when combined with tree map interac-tion The fast performance brings vector field clus-tering a large step forward towards clustering of un-steady flow data The novel use of a seeding cuboidfitted to clusters for the placement of stream sur-faces provides intuitive feedback about the evolutionof the selected attributes both upstream and down-stream from the location of interest We compare andcontrast with other recent work in this field provid-ing feedback from domain experts utilising our frame-work who conclude that this technique is a signifi-cant improvement over recent work in this area Dur-ing our study we examined the possibility of utilis-ing multi-field clustering with the intent of removingthe need for the user to select a data field of interestBecause within our target domain the various datafields are dependant data multi-field clustering doesnot produce results significantly different from clus-tering a single field The domain experts preferredthe flexibility of selecting the fields of interest

REFERENCES

Bavoli L and Myers K (2008) Order Independent Trans-parency with Dual Depth Peeling NVIDIA DeveloperSDK 10 5

Bock H-H (2007) Clustering Methods A History ofk-Means Algorithms In Brito P Cucumel GBertrand P and Carvalho F editors Selected Con-tributions in Data Analysis and Classification Stud-ies in Classification Data Analysis and KnowledgeOrganization pages 161ndash172 Springer Berlin Heidel-berg 2 3

Born S Wiebel A Friedrich J Scheuermann G andBartz D (2010) Illustrative Stream Surfaces IEEETransactions on Visualization and Computer Graph-ics 16(6)1329ndash1338 6

Bruls M Huizing K and Van Wijk J (2000) Squar-ified treemaps In Data Visualization pages 33ndash42Citeseer 2 4

Camarri S Salvetti M-V Buffoni M and Iollo A(2005) Simulation of the three-dimensional flowaround a square cylinder between parallel walls atmoderate Reynolds numbers In XVII Congresso diMeccanica Teorica ed Applicata 5

Edmunds M Laramee R Chen G Zhang E and MaxN (2012a) Advanced Automatic Stream SurfaceSeeding and Filtering In Theory and Practice of Com-puter Graphics pages 53ndash60 1

Edmunds M Laramee R Malki R Masters I CroftT Chen G and Zhang E (2012b) AutomaticStream Surface Seeding A Feature Centered Ap-proach Computer Graphics Forum 31(32)1095ndash1104 1 2 5 6 7

Edmunds M Laramee R S Chen G Max N ZhangE and Ware C (2012c) Surface-Based Flow Visu-alization Computers amp Graphics 36(8)974 ndash 9902

Edmunds M McLoughlin T Laramee R S Chen GZhang E and Max N (2011) Automatic StreamSurfaces Seeding In EUROGRAPHICS 2011 ShortPapers pages 53ndash56 Llandudno Wales UK 1 5 7

Ester M Kriegel H Sander J and Xu X (1996) ADensity-Based Algorithm for Discovering Clusters inLarge Spatial Databases with Noise In Proceedings ofthe 2nd International Conference on Knowledge Dis-covery and Data mining volume 1996 pages 226ndash231 AAAI Press 1 2 3

Hultquist J P M (1992) Constructing Stream Surfaces inSteady 3D Vector Fields In Proceedings IEEE Visu-alization rsquo92 pages 171ndash178 5

Hummel M Garth C Hamann B Hagen H and Joy K(2010) IRIS Illustrative Rendering for Integral Sur-faces IEEE Transactions on Visualization and Com-puter Graphics 16(6)1319ndash1328 6

Johnson B and Shneiderman B (1991) Tree-maps ASpace-Filling Approach to the Visualization of Hier-archical Information Structures In Proceedings of the2nd conference on Visualization rsquo91 VIS rsquo91 pages284ndash291 Los Alamitos CA USA IEEE ComputerSociety Press 2 4

Jolliffe I (2005) Principal Component Analysis WileyOnline Library 4

Kehrer J and Hauser H (2012) Visualization and Vi-sual Analysis of Multi-faceted Scientific Data A Sur-vey IEEE Transactions on Visualization and Com-puter Graphics 4

Kogan J (2007) Introduction to Clustering Large andHigh-Dimensional Data Cambridge University Press2 3

Malki R Williams A Togneri M and Masters I(2012) A Coupled Blade Element Momentum Com-putational Fluid Dynamics Model for Evaluating TidalStream Turbine Performance Applied MathematicalModelling Available online 16 August 2012 6

Masters I Chapman J Orme J and Willis M (2011) ARobust Blade Element Momentum Theory Model ForTidal Stream Turbines Including Tip And Hub LossCorrections Proceedings of the Institute of MarineEngineering Science and Technology Part A Journalof Marine Engineering and Technology 10(1)25ndash356

Moller T and Haines E (2002) Real-Time Rendering AK Peters Limited 2 edition 5

Peng Z Grundy E Laramee R S Chen G and CroftN (2012) Mesh-Driven Vector Field Clustering andVisualization An Image-Based Approach IEEETransactions on Visualization and Computer Graph-ics 18(2)283ndash298 1

Reinders K F J (2001) Feature-Based Visualisation ofTime-Dependant Data Technische Universiteit Delft4

Shneiderman B (1992) Tree Visualization with Tree-Maps 2-d Space-Filling Approach ACM TransGraph 11(1)92ndash99 2 4

Stroud K and Booth D (2001) Engineering MathematicsIndustrial Press Inc 4

Tecplot Tecplot 360 httpwwwtecplotcom Ac-cessed March 2013 6

Telea A and van Wijk J J (1999) Simplified Represen-tation of Vector Fields In Proceedings IEEE Visual-ization rsquo99 pages 35ndash42 2

Van Wijk J and Van De Wetering H (1999) Cushiontreemaps Visualization of hierarchical informationIn Information Visualization 1999(Info Visrsquo 99) Pro-ceedings 1999 IEEE Symposium on pages 73ndash78IEEE 2

von Funck W Weinkauf T Theisel H and SeidelH-P (2008) Smoke surfaces An interactive flowvisualization technique inspired by real-world flowexperiments IEEE Transactions on Visualizationand Computer Graphics (Proceedings Visualization2008) 14(6)1396ndash1403 3 5

Ward M Grinstein G and Keim D (2010) InteractiveData Visualization A K Peters 2

Watson D F (1992) Contouring Pergamon Press 5Xu R Wunsch D et al (2005) Survey of Clustering

Algorithms Neural Networks IEEE Transactions on16(3)645ndash678 2

  • Introduction
  • Related Work
  • Interactive Surface Placement
    • K-Means Clustering
    • DBSCAN Clustering
    • Cluster Selection with Tree Maps
    • Cluster Attribute Computation
    • Seeding Cuboid
    • Surface ConstructionRendering
      • Results
      • Evaluation
      • Conclusions
Page 6: Interactive Stream Surface Placement: A Hybrid Clustering ...chengu/Publications/3DFlowVis/... · 3.Next we build a hierarchical tree with k-means clusters as inner nodes, and the

ter mean (in this case mean velocity of the cluster) arange of information can be inferred Combined withthe visual representation in the main view this aidsthe user in the selection of a cluster of interest Theselected cluster is a sub-cluster with a mean velocityof 071 ms and a range of 058 ms to 078 ms SeeFigure 4 In the final visualisation in Figure 5 afterthe surfaces are propagated from the seeding cuboidit can be seen how the area of interest interacts withthe upstream and downstream flow An isovalue of095 is used to generate the seeding curves

Visualisation of Marine Turbine CFD SimulationA marine turbine makes use of kinetic energy avail-able in moving water similar in concept to a windturbine being powered by the wind This applica-tion is gaining popularity due to the relative advan-tages marine turbines offer Modelling and simulationare carried out to investigate how the flow past a ma-rine turbine is affected and thus develop a better andmore efficient marine turbine system The engineersresearching this field are investigating the system ofturbine arrays and their interaction with each otherin different spatial arrangements The velocity wakeflowing downstream of a marine turbine may inter-act with the downstream turbines The goal is to findthe optimal layout to pack the turbines into a givenspace and maximise the energy output while manag-ing the environmental effect and durability (Masterset al 2011) (Malki et al 2012) The velocity wakeand pressure can have a major impact on the envi-ronment and the marine turbines The marine turbinemulti-field data is defined on an unstructured irregulargrid For the clustering process pressure data is cho-sen for the input The number of means are five A setof sub-clusters are selected and an isovalue of 005 isused to generate the seeding curves The final visual-isation can be seen demonstrating an optimal solutionfor the array layout See Figure 6 We also illustratea sub-optimal layout where the turbine wake signifi-cantly interferes with neighbouring and downstreamturbines See Figure 7

Figure 5 This visualisation demonstrates stream surfacesseeded from the locations illustrated in Figure 4 We capturethe singularity at the centre of a double vortex downstreamof the cuboid The surfaces are rendered with illustrativetechniques to enhance the perception Colour is mapped tovelocity see inset colour map histogram

Figure 6 This visualisation demonstrates stream surfacesseeded from the clusters situated in front of the turbineblades Pressure is used for the clustering while colouris mapped to velocity which enables tracking the velocitywake edge effect on neighbouring and downstream marineturbines

5 EvaluationTo evaluate our work we compare and contrast

with recent work in this area Our algorithm performswell when compared to the hierarchical clustering of(Edmunds et al 2012b) The hierarchical clusteringis O(n2) compared with our algorithm O(i middot k middot n)and O(n middot logn) for the k-means and DBSCAN clus-tering respectively Our algorithm is implemented inC++ and QT4 on a PC with an NVIDIA GeForceGTX480 an Intel quad core 28GHz CPU with 8GBRAM The bottleneck in the performance of our al-gorithm is the clustering as seen in Table 1 Thetime for tree map generation is in the 7-65[ms] rangeThe calculation of the cluster attributes and seedingcuboid fitting is in the 18-174[ms] range The per-formance of stream surface rendering is comparableto previous work eg (Born et al 2010) (Hummelet al 2010) and (Edmunds et al 2012b) The mem-ory usage for our approach is proportional to the sizeof the data set eg n where n is the number of ini-tial samples We store only one integer per vertex toreference which cluster it belongs to The hierarchi-cal approach stores vector data location data clus-ter size data cumulative error data and neighbour-hoodconnectivity information at each node in the bi-nary tree The quantity of nodes is 2nminus1 The hybridclustering approach is generally one order of magni-tude faster than its predecessor The input to our al-gorithm is the selection of which data field to clusterthe number of centroids (calculated from the required

Clustering PerformanceData Nodes NoMeans Time[ms] Time[ms]Cuboid 192x64x48 5 487 6898Turbine 3693867 5 5923 naIsabel 5002x100 5 30724 542452

Table 1 Clustering performance of a range of simulationsAll are regular grid data except the Turbine data which isan unstructured tetrahedral grid outputted from Tecplot 360(Tecplot ) For consistency we use 5 means for the timingsNote For reference the last column contains comparativetimes from (Edmunds et al 2012b)

Figure 7 This visualisation illustrate a sub-optimal layoutVelocity spikes can be seen neighbouring the downstreamturbine We use the same parameters as in Figure 6

attribute ranges by domain engineer) and a seedingcuboid isovalue of 005 05 or 095 (outflow bound-ary switch curves and inflow respectively) This setof input parameters is greatly simplified compared toprevious work (Edmunds et al 2012b) The flexi-bility of using tree maps to select individual clustersof interest is invaluable to the domain engineer Thevisual and contextual feedback this approach affordsis relevant to the domain engineerrsquos work flow Thedomain engineer can derive the input then visualisethe precise features of interest The focus and contextnature of the clustering combined with the stream sur-faces re-enforce the visual feedback providing an in-tuitive and meaningful environment focusing on dataexploration When selecting areas of interest the pre-vious algorithm in (Edmunds et al 2012b) performedpoorly when applied to the marine turbine data Thismay be the result of insignificant flow characteristicswithin the vector field The seed locations became toodense when trying to capture the particular areas of in-terest resulting in a cluttered incomprehensible visu-alisation In contrast the interaction in our approachenabled the domain engineer to select precisely thelocation to place stream surfaces for a more focusedevaluation In contrast to the work by (Edmunds et al2011) we generate seeding curves on the boundary ofa seeding cuboid fitted to a cluster in euclidean spaceThis enables very localised exploration of the flowfield We also modify the scalar field computationThis has the effect of producing a smoother transitionbetween the range of isovalues

Domain expert feedback This work is carried outin close collaboration with a team of CFD expertsOne of the goals of this work is to provide CFD ex-perts with a visual interface and tools for interac-tive exploration of multi-field unstructured CFD dataSpecifically interactive selection of specific areas ofinterest the combined visualisation of flow and dif-ferent CFD data fields visualisation of the evolutionof the flow This section summarises their feedbackThe interactive stream surface placement method de-scribed in this paper is unique compared to similarapproaches evaluated previously in that it facilitates

a much greater level of control to the user over theplacement of streamed surfaces One particularly use-ful feature is the ability of the user to precisely isolatedifferent regions of the domain and evaluate them in-dividually Furthermore user access to the tree mapprovides a useful added feature promoting control in-formation feedback and enabling the user to evaluatethe sensitivity of different fields of the data In thecontext of multiple marine turbine arrays with somelevel of repetition in the array layout this is usefulas it avoids repetition of stream surface features thatmay occur around similarly spaced turbines within thelayout Furthermore the ability to individually con-trol the illustrative techniques of a number of streamsurfaces within the same region of the domain en-ables the user to tweak the final image to improveclarity and focus attention on certain layers Thiswork provides valuable insight into the domain expertCFD data as visualisation tools rarely come equippedwith quantitative analysis features which are usuallyof more use to engineers

6 ConclusionsThe goal of this work is to improve computational

performance memory footprint exploratory flexibil-ity robustness of flow visualisation across differentmulti-field flow data including unstructured data andintuitive feedback on the fly in an interactive envi-ronment for detailed examination of the multi-fielddata We improve the performance and memory us-age while providing an environment and tools for thedomain engineer to visualise multi-field CFD dataWe demonstrate a novel application of k-means andDBSCAN clustering to provide focus and contextualinformation when combined with tree map interac-tion The fast performance brings vector field clus-tering a large step forward towards clustering of un-steady flow data The novel use of a seeding cuboidfitted to clusters for the placement of stream sur-faces provides intuitive feedback about the evolutionof the selected attributes both upstream and down-stream from the location of interest We compare andcontrast with other recent work in this field provid-ing feedback from domain experts utilising our frame-work who conclude that this technique is a signifi-cant improvement over recent work in this area Dur-ing our study we examined the possibility of utilis-ing multi-field clustering with the intent of removingthe need for the user to select a data field of interestBecause within our target domain the various datafields are dependant data multi-field clustering doesnot produce results significantly different from clus-tering a single field The domain experts preferredthe flexibility of selecting the fields of interest

REFERENCES

Bavoli L and Myers K (2008) Order Independent Trans-parency with Dual Depth Peeling NVIDIA DeveloperSDK 10 5

Bock H-H (2007) Clustering Methods A History ofk-Means Algorithms In Brito P Cucumel GBertrand P and Carvalho F editors Selected Con-tributions in Data Analysis and Classification Stud-ies in Classification Data Analysis and KnowledgeOrganization pages 161ndash172 Springer Berlin Heidel-berg 2 3

Born S Wiebel A Friedrich J Scheuermann G andBartz D (2010) Illustrative Stream Surfaces IEEETransactions on Visualization and Computer Graph-ics 16(6)1329ndash1338 6

Bruls M Huizing K and Van Wijk J (2000) Squar-ified treemaps In Data Visualization pages 33ndash42Citeseer 2 4

Camarri S Salvetti M-V Buffoni M and Iollo A(2005) Simulation of the three-dimensional flowaround a square cylinder between parallel walls atmoderate Reynolds numbers In XVII Congresso diMeccanica Teorica ed Applicata 5

Edmunds M Laramee R Chen G Zhang E and MaxN (2012a) Advanced Automatic Stream SurfaceSeeding and Filtering In Theory and Practice of Com-puter Graphics pages 53ndash60 1

Edmunds M Laramee R Malki R Masters I CroftT Chen G and Zhang E (2012b) AutomaticStream Surface Seeding A Feature Centered Ap-proach Computer Graphics Forum 31(32)1095ndash1104 1 2 5 6 7

Edmunds M Laramee R S Chen G Max N ZhangE and Ware C (2012c) Surface-Based Flow Visu-alization Computers amp Graphics 36(8)974 ndash 9902

Edmunds M McLoughlin T Laramee R S Chen GZhang E and Max N (2011) Automatic StreamSurfaces Seeding In EUROGRAPHICS 2011 ShortPapers pages 53ndash56 Llandudno Wales UK 1 5 7

Ester M Kriegel H Sander J and Xu X (1996) ADensity-Based Algorithm for Discovering Clusters inLarge Spatial Databases with Noise In Proceedings ofthe 2nd International Conference on Knowledge Dis-covery and Data mining volume 1996 pages 226ndash231 AAAI Press 1 2 3

Hultquist J P M (1992) Constructing Stream Surfaces inSteady 3D Vector Fields In Proceedings IEEE Visu-alization rsquo92 pages 171ndash178 5

Hummel M Garth C Hamann B Hagen H and Joy K(2010) IRIS Illustrative Rendering for Integral Sur-faces IEEE Transactions on Visualization and Com-puter Graphics 16(6)1319ndash1328 6

Johnson B and Shneiderman B (1991) Tree-maps ASpace-Filling Approach to the Visualization of Hier-archical Information Structures In Proceedings of the2nd conference on Visualization rsquo91 VIS rsquo91 pages284ndash291 Los Alamitos CA USA IEEE ComputerSociety Press 2 4

Jolliffe I (2005) Principal Component Analysis WileyOnline Library 4

Kehrer J and Hauser H (2012) Visualization and Vi-sual Analysis of Multi-faceted Scientific Data A Sur-vey IEEE Transactions on Visualization and Com-puter Graphics 4

Kogan J (2007) Introduction to Clustering Large andHigh-Dimensional Data Cambridge University Press2 3

Malki R Williams A Togneri M and Masters I(2012) A Coupled Blade Element Momentum Com-putational Fluid Dynamics Model for Evaluating TidalStream Turbine Performance Applied MathematicalModelling Available online 16 August 2012 6

Masters I Chapman J Orme J and Willis M (2011) ARobust Blade Element Momentum Theory Model ForTidal Stream Turbines Including Tip And Hub LossCorrections Proceedings of the Institute of MarineEngineering Science and Technology Part A Journalof Marine Engineering and Technology 10(1)25ndash356

Moller T and Haines E (2002) Real-Time Rendering AK Peters Limited 2 edition 5

Peng Z Grundy E Laramee R S Chen G and CroftN (2012) Mesh-Driven Vector Field Clustering andVisualization An Image-Based Approach IEEETransactions on Visualization and Computer Graph-ics 18(2)283ndash298 1

Reinders K F J (2001) Feature-Based Visualisation ofTime-Dependant Data Technische Universiteit Delft4

Shneiderman B (1992) Tree Visualization with Tree-Maps 2-d Space-Filling Approach ACM TransGraph 11(1)92ndash99 2 4

Stroud K and Booth D (2001) Engineering MathematicsIndustrial Press Inc 4

Tecplot Tecplot 360 httpwwwtecplotcom Ac-cessed March 2013 6

Telea A and van Wijk J J (1999) Simplified Represen-tation of Vector Fields In Proceedings IEEE Visual-ization rsquo99 pages 35ndash42 2

Van Wijk J and Van De Wetering H (1999) Cushiontreemaps Visualization of hierarchical informationIn Information Visualization 1999(Info Visrsquo 99) Pro-ceedings 1999 IEEE Symposium on pages 73ndash78IEEE 2

von Funck W Weinkauf T Theisel H and SeidelH-P (2008) Smoke surfaces An interactive flowvisualization technique inspired by real-world flowexperiments IEEE Transactions on Visualizationand Computer Graphics (Proceedings Visualization2008) 14(6)1396ndash1403 3 5

Ward M Grinstein G and Keim D (2010) InteractiveData Visualization A K Peters 2

Watson D F (1992) Contouring Pergamon Press 5Xu R Wunsch D et al (2005) Survey of Clustering

Algorithms Neural Networks IEEE Transactions on16(3)645ndash678 2

  • Introduction
  • Related Work
  • Interactive Surface Placement
    • K-Means Clustering
    • DBSCAN Clustering
    • Cluster Selection with Tree Maps
    • Cluster Attribute Computation
    • Seeding Cuboid
    • Surface ConstructionRendering
      • Results
      • Evaluation
      • Conclusions
Page 7: Interactive Stream Surface Placement: A Hybrid Clustering ...chengu/Publications/3DFlowVis/... · 3.Next we build a hierarchical tree with k-means clusters as inner nodes, and the

Figure 7 This visualisation illustrate a sub-optimal layoutVelocity spikes can be seen neighbouring the downstreamturbine We use the same parameters as in Figure 6

attribute ranges by domain engineer) and a seedingcuboid isovalue of 005 05 or 095 (outflow bound-ary switch curves and inflow respectively) This setof input parameters is greatly simplified compared toprevious work (Edmunds et al 2012b) The flexi-bility of using tree maps to select individual clustersof interest is invaluable to the domain engineer Thevisual and contextual feedback this approach affordsis relevant to the domain engineerrsquos work flow Thedomain engineer can derive the input then visualisethe precise features of interest The focus and contextnature of the clustering combined with the stream sur-faces re-enforce the visual feedback providing an in-tuitive and meaningful environment focusing on dataexploration When selecting areas of interest the pre-vious algorithm in (Edmunds et al 2012b) performedpoorly when applied to the marine turbine data Thismay be the result of insignificant flow characteristicswithin the vector field The seed locations became toodense when trying to capture the particular areas of in-terest resulting in a cluttered incomprehensible visu-alisation In contrast the interaction in our approachenabled the domain engineer to select precisely thelocation to place stream surfaces for a more focusedevaluation In contrast to the work by (Edmunds et al2011) we generate seeding curves on the boundary ofa seeding cuboid fitted to a cluster in euclidean spaceThis enables very localised exploration of the flowfield We also modify the scalar field computationThis has the effect of producing a smoother transitionbetween the range of isovalues

Domain expert feedback This work is carried outin close collaboration with a team of CFD expertsOne of the goals of this work is to provide CFD ex-perts with a visual interface and tools for interac-tive exploration of multi-field unstructured CFD dataSpecifically interactive selection of specific areas ofinterest the combined visualisation of flow and dif-ferent CFD data fields visualisation of the evolutionof the flow This section summarises their feedbackThe interactive stream surface placement method de-scribed in this paper is unique compared to similarapproaches evaluated previously in that it facilitates

a much greater level of control to the user over theplacement of streamed surfaces One particularly use-ful feature is the ability of the user to precisely isolatedifferent regions of the domain and evaluate them in-dividually Furthermore user access to the tree mapprovides a useful added feature promoting control in-formation feedback and enabling the user to evaluatethe sensitivity of different fields of the data In thecontext of multiple marine turbine arrays with somelevel of repetition in the array layout this is usefulas it avoids repetition of stream surface features thatmay occur around similarly spaced turbines within thelayout Furthermore the ability to individually con-trol the illustrative techniques of a number of streamsurfaces within the same region of the domain en-ables the user to tweak the final image to improveclarity and focus attention on certain layers Thiswork provides valuable insight into the domain expertCFD data as visualisation tools rarely come equippedwith quantitative analysis features which are usuallyof more use to engineers

6 ConclusionsThe goal of this work is to improve computational

performance memory footprint exploratory flexibil-ity robustness of flow visualisation across differentmulti-field flow data including unstructured data andintuitive feedback on the fly in an interactive envi-ronment for detailed examination of the multi-fielddata We improve the performance and memory us-age while providing an environment and tools for thedomain engineer to visualise multi-field CFD dataWe demonstrate a novel application of k-means andDBSCAN clustering to provide focus and contextualinformation when combined with tree map interac-tion The fast performance brings vector field clus-tering a large step forward towards clustering of un-steady flow data The novel use of a seeding cuboidfitted to clusters for the placement of stream sur-faces provides intuitive feedback about the evolutionof the selected attributes both upstream and down-stream from the location of interest We compare andcontrast with other recent work in this field provid-ing feedback from domain experts utilising our frame-work who conclude that this technique is a signifi-cant improvement over recent work in this area Dur-ing our study we examined the possibility of utilis-ing multi-field clustering with the intent of removingthe need for the user to select a data field of interestBecause within our target domain the various datafields are dependant data multi-field clustering doesnot produce results significantly different from clus-tering a single field The domain experts preferredthe flexibility of selecting the fields of interest

REFERENCES

Bavoli L and Myers K (2008) Order Independent Trans-parency with Dual Depth Peeling NVIDIA DeveloperSDK 10 5

Bock H-H (2007) Clustering Methods A History ofk-Means Algorithms In Brito P Cucumel GBertrand P and Carvalho F editors Selected Con-tributions in Data Analysis and Classification Stud-ies in Classification Data Analysis and KnowledgeOrganization pages 161ndash172 Springer Berlin Heidel-berg 2 3

Born S Wiebel A Friedrich J Scheuermann G andBartz D (2010) Illustrative Stream Surfaces IEEETransactions on Visualization and Computer Graph-ics 16(6)1329ndash1338 6

Bruls M Huizing K and Van Wijk J (2000) Squar-ified treemaps In Data Visualization pages 33ndash42Citeseer 2 4

Camarri S Salvetti M-V Buffoni M and Iollo A(2005) Simulation of the three-dimensional flowaround a square cylinder between parallel walls atmoderate Reynolds numbers In XVII Congresso diMeccanica Teorica ed Applicata 5

Edmunds M Laramee R Chen G Zhang E and MaxN (2012a) Advanced Automatic Stream SurfaceSeeding and Filtering In Theory and Practice of Com-puter Graphics pages 53ndash60 1

Edmunds M Laramee R Malki R Masters I CroftT Chen G and Zhang E (2012b) AutomaticStream Surface Seeding A Feature Centered Ap-proach Computer Graphics Forum 31(32)1095ndash1104 1 2 5 6 7

Edmunds M Laramee R S Chen G Max N ZhangE and Ware C (2012c) Surface-Based Flow Visu-alization Computers amp Graphics 36(8)974 ndash 9902

Edmunds M McLoughlin T Laramee R S Chen GZhang E and Max N (2011) Automatic StreamSurfaces Seeding In EUROGRAPHICS 2011 ShortPapers pages 53ndash56 Llandudno Wales UK 1 5 7

Ester M Kriegel H Sander J and Xu X (1996) ADensity-Based Algorithm for Discovering Clusters inLarge Spatial Databases with Noise In Proceedings ofthe 2nd International Conference on Knowledge Dis-covery and Data mining volume 1996 pages 226ndash231 AAAI Press 1 2 3

Hultquist J P M (1992) Constructing Stream Surfaces inSteady 3D Vector Fields In Proceedings IEEE Visu-alization rsquo92 pages 171ndash178 5

Hummel M Garth C Hamann B Hagen H and Joy K(2010) IRIS Illustrative Rendering for Integral Sur-faces IEEE Transactions on Visualization and Com-puter Graphics 16(6)1319ndash1328 6

Johnson B and Shneiderman B (1991) Tree-maps ASpace-Filling Approach to the Visualization of Hier-archical Information Structures In Proceedings of the2nd conference on Visualization rsquo91 VIS rsquo91 pages284ndash291 Los Alamitos CA USA IEEE ComputerSociety Press 2 4

Jolliffe I (2005) Principal Component Analysis WileyOnline Library 4

Kehrer J and Hauser H (2012) Visualization and Vi-sual Analysis of Multi-faceted Scientific Data A Sur-vey IEEE Transactions on Visualization and Com-puter Graphics 4

Kogan J (2007) Introduction to Clustering Large andHigh-Dimensional Data Cambridge University Press2 3

Malki R Williams A Togneri M and Masters I(2012) A Coupled Blade Element Momentum Com-putational Fluid Dynamics Model for Evaluating TidalStream Turbine Performance Applied MathematicalModelling Available online 16 August 2012 6

Masters I Chapman J Orme J and Willis M (2011) ARobust Blade Element Momentum Theory Model ForTidal Stream Turbines Including Tip And Hub LossCorrections Proceedings of the Institute of MarineEngineering Science and Technology Part A Journalof Marine Engineering and Technology 10(1)25ndash356

Moller T and Haines E (2002) Real-Time Rendering AK Peters Limited 2 edition 5

Peng Z Grundy E Laramee R S Chen G and CroftN (2012) Mesh-Driven Vector Field Clustering andVisualization An Image-Based Approach IEEETransactions on Visualization and Computer Graph-ics 18(2)283ndash298 1

Reinders K F J (2001) Feature-Based Visualisation ofTime-Dependant Data Technische Universiteit Delft4

Shneiderman B (1992) Tree Visualization with Tree-Maps 2-d Space-Filling Approach ACM TransGraph 11(1)92ndash99 2 4

Stroud K and Booth D (2001) Engineering MathematicsIndustrial Press Inc 4

Tecplot Tecplot 360 httpwwwtecplotcom Ac-cessed March 2013 6

Telea A and van Wijk J J (1999) Simplified Represen-tation of Vector Fields In Proceedings IEEE Visual-ization rsquo99 pages 35ndash42 2

Van Wijk J and Van De Wetering H (1999) Cushiontreemaps Visualization of hierarchical informationIn Information Visualization 1999(Info Visrsquo 99) Pro-ceedings 1999 IEEE Symposium on pages 73ndash78IEEE 2

von Funck W Weinkauf T Theisel H and SeidelH-P (2008) Smoke surfaces An interactive flowvisualization technique inspired by real-world flowexperiments IEEE Transactions on Visualizationand Computer Graphics (Proceedings Visualization2008) 14(6)1396ndash1403 3 5

Ward M Grinstein G and Keim D (2010) InteractiveData Visualization A K Peters 2

Watson D F (1992) Contouring Pergamon Press 5Xu R Wunsch D et al (2005) Survey of Clustering

Algorithms Neural Networks IEEE Transactions on16(3)645ndash678 2

  • Introduction
  • Related Work
  • Interactive Surface Placement
    • K-Means Clustering
    • DBSCAN Clustering
    • Cluster Selection with Tree Maps
    • Cluster Attribute Computation
    • Seeding Cuboid
    • Surface ConstructionRendering
      • Results
      • Evaluation
      • Conclusions
Page 8: Interactive Stream Surface Placement: A Hybrid Clustering ...chengu/Publications/3DFlowVis/... · 3.Next we build a hierarchical tree with k-means clusters as inner nodes, and the

REFERENCES

Bavoli L and Myers K (2008) Order Independent Trans-parency with Dual Depth Peeling NVIDIA DeveloperSDK 10 5

Bock H-H (2007) Clustering Methods A History ofk-Means Algorithms In Brito P Cucumel GBertrand P and Carvalho F editors Selected Con-tributions in Data Analysis and Classification Stud-ies in Classification Data Analysis and KnowledgeOrganization pages 161ndash172 Springer Berlin Heidel-berg 2 3

Born S Wiebel A Friedrich J Scheuermann G andBartz D (2010) Illustrative Stream Surfaces IEEETransactions on Visualization and Computer Graph-ics 16(6)1329ndash1338 6

Bruls M Huizing K and Van Wijk J (2000) Squar-ified treemaps In Data Visualization pages 33ndash42Citeseer 2 4

Camarri S Salvetti M-V Buffoni M and Iollo A(2005) Simulation of the three-dimensional flowaround a square cylinder between parallel walls atmoderate Reynolds numbers In XVII Congresso diMeccanica Teorica ed Applicata 5

Edmunds M Laramee R Chen G Zhang E and MaxN (2012a) Advanced Automatic Stream SurfaceSeeding and Filtering In Theory and Practice of Com-puter Graphics pages 53ndash60 1

Edmunds M Laramee R Malki R Masters I CroftT Chen G and Zhang E (2012b) AutomaticStream Surface Seeding A Feature Centered Ap-proach Computer Graphics Forum 31(32)1095ndash1104 1 2 5 6 7

Edmunds M Laramee R S Chen G Max N ZhangE and Ware C (2012c) Surface-Based Flow Visu-alization Computers amp Graphics 36(8)974 ndash 9902

Edmunds M McLoughlin T Laramee R S Chen GZhang E and Max N (2011) Automatic StreamSurfaces Seeding In EUROGRAPHICS 2011 ShortPapers pages 53ndash56 Llandudno Wales UK 1 5 7

Ester M Kriegel H Sander J and Xu X (1996) ADensity-Based Algorithm for Discovering Clusters inLarge Spatial Databases with Noise In Proceedings ofthe 2nd International Conference on Knowledge Dis-covery and Data mining volume 1996 pages 226ndash231 AAAI Press 1 2 3

Hultquist J P M (1992) Constructing Stream Surfaces inSteady 3D Vector Fields In Proceedings IEEE Visu-alization rsquo92 pages 171ndash178 5

Hummel M Garth C Hamann B Hagen H and Joy K(2010) IRIS Illustrative Rendering for Integral Sur-faces IEEE Transactions on Visualization and Com-puter Graphics 16(6)1319ndash1328 6

Johnson B and Shneiderman B (1991) Tree-maps ASpace-Filling Approach to the Visualization of Hier-archical Information Structures In Proceedings of the2nd conference on Visualization rsquo91 VIS rsquo91 pages284ndash291 Los Alamitos CA USA IEEE ComputerSociety Press 2 4

Jolliffe I (2005) Principal Component Analysis WileyOnline Library 4

Kehrer J and Hauser H (2012) Visualization and Vi-sual Analysis of Multi-faceted Scientific Data A Sur-vey IEEE Transactions on Visualization and Com-puter Graphics 4

Kogan J (2007) Introduction to Clustering Large andHigh-Dimensional Data Cambridge University Press2 3

Malki R Williams A Togneri M and Masters I(2012) A Coupled Blade Element Momentum Com-putational Fluid Dynamics Model for Evaluating TidalStream Turbine Performance Applied MathematicalModelling Available online 16 August 2012 6

Masters I Chapman J Orme J and Willis M (2011) ARobust Blade Element Momentum Theory Model ForTidal Stream Turbines Including Tip And Hub LossCorrections Proceedings of the Institute of MarineEngineering Science and Technology Part A Journalof Marine Engineering and Technology 10(1)25ndash356

Moller T and Haines E (2002) Real-Time Rendering AK Peters Limited 2 edition 5

Peng Z Grundy E Laramee R S Chen G and CroftN (2012) Mesh-Driven Vector Field Clustering andVisualization An Image-Based Approach IEEETransactions on Visualization and Computer Graph-ics 18(2)283ndash298 1

Reinders K F J (2001) Feature-Based Visualisation ofTime-Dependant Data Technische Universiteit Delft4

Shneiderman B (1992) Tree Visualization with Tree-Maps 2-d Space-Filling Approach ACM TransGraph 11(1)92ndash99 2 4

Stroud K and Booth D (2001) Engineering MathematicsIndustrial Press Inc 4

Tecplot Tecplot 360 httpwwwtecplotcom Ac-cessed March 2013 6

Telea A and van Wijk J J (1999) Simplified Represen-tation of Vector Fields In Proceedings IEEE Visual-ization rsquo99 pages 35ndash42 2

Van Wijk J and Van De Wetering H (1999) Cushiontreemaps Visualization of hierarchical informationIn Information Visualization 1999(Info Visrsquo 99) Pro-ceedings 1999 IEEE Symposium on pages 73ndash78IEEE 2

von Funck W Weinkauf T Theisel H and SeidelH-P (2008) Smoke surfaces An interactive flowvisualization technique inspired by real-world flowexperiments IEEE Transactions on Visualizationand Computer Graphics (Proceedings Visualization2008) 14(6)1396ndash1403 3 5

Ward M Grinstein G and Keim D (2010) InteractiveData Visualization A K Peters 2

Watson D F (1992) Contouring Pergamon Press 5Xu R Wunsch D et al (2005) Survey of Clustering

Algorithms Neural Networks IEEE Transactions on16(3)645ndash678 2

  • Introduction
  • Related Work
  • Interactive Surface Placement
    • K-Means Clustering
    • DBSCAN Clustering
    • Cluster Selection with Tree Maps
    • Cluster Attribute Computation
    • Seeding Cuboid
    • Surface ConstructionRendering
      • Results
      • Evaluation
      • Conclusions