|
From: Zhong R. <re...@uc...> - 2009-12-13 19:23:04
|
---- Original message ---- >Date: Sun, 13 Dec 2009 11:51:41 +0100 >From: Hans-Bernhard Bröker <HBB...@t-...> >Subject: Re: [Gnuplot-info] rotation center >To: re...@uc... >Cc: gnu...@li... > >Zhong Ren wrote: >> Please consider the following script that draws a sphere. Why >> the rotation center is not at the center of the sphere, when >> the graphics is spun by the mouse? > >Why should it be? Did you really expect gnuplot to have a special rule >like "whenever there is exactly one spherical surface among the plotted >things, rotation will magically center around that"? No, you didn't get my question. Please consider my original case again: Please consider the following script that draws a sphere. Why the rotation center is not at the center of the sphere, when the graphics is spun by the mouse? If I change to "set xrange [ 6 : 44]", the rotation center becomes the center of the sphere. This makes the behavior of one of my large applications unpredictable. Is there a way to specify the rotation center? If not, how is the center selected by Gnuplot? set terminal x11 0 size 1024,1024 set parametric set view equal xyz set xlabel "x" set ylabel "y" set zlabel "z" set xrange [ 6 : 43] set yrange [80 : 118] set zrange [13 : 51] set pm3d implicit at s splot 10*cos(u)*cos(v)+25,10*cos(u)*sin(v)+99,10*sin(u)+33 The rotation center is indeed at the spherical center when xrange is [ 6 : 44], because (6+44)/2 = 25, which is exactly the spherical center. When xrange is [ 6 : 43], the rotation center should be (6+43)/2 = 24.5, but it is not. It is near x=33. What makes Gnuplot to select the rotation center? > >> If not, how is the center selected by Gnuplot? > >Mouse rotates the entire graph box, so, kind-of obviously, it is >centered around the center of the graph box. So if you want rotation to >be around a particular point, make all three axis ranges symmetric >around it: > > set xrange [mid_x - size_x : mid_x + size_x] > # likewise for y and z > This is what I thought, but it is not working for me as the example I gave above. Gnuplot seems to have a complex rule to select the rotation center. I really prefer a user selected rotation center. |