170 likes | 335 Views
Chapter 12 Visualization on the Web. Yingcai Xiao. Visualization on the Web. Purposes: Online visualization of data Speedy distribution of research results Web-based collaboration …. Visualization on the Web. Considerations: Division of visualization pipe line
E N D
Chapter 12 Visualization on the Web • Yingcai Xiao
Visualization on the Web • Purposes: • Online visualization of data • Speedy distribution of research results • Web-based collaboration • …
Visualization on the Web • Considerations: • Division of visualization pipe line • Speed of generating, transmitting and displaying graphics elements • Interactivities on generating and viewing graphics elements • Compatibility of software
A “Failed” Case of Web Visualization • Live podcast of IBM’s Deep Blue vs. world champion Garry Kasparov • http://en.wikipedia.org/wiki/Deep_Blue_versus_Garry_Kasparov • Java Applets: small Java Applications running on the clients) • Right before the game was to start, the network bandwidth was overwhelmed at the server to sent the chess visualization applets to millions of clients who just joined the podcast.
JAVA 3D : client-side processing User -> HTML page-> Java Applet (embedded) -> Imbedded VTK in Java Applet-> Graphics generation (client side)-> Rendering (client side) Everything is done at the client side after initial download of the applet.
Server-side Programming Clients “run” the visualization programs on the server, server-side programs dynamically generate web pages for the clients. User -> Web pages with imbedded scripts -> Client interaction -> Server-side processing -> Dynamically generated web pages -> Client browser
Both-side processing: VRML • HTML forms-> • Client selections -> • Server-side programs-> • Dynamically generated VRML pages-> • Client browser (renders VRML) • 3D graphical elements are generated at the server. • 3D graphics elements are rendered at the client. • Regenerate graphics elements if geometry or attributes are changed. • Can change display parameters (vantage point, zoom level, …) at the client.
VRML: Virtual Reality Modeling Language Web-based 3D graphics programming . VTK can generate VRML (.wrl) files. vtkVRMLExporter *exp= vtkVRMLExporter::New(); expSetRenderWindow(renWin); expSetFileName(“VrmlTest.wrl”); expWrite();
VRML Server: CGI example • Add form action in the .html page. • <FORM METHOD=’POST’ ACTION=’/cgi-bin/make-vis.csh’> • CGI programs can be C++ vtk programs in the cgi-bin directory. • vtkVRMLExporter *exp= vtkVRMLExporter::New(); • expSetInput(renWin); • expSetFilePointer(stdout); • expWrite(); // generating VRML file
JAVA 3D • Java + 3D Graphics • (More powerful in computing than VRML)
User -> Client interactions -> Server side JSP VTK processing -> Dynamically generated Java3D web pages -> Client browser with Java3D plug-in 3D graphics elements rendered • JAVA 3D : both-side processing
EAI: External Authoring Interface • Provides the same power as Java3D has. • Allows interactions between VRML and Java. • Java + VRML + EAI == Java3D
Future of Web Visualization • Bandwidth (Vis Grid, OARNet 100Gbit network). • Interface and language may change. • The algorithms in VTK remain.