From: Andrew Ross <andrewross@us...>  20071211 16:46:55

On Tue, Dec 11, 2007 at 08:11:03AM +0900, Hiroyasu Yasuda wrote: > On 2007/12/10, at 23:41, Andrew Ross wrote: > > > On Mon, Dec 10, 2007 at 11:11:42PM +0900, Hiroyasu Yasuda wrote: > >> > >> On 2007/12/10, at 17:53, Arjen Markus wrote: > >> > >>>> Dear all: > >>>> > >>>> I would like to plot vectors in general curve coordinate as > >>>> attached > >>>> picture. Of course I have already try to be plotting with plvec2. > >>>> When I gave the vector data which is u =1.0 and v=0.0, the plotted > >>>> vectors look like along coorthogonal coordinate. > >>>> > >>>> I think that plplot has the vector plotting function in general > >>>> curve > >>>> coordinate because I read the reference of plplot and sample > >>>> code of > >>>> x22f. Can we plot that things? > >>>> > >> > >> Hello Arjen: > >> > >>> that means that the components of the vector are not cartesian > >>> but based on the (local) coordinate system (or grid orientation)? > >> > >> Yes, that is, I have been computing with local coordinate system. > >> > >>> That means that PLplot will have to keep track of this more general > >>> coordinate system. Isn't it simpler to convert the components from > >>> the curve coordinate system to the cartesian plotting coordinates? > >> > >> When I'm computing and then plot the vectors with local coordinate > >> system, do we have to convert the vector component to plot the > >> vectors along local coordinate under plplot? > > > > Hello, Andrew: > > > The vector components are always assumed to be cartesian. As Arjen > > said, if you want to use local coordinates for the vector components, > > you need to convert them to cartesian cordinates before plotting. > > I understand that you mention. However, the plplot reference of > plvec2 in Chapter 20 said that: > > NOTE: this function is intended for use from a Fortran 77 caller > only. The C user should instead call plvect using the builtin > transformation function pltr2 for the same capability. > > Can we plot directly the vectors along curve coordinate with plvec2 ? plvec2 is equivalent to calling plvect with the pltr2 function as the pltr. This only affects the location of the vectors, not the direction / magnitude. The only reason for plvec2 etc is that fortran (and several other bindings) don't allow you to pass a function name as an argument. They provided a limited subset of the possible functionality of plvect. Andrew 