[vtkusers] re: Try again - merging

Sean McInerney seanm at nmr.mgh.harvard.edu
Thu Aug 19 14:25:10 EDT 2004


Hi Jared,

   Actually, I think that I do understand your problem. If you merge the 
non-polar points along the edges of the plane mapped to the sphere, what 
  are the texture coordinates of those points? Get it? Before the merge, 
they're zero (0) on one side, one (1) on the other. After the merge, you 
are getting an interpolation between 0 and 1 / thetaRes - 1 (i.e. some 
crap from the center of your image being placed along that border). 
Furthermore, by using the offsetting that I suggest, as well as going 
back and forth with the transform, you'll avoid having a black hole at 
the north pole (you'll see what I mean). The bottom line is that, for 
you, the only points worth merging are probably the poles. Even then, 
you'll end up with texture artifact that won't show up with merging.

   So, this doesn't solve the *grand* merging debate, but it may solve 
yours ;-)

-Sean

Jared Cohen wrote:
> Thanks, but I don't think you understand the problem. I can close the 
> gap just fine, but the two edges will overlap without being merged 
> together. It's when I merge them using a CleanPolyData filter that I get 
> the warping effect.
> 
> 
> 
>> Hi Jared,
>>
>>   I have some C++ code based on the spherical Tcl example that I think 
>> solves your problem. It avoids a singularity at the Z axis by 
>> offsetting the plane by a very small amount. I am attaching the source 
>> file 'spherical.cxx'. It takes any valid 2D vtkImageReader2 input and 
>> maps it to a sphere in the manner that you describe.
>>
>> The Cmake configuration stuff is as follows:
>>
>> ADD_EXECUTABLE (spherical spherical.cxx)
>> TARGET_LINK_LIBRARIES (spherical vtkRendering vtkIO vtkGraphics)
>>
>> -Sean
>>



More information about the vtkusers mailing list