[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