[vtk-developers] Re: CVS Write access ? : Possible mistake in vtkRenderLargeImage
John Biddiscombe
biddisco at cscs.ch
Wed Nov 16 11:40:27 EST 2005
I seem to have lost my write access to vtk. I've already committed a fix
to the test image (which worked on VTKData), but I'm unable to commit a
fix to vtk itself. Is there any reason why I shouldn't be putting in
fixes. I wasn't aware of a freeze on at the moment - if not, may I have
write access back. Thanks
JB
> Michael
>
> I just did the sums and got the same equation as you for the
> adjustment to the view angle. Since I recently did some work on this
> class, I'll check in your fix.
>
> Thanks. (I'd noticed a difference in appearance but hadn't given it
> any thought...good spot!)
>
> JB
>
>> Dear VTK developer community,
>>
>> I have come across what I believe to be a mistake in the
>> implementation of the class vtkRenderLargeImage in the Hybrid
>> package. To illustrate the case, please consider the simple VTK
>> script found at
>> http://www.science.uva.nl/~mscarpa/vtk/TestImage.py. This script
>> generates an image as http://www.science.uva.nl/~mscarpa/ vtk/Image.png.
>>
>> Now, consider a modified version of the above script as found at
>> http://www.science.uva.nl/~mscarpa/vtk/TestRenderLargeImage.py. The
>> only
>> differences with the first script are that the render window has
>> smaller dimensions (a quarter width and a quarter height), and that
>> it uses the vtkRenderLargeImage class to generate an image of the
>> same size as the first script (500 by 500 pixels). This script is
>> based on the example found with the VTK source code. On my VTK
>> installation, the latter script generates an image as http://
>> www.science.uva.nl/~mscarpa/vtk/RenderLargeImageOriginal.png. This
>> is considerably different from the expected result, which (in this
>> simple case) should be identical to the first image. I have looked
>> into the code of vtkRenderLargeImage (as can be found in CVS as of
>> this writing), and I think I
>> found a mistake. In the method vtkRenderLargeImage::RequestData(),
>> the following statement calculates the view angle incorrectly:
>>
>> cam->SetViewAngle(asin(sin(viewAngle*3.1415926/360.0)/this-
>> >Magnification)
>> * 360.0 / 3.1415926);
>>
>> I believe that the correct statement should be as follows:
>>
>> cam->SetViewAngle(atan(tan(viewAngle*3.1415926/360.0)/this-
>> >Magnification)
>> * 360.0 / 3.1415926);
>>
>> The only difference consists in replacing the sine and arcsine
>> functions with tangent and arctangent functions. If the class is
>> recompiled with these changes, the two scripts above produce
>> identical images (see the image produced by the second script on my
>> VTK installation after applying the above changes at http://
>> www.science.uva.nl/~mscarpa/vtk/RenderLargeImageModified.png).
>>
>> Please note that more complex scenes will not produce absolutely
>> identical images, but at least the images will be almost identical
>> and not differ so much due to different view angles.
>>
>> For convenience, this text can be found as HTML page at the
>> following location: http://www.science.uva.nl/~mscarpa/vtk/index.html
>>
>> Could someone please verify these findings and, if confirmed, could
>> these changes be taken over in the CVS repository? Any comment is
>> obviously most welcome.
>>
>> Kind regards,
>>
>> Michael Scarpa
>> Section Computational Science
>> Universiteit van Amsterdam
>> Kruislaan 403
>> 1098 SJ Amsterdam, The Netherlands
>> Room F2.15
>> Tel: +31 20 525 7574
>> Fax: +31 20 525 7419
>> Web: http://www.science.uva.nl/~mscarpa/
>>
>> _______________________________________________
>> vtk-developers mailing list
>> vtk-developers at vtk.org
>> http://www.vtk.org/mailman/listinfo/vtk-developers
>
>
>
>
--
John Biddiscombe, email:biddisco @ cscs.ch
http://www.cscs.ch/about/BJohn.php
CSCS, Swiss National Supercomputing Centre | Tel: +41 (91) 610.82.07
Via Cantonale, 6928 Manno, Switzerland | Fax: +41 (91) 610.82.82
More information about the vtk-developers
mailing list