David Gobbi dgobbi at irus.rri.on.ca
Thu May 4 16:46:10 EDT 2000

The problems with the new vtkCamera appear to have been fixed,
but there is still the question as to whether all the changes
were correct.

Here are some changes that might _not_ be correct, I'd appreciate
some feedback:

1) The 'Roll' used to be around the VPN, now it's around the DOP
2) Pitch, Elevation used to use ViewUp x VPN, now -DOP x ViewUp
3) The ViewUp used to be orthogonalized wrt the VPN, now wrt the DOP

My feelings are that I was incorrect to make some of these changes.
The VTK book p. 49 specifies that the VPN should be used for 
Roll and (ViewUp x VPN) for Elevation, but (-DOP x ViewUp) for Pitch.
I.e. the old vtkCamera disagreed with the book on how Pitch should
be handled.  My opinion is that the 'correct' behaviour is whatever
feels most comfortable to a user manipulating the scene through an
interactor, and my intuition suggests that the book is correct.
A little experimentation should yeild the correct answer.

None of these changes will change the results of any of the regression
tests (i.e. more regression tests will certainly need to be added).

I'm fairly confident about the rest of the vtkCamera changes, the 
definitions still follow Foley & van Dam which most people seem to
be comfortable with.  The only discrepancy is that the new
SetObliqueAngles() has the angles reversed wrt F&vD, I'll fix that.

Also, the new SetDirectionOfProjection() method is redundant
(you can use SetPosition/SetFocalPoint instead) so I plan to
remove it.

Comments are welcome, I plan to incorporate the changes next

 - David

  David Gobbi, MSc                    dgobbi at irus.rri.on.ca
  Advanced Imaging Research Group
  Robarts Research Institute, University of Western Ontario

More information about the vtk-developers mailing list