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
Here are some changes that might _not_ be correct, I'd appreciate
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
Comments are welcome, I plan to incorporate the changes next
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