Upload
frederick-houston
View
229
Download
1
Embed Size (px)
Citation preview
Yingcai Xiao
Chapter 12
Visualization on theWeb
Visualization on the WebVisualization on the Web
Purposes: •Online visualization of data•Speedy distribution of research results•Web-based collaboration•…
Visualization on the WebVisualization 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
Visualization on the WebVisualization on the Web
Visualization on the WebVisualization on the Web
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_Kasp
arov• 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
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)
JAVA 3D : both-side processing
User -> Client interactions ->
Server side JSP VTK processing ->Dynamically generated Java3D web pages ->
Client browser with Java3D plug-in3D graphics elements rendered
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.