Virtual Real-time 3D Object Sharingfor Supporting Distance Education and Training
Hiroko SuzukiFaculty 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 space3D objectsmanipulations on the 3D objects in real-time
such as moving, scaling, generating,…
System Design Ideas (2)
• Communication styleServer-Client architecture
• How to avoid the bottleneck network problemReduce 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 problemAction collision
equal-right policysupervisor or tutor oriented policy
User Interface
B
A
C D
E
Manipulation space Working space
Implementations (1)
• Server functionalityMember Management
RMI Server Functions
Object Management
Database
• Client functionalityUser Interface
Local Data Management
RMI Client Functions
Rendering
Database
Implementations (2)
• Communication toolJava RMI technology
simplify programavoid unnecessary data communicationsmulti-thread communicationcallback 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 toolJava 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 Timeversus 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.