|
From: Ben A. <bpa...@ma...> - 2009-02-03 12:02:25
|
On Feb 3, 2009, at 3:32 AM, Petr Mikulik wrote: >>> Gnuplot does interpolation in pm3d by splitting each quadrangle >>> into smaller >>> quadrangles. You can try the following example that demonstrates >>> "shading flat" and "shading interp": >>> >>> pcolor([1 2; 3 3]) >>> shading interp >>> shading flat >>> >>> Therefore, I've written the following patch: >>> https://sourceforge.net/tracker/index.php?func=detail&aid=2558565&group_id=2055&atid=302055 >>> [ 2558565 ] pm3d interpolate 0,0 >>> The animated demo there shows color surface transformations; >>> Octave would >>> use for its "shading interp" the option >>> set pm3d interpolate 0,0 >> >> I think the attached files look good ... but can you describe what >> has been >> changed. The results (in your email) look very similar to what the >> current >> gnuplot sources produce. > > It is desired to achieve higher resolution plot with an alternative > "pm3d > interpolate" option. Let us suppose that "continuous" colour > gradient on the > map/surface would need edge size of at least 200 pixels on screen > window. > Then > a=hilb(4); > pcolor(a); > would need > set pm3d interpolate 50,50 > while > a=hilb(100); > pcolor(a); > would need > set pm3d interpolate 2,2 > > With the new patch, you can set > set pm3d interpolate -200,-200 > and gnuplot will ensure at least 200 points in both cases, i.e. Octave > passes the sampling to the drawing backend. > > Currently, > set pm3d interpolate 0,0 > is equivalent to 200 points. Ok, thanks for explaining. I'll patch my gnuplot sources and work on a patch for Octave. Are you looking for some of us to test drive your gnuplot patch, as well? Ben |