17
Yingcai Xiao Chapter 12 Visualization on the Web

Yingcai Xiao Chapter 12 Visualization on the Web

Embed Size (px)

Citation preview

Page 1: Yingcai Xiao Chapter 12 Visualization on the Web

Yingcai Xiao

Chapter 12

Visualization on theWeb

Page 2: Yingcai Xiao Chapter 12 Visualization on the Web

Visualization on the WebVisualization on the Web

Purposes: •Online visualization of data•Speedy distribution of research results•Web-based collaboration•… 

Page 3: Yingcai Xiao Chapter 12 Visualization on the Web

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

Page 4: Yingcai Xiao Chapter 12 Visualization on the Web

Visualization on the WebVisualization on the Web

Page 5: Yingcai Xiao Chapter 12 Visualization on the Web

Visualization on the WebVisualization on the Web

Page 6: Yingcai Xiao Chapter 12 Visualization on the Web
Page 7: Yingcai Xiao Chapter 12 Visualization 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.

Page 8: Yingcai Xiao Chapter 12 Visualization on the Web

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.

Page 9: Yingcai Xiao Chapter 12 Visualization on the Web

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

Page 10: Yingcai Xiao Chapter 12 Visualization on the Web

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.

 

Page 11: Yingcai Xiao Chapter 12 Visualization on the Web

VRML: Virtual Reality Modeling Language

Page 12: Yingcai Xiao Chapter 12 Visualization on the Web

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();  

Page 13: Yingcai Xiao Chapter 12 Visualization on the Web

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

 

Page 14: Yingcai Xiao Chapter 12 Visualization on the Web

JAVA 3D

 Java + 3D Graphics(More powerful in computing than VRML)

Page 15: Yingcai Xiao Chapter 12 Visualization on the Web

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

Page 16: Yingcai Xiao Chapter 12 Visualization on the Web

EAI: External Authoring Interface

• Provides the same power as Java3D has.• Allows interactions between VRML and Java.• Java + VRML + EAI == Java3D

 

Page 17: Yingcai Xiao Chapter 12 Visualization on the Web

Future of Web Visualization

• Bandwidth (Vis Grid, OARNet 100Gbit network).• Interface and language may change.• The algorithms in VTK remain.