I am writing code that lets a user draw a rectangle on the
screen, then deletes everything within the rectangle.

This rectangle will generate a frustum shape in the
virtual world.

Because I am surface rendering objects, I need to compute
this frustum, because the user may delete half of an object,
in which case I need to compute where the object was cut
and generate some more surface mesh for the newly visible
bits of the object.

Does anyone have any suggestions how I can compute
this frustum.

As far as I can work out so far, I need to
generate an edge of the frustum for each of the
4 points on the rectangle that the user selects.
So, given a pixel location (x,y) on the canvas3D,
I need to generate a ray pointing away from
the screen, passing through all points that map
to that particular (x,y) pixel location.

Because of the perspective transformation,
this ray will NOT be perpendicular to the image plate.

Given the canvas3D, I can use:

  canvas.getPixelLocationInImagePlate(x,y, point)
  canvas.getImagePlateToVworld(trans);
  trans.transform(point);

to translate from a pixel on the canvas3D to a point
in the virtual world.
But how do I find all the other virtual world co-ordinates
that also map to this pixel
(i.e. I've got a point on the frustum, but how
do I work out the direction vector of the frustum edge)?


thanks for your help

Robert
--

Robert McLaughlin
Medical Vision Lab
Department of Engineering Science
University of Oxford

===========================================================================
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