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

Slides:



Advertisements
Similar presentations
GPGPU Programming Dominik G ö ddeke. 2Overview Choices in GPGPU programming Illustrated CPU vs. GPU step by step example GPU kernels in detail.
Advertisements

Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
IGT-Site, a portable, database driven Web Site tailored to the Requirements of a University by P. Fritz Dr. sc. techn. Division of Geotechnical Engineering.
Multimedia Authoring Tools Jon Ivins DMU. Essence of Multimedia… n Combination and integration of different media elements for presentation via a unified.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
©Silberschatz, Korth and Sudarshan10.1Database System Concepts W3C Activities HTML: is the lingua franca for publishing on the Web XHTML: an XML application.
DSA Processing. Links Processing.org My Processing page Ben Fry Ben Fry’s Thesis on Computational Information DesignThesis Casey Reas siteCasey Reas Casey.
© Anselm SpoerriInfo + Web Tech Course Information Technologies Info + Web Tech Course Anselm Spoerri PhD (MIT) Rutgers University
CMPE 466 COMPUTER GRAPHICS
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
Implementation support CSCI324, IACT403, IACT 931, MCS9324 Human Computer Interfaces.
Hardware (how they work)
What is Web Design The term “web design” has come to encompass a number of disciplines, including: Visual (graphic) design User interface and experience.
Course: Introduction to Computers
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
CSE328:Computer Graphics OpenGL Tutorial Dongli Zhang Department of Computer Science, SBU Department of Computer Science, Stony.
Declarative 3D for the Web Architecture Web3D 2012 Workshop Johannes Behr, Kristian Sons.
Evaluation of HTML5 Graphics for Data Structure Visualization
CSC 142 A 1 CSC 142 Introduction to Java [Reading: chapter 0]
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
Intro. to Game Programming Want to program a game?
CS413: Java Programming language Applications Applets
GIS technologies and Web Mapping Services
14th IEEE-NPSS Real Time Conference 2005, 8 June Stockholm.
CHAPTER 4 Window Creation and Control © 2008 Cengage Learning EMEA.
Introduction to XML cs3505. References –I got most of this presentation from this site –O’reilly tutorials.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
111 © 2002, Cisco Systems, Inc. All rights reserved.
© 2007 Pearson Addison-Wesley. All rights reserved 0-1 Spring(2007) Instructor: Qiong Cheng © 2007 Pearson Addison-Wesley. All rights reserved.
Funded by: European Commission – 6th Framework Project Reference: IST WP 2: Learning Web-service Domain Ontologies Miha Grčar Jožef Stefan.
Tori’s CSE 3 Poster Computational Thinking: Throughout the beginning of our course, we learned as a class so much about computers, along with learning.
Web Accessiblity Carol Gordon SIU Medical Library.
CSC 461: Lecture 41 CSC461: Lecture 4 Introduction to OpenGL Objectives: Development of the OpenGL API OpenGL Architecture -- OpenGL as a state machine.
Chapter 1 The Big Picture.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
Web Services for Satellite Emulation Development Kathy J. LiszkaAllen P. Holtz The University of AkronNASA Glenn Research Center.
ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.
Dale Roberts Introduction to Visual Programming Dale Roberts, Lecturer Computer Science, IUPUI Department of Computer and.
Louisa Lambregts, Louisa Lambregts
Applets Yong Choi School of Business CSU, Bakersfield.
Cs332a_chapt10.ppt CS332A Advanced HTML Programming DHTML Dynamic Hypertext Markup Language A term describing a series of technologies Not a stand-a-lone.
Computer Science and Software Engineering© 2014 Project Lead The Way, Inc. HTML5 Evolving Standards JavaScript.
Andy Dawson– University College London 1 EABH SUMMER SCHOOL Web Page Construction Andy Dawson Department of Information Studies, UCL.
Web Application Programming Presented by: Mehwish Shafiq.
Java 3D Web Apps and Services. Presentation Overview l Java3D Overview l Software l Java3D API l Scene Graph Programming Model l Java3D Terminology l.
CSC1200 INTRODUCTION TO PROGRAMMING Dr. Maureen Markel
Visualization Four groups Design pattern for information visualization
D3 Practicum CS 4460 – Information Visualization Megha Sandesh Prepared under advisement by Dr.Fames Foley.
LBSC 690 Session 4 Programming. Languages How do we learn a language? Learn by listening Then reading Then writing How do we teach programming? Learn.
GTK+
Chapter1 The flash interface and action script 3.0.
Live Project Based Industrial Training SSDN Technologies Pvt. Ltd. Call Us: /
Computer Graphics Lecture 1. Books D. Hearn, M. P. Baker, "Computer Graphics with OpenGL", 3rd Ed., Prentice Hall, 2003, ISBN
TECH RELATED TOPIC PRESENTATION MICROPROCESSOR: CSE341 COURSE INSTRUCTOR DR. JIA UDDIN Assistant Professor Department of Computer Science and Engineering.
Web Accessibility. Why accessibility? "The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect."
Teaching slides Chapter 6. Chapter 6 Software user interface design & construction Contents Introduction Graphical user interface – Rich window based.
DHTML.
Adventures with Computational Thinking
CSCI-235 Micro-Computer Applications
Introduction to HTML.
Software for scientific calculations
CSE 3 – Fall 2015 Sierra Ampudia
Introduction to Internet Programming
.NET and .NET Core 7. XAML Pan Wuming 2017.
Types of Spatial Data Sites
Thank you Sponsors.
Introduction to JavaScript & jQuery
Presentation transcript:

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

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

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

“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:

“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

“Libraries” and “Toolkits” prefuse

“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

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

“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

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

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)

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

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

Term Programming Project

End.