Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visualization Programming: “Libraries” and “Toolkits” Class visualization resources CSCI 6361.

Similar presentations


Presentation on theme: "Visualization Programming: “Libraries” and “Toolkits” Class visualization resources CSCI 6361."— Presentation transcript:

1 Visualization Programming: “Libraries” and “Toolkits” Class visualization resources CSCI 6361

2 Visualization, Programming, and Interactive Systems For visualization, humans interact with computers primarily through displays In fact, lots of things going on that are part of the whole context of visualization, humans, and computing –Human –Interaction Style, characterization, design –Programming systems Other UTPA CS courses: –CSCI 6360: Graphics –CSCI 6363: Human Computer Interaction

3 About “Libraries” and “Toolkits” Which we’ll look at for visualization It is, of course, possible to program visual representations using just a language and its primitives for visualization –E.g., just c/c++, java, visual basic or c/c++ and opengl, java and jogl, etc. to create, e.g., graphs, trees, tables However, many of the same visual representations are used “often”, e.g., charts scatterplots, but not often enough to be a language primitive Libraries, or toolkits, provide a means to access these “often” used elements, focused on a domain –e.g., D3 and vtk for visualization, Qt for interface design Such “libraries” and “toolkits” are effectively another software layer –Some closer to the native language than others –Loosely stated, those “closer” to the native language are more flexible, but may trade off ease of use

4 “Libraries” and “Toolkits” for visualization D3 –Java, javascript, etc. based toolkit for many VTK –Allows recompilation to extend, access OpenGL, win system –Close to language, robust, established/static, many file formats supported, vis techniques oriented to “scientific” visualization Others –Class web site: http://faculty.utpa.edu/fowler/csci6361/index.htmlhttp://faculty.utpa.edu/fowler/csci6361/index.html

5 “Libraries” and “Toolkits” prefuse Toolkit in Java for building information visualizations Fine-grained building blocks for constructing visualizations (as opposed to pre-made views) Data model is a graph (entities & relations) Includes library of layout algorithms, navigation and interaction techniques Written in Java2d

6 “Libraries” and “Toolkits” prefuse

7 “Libraries” and “Toolkits” D3 – Data-Driven Documents Javascript-based Very similar to Protovis… –Except use web standardse.g., Scalable Vector Graphics (SVG) vs. proprietary graphics set –Declarative Syntax like Protovis Creating/Modifying selections of the HTML DOM Good support for changing data –Takes advantage of CSS3 Transformations and Transitions Integrates seamlessly into any webpage

8 “Libraries” and “Toolkits” D3 – Data-Driven Documents https://github.com/mbostock/d3/wiki/Gallery, selectable exampleshttps://github.com/mbostock/d3/wiki/Gallery

9 “Libraries” and “Toolkits” IBM’s Many Eyes Many Eyes –IBM website –Ease of creating new visualizations –Discuss visualizations –Users upload own data sets –All become public –table or unstructured text –Word tree at right

10 “Libraries” and “Toolkits” Others Piccolo –Graphics toolkit with built-in zooming and panning support –2D Javascript InfoVis Toolkit Tableau Public Processing –Language

11 Software Architecture Abstraction, “languages”, toolkits Abstraction is at the core of computer science and information technology –Have allowed the advances seen in making electronic information systems use E.g., advances in languages –ASM - > early “high level”, e.g., FORTRAN - > structured, Pascal, C - > object-oriented, C++, Java Your (application) program “Application Library” (D3, VTK, … or anything) Graphics Library (OpenGL, DirectX, …) Graphics Hardware (frame buffers, firmware, …) Display (and input) Hardware (screen, mouse, ….) Window System (MS Windows, Apple, Motif)

12 Software Architecture Applications and layers “Applications” are programs –(that programmers write) “Libraries” and software layers have: –Application programmer interfaces (APIs) Your (application) program “Application Library” (D3, VTK, … or anything) Graphics Library (OpenGL, DirectX, …) Graphics Hardware (frame buffers, firmware, …) Display (and input) Hardware (screen, mouse, ….) Window System (MS Windows, Apple, Motif) “Libraries” essentially are higher level, or provide abstractions, for lower levels In fact, interaction among layers

13 Software Architecture Interaction among layers E.g., your program c/c++ or Java program, using, e.g., D3, VTK Uses, e.g., D3 elements, VTK classes Your (application) program “Application Library” (D3, VTK … or anything) Graphics Library (OpenGL, DirectX, …) Graphics Hardware (frame buffers, firmware, …) Display (and input) Hardware (screen, mouse, ….) Window System (MS Windows, Apple, Motif) VTK classes use/call: OpenGL, which accesses Graphics Hardware Also, Window System And input devices, through window system Also, application can access OpenGL and Window System directly

14 Term Programming Project

15 End.


Download ppt "Visualization Programming: “Libraries” and “Toolkits” Class visualization resources CSCI 6361."

Similar presentations


Ads by Google