V M e c h . c o m
V i r t u a l   M e c h a n i s m s
Fighting immechanacy on the Web

Site Map


  1. Introduction
  2. Java3D Models
    1. Sun's HelloUniverse
    2. Simple Crank
    3. Crank Rocker
    4. Drag Link
    5. Four Bar Linkage Beta
  3. Papers (in progress)
    1. Machines in Java3D
    2. Inverse Kinematics on the Java 3D Scene Graph
      (
      HTML, PDF)
    3. Simulations on the Web
    4. 'Time' in Java3D
    5. 'Time' (continued)
    6. Quaternions
  4. Appendices

A.     Installing the Java2 Plug-in and Java3D

B.     Security and Java applets

  1. References
  2. About VMech.com

If you're going to stay here long, or if you want to view Java2 / Java3D material or any of the sample models we build on the web, you'll need a browser equipped with a Java2 Plug-in, fortified with Java3D. For information on installing the Plug-in click here.

Caution: The upgrade represents a considerable commitment. Tha Java2 download is over 5 megabytes and the Java3D download is over 2 megabytes - not the sort of thing you do to satisfy idle curiosity. Besides that, it's a CPU hog. If you don't have 300MHz and hardware acceleration for OpenGL, performance might be too slow to be useful. Frankly, there isn't enough content published here to justify it. Yet.

You can check your browser for minimal Java2 / Java3D capability by running Sun's HelloUniverse applet from the link at the left.


1.0 Introduction


Contents


Welcome to the new home of VMech.com. This site is devoted to showing works-in-progress in the development of high-fidelity simulations of physical processes with Java3D. We'll be starting with the kinematics of mechanical systems because they're fun, but along the way, we hope to draw some conclusions about the potential and the limitations of Java and Java3D for this kind of work. 

1.1 Background

Towards the end of the last century, we built and published some 2D Java animations of interesting and historically significant mechanisms. These were fun to build, and, judging from a modest but consistent flow of appreciative and encouraging emails, fun to play with.

But those models were only a short step. Even though they were true simulations (with each frame computed and displayed on the fly as opposed to the more common animated gifs or avis, in which each frame is prepared and the assembly shown in sequence,) they weren't really useful for testing the power of the web. Having moving pieces might have been almost as good as a working museum model and an advance over the static and often indecipherable figures in text books, but missing was the interactivity that would highlight a part or a construction in synch with the descriptive text or that would permit showing the effect of changing the geometry of a part.

It's been over two years since our last new animations were published, and in the meantime, we've been horsing around with Java Swing, but the fact is we weren't able to create material compelling enough to expect our visitors to put up with the considerable pain of getting the advanced versions of Java working in their browsers. In the fall of 2000, that's changing, not so much as a result of our superior content, but more because Sun has been making the advanced Java functionality more accessible to people whose primary interests lie other places than computers.

1.2 Goals and Purpose

The goals of the VMech project are to build and deliver high-fidelity simulations of physical processes using Java and to deliver the results on the web using Java3D. For fun along the way, we want to 1) build and publish 3D models of classical mechanisms (following the example of working physical models sometimes seen in museums) and 2) explore the potential for using the web to deliver instructional materials that explain their design principles and the underlying kinematics (as an extension, and we hope, an improvement on treeware engineering text books.).

Along with the growing conviction that Java Swing Set offers decisive advantages for the delivery of interactive instructional materials has come the conviction that Java3D offers a powerful structure on which to do simulations of physical processes. But Java3D is an enormously complex piece of software designed to serve a diverse audience. According to its architects (Ref 2.1), Java3D was developed with 'performance' as its chief goal. This, we suppose, means delivery of the maximum possible frame rate for an acceptably 'real' rendering of a scene. Where trade-offs were made, the architects say, 'performance' won.

So do the trade-offs made to serve 'performance' for a diverse audience cripple Java3D for doing hi-fi simulations of physical processes? We don't know, but the purpose of this site is to explore the implications of Java3D's design trade-offs and to publish the works-in-progress on the off chance that anyone else cares and finds them good enough to criticize.

1.3 Approach

yada, yada, yada.

Last revision
July 12, 2002
email the
VirtualMechanic

Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. VMech.com and Brock Engineering are independent of Sun Microsystems, Inc.