Virtual Real-time 3D Object Sharing for Supporting Distance Education and Training Hiroko Suzuki Faculty of Computer and Information Science, Hosei University,
Presentation Outline Objectives System Design Ideas Implementations –Communications –Rendering Discussions of Implementation Results Conclusions
Objectives Supporting distance education Training of younger/junior designers
System Design Ideas (1) What is this application? It allows group participants to share: working space 3D objects manipulations on the 3D objects in real-time such as moving, scaling, generating,…
System Design Ideas (2) Communication style Server-Client architecture How to avoid the bottleneck network problem Reduce the amount of transmission data whole of 3D object data action event, object ID, transformation data,…
System Design Ideas (3) How to avoid the collision problem Action collision equal-right policy supervisor or tutor oriented policy
User Interface B A CD E Manipulation spaceWorking space
Implementations (1) Server functionality Member Management RMI Server Functions Object Management Database Client functionality User Interface Local Data Management RMI Client Functions Rendering Database
Implementations (2) Communication tool Java RMI technology simplify program avoid unnecessary data communications multi-thread communication callback function
public class ServerImpl extends UnicastRemoteObject implements ServerInt{ …… public static void main( String[] args ) { System.setSecurityManager( new RMISecurityManager () ); try{ ServerImpl obj = new ServerImpl(); Naming.rebind( "Server", obj ); } catch ( Exception e ) { } } …… } public class ClientImpl extends UnicastRemoteObject implements ClientInterface { …… public void connection ( int flag ) { switch( flag ){ case 0 : ServerInt server = (ServerInt) Naming.lookup( "rmi://" + addr + :1099/Server"); break; case 1 : server.addMember( user, client ); break; case 2 : server.shareMember( user_name, share, parameters ); break; case 3 : server.addObject( share, user, obj.wfr.pf.par ); break: …… } }} A fragment code for communications
Implementations (3) Rendering tool Java 3D API simple and high-level programming model adding objects, lighting up, view, adding texture enabling interaction with objects… control the behavior of 3D objects
Discussions of Implementation Results Transmission time versus the number of objects Rendering Time versus the number of objects Environment: 1 RMI server and 2 client machines on same LAN
Conclusions Virtual real-time 3D object sharing enables collaborative group activities effectively I will present this paper at the international conference on AINA2004.