Murat,

Try this code (which I adapted from J3DFly):

        /**
         * Set the transform so that everything inside the BoundingSphere is
         * visible within the view frustum
         */
        private void setViewpoint( TransformGroup tg, BoundingSphere
sceneBounds, View view ) {
          Transform3D viewTrans = new Transform3D();

          // point the view at the center of the object
          Point3d center = new Point3d();
          sceneBounds.getCenter(center);
          double radius = sceneBounds.getRadius();
          Point3d eyePos = new Point3d(center);
          Vector3d up = new Vector3d();

          // pull the eye back far enough to see the whole object
          double eyeDist = radius / Math.tan(view.getFieldOfView() / 2.0);
          int showAllAxis = 2; // fudge to look down Z axis
          switch( showAllAxis ) {
      case 0 :
          eyePos.x += eyeDist;
          up.y = 1;
          break;
      case 1 :
          eyePos.y += eyeDist;
          up.z = -1;
          break;
      case 2 :
          eyePos.z += eyeDist;
          up.y = 1;
          break;
      case 3 :
          eyePos.x -= eyeDist;
          up.y = 1;
          break;
      case 4 :
          eyePos.y -= eyeDist;
          up.z = -1;
          break;
      case 5 :
          eyePos.z -= eyeDist;
          up.y = 1;
          break;
          }

          viewTrans.setIdentity();
          viewTrans.lookAt( eyePos, center, up );
          viewTrans.invert();
          // If we have moved the model behind the back clip distance then
change
          // the back clip distance
          if (view.getBackClipDistance()<eyeDist) {
            view.setBackClipDistance( eyeDist );
            view.setFrontClipDistance(eyeDist/3000);
            System.out.println("Back Clip reset to "+eyeDist);
          }

          tg.setTransform(viewTrans); // set the view transform
        } // end setViewpoint()

Good Luck.

- John Wright
Starfire Research

"A. Murat Tanyer" wrote:
>
> Hi all,
>
> I'm looking for some help or some code examples.
>
> The problem is this: I loaded an object from VRML to my Java3d scene.
> How can I find a good point for the 'viewer' to capture all of the image
> in the scene.
>
> The bounding sphere of the scene has a radius 'r' and a center point
> (x,y,z).
>
> I really got stuck with this for several days. I think I need your help.
>
> Thanking you in advance for your help.
>
> Murat
>
> ===========================================================================
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff JAVA3D-INTEREST".  For general help, send email to
> [EMAIL PROTECTED] and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to