Re: vector field specifying location of vectors

• To: mathgroup at smc.vnet.net
• Subject: [mg92485] Re: vector field specifying location of vectors
• From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
• Date: Wed, 1 Oct 2008 18:33:05 -0400 (EDT)
• Organization: The Open University, Milton Keynes, UK
• References: <gbuls7\$ldh\$1@smc.vnet.net>

```yapster wrote:

> I'd like to plot a vector field and specify which vectors to plot (for example, only at points with integer coordinates).
>
> What I am trying to do is show how a vector field transforms under a planar transformation.  So, if F is the planar transformation, a vector V based at the point (x,y) will become a new vector NV based at F(x,y).

Mathematica 6.x has several functions to plot vector fields in 2D and 3D
[1]. Among all these functions, *ListVectorFieldPlot* [2] might be
appropriate to display only specific vectors.

Just build a rectangular list (at least 2 by 2) of pair of pairs, i.e.
{{origX, origY}, {endX, endY}}, with integer coordinates and pass it to
the function. For instance,

In[1]:= Needs["VectorFieldPlots`"]
data = Table[{-i, j^2}, {i, 0, 1, 0.1}, {j, 0, 1, 0.1}]
pts = Select[#, VectorQ[#, IntegerQ] &] & /@
Rationalize[data] /. {} -> Sequence[]
ListVectorFieldPlot[pts]

Out[2]= {{{0., 0.}, {0., 0.01}, {0., 0.04}, {0., 0.09}, {0.,
0.16}, {0., 0.25}, {0., 0.36}, {0., 0.49}, {0., 0.64}, {0.,
0.81}, {0., 1.}}, {{-0.1, 0.}, {-0.1, 0.01}, {-0.1, 0.04}, {-0.1,
0.09}, {-0.1, 0.16}, {-0.1, 0.25}, {-0.1, 0.36}, {-0.1,
0.49}, {-0.1, 0.64}, {-0.1, 0.81}, {-0.1, 1.}}, {{-0.2, 0.}, {-0.2,
0.01}, {-0.2, 0.04}, {-0.2, 0.09}, {-0.2, 0.16}, {-0.2,
0.25}, {-0.2, 0.36}, {-0.2, 0.49}, {-0.2, 0.64}, {-0.2,
0.81}, {-0.2, 1.}}, {{-0.3, 0.}, {-0.3, 0.01}, {-0.3, 0.04}, {-0.3,
0.09}, {-0.3, 0.16}, {-0.3, 0.25}, {-0.3, 0.36}, {-0.3,
0.49}, {-0.3, 0.64}, {-0.3, 0.81}, {-0.3, 1.}}, {{-0.4, 0.}, {-0.4,
0.01}, {-0.4, 0.04}, {-0.4, 0.09}, {-0.4, 0.16}, {-0.4,
0.25}, {-0.4, 0.36}, {-0.4, 0.49}, {-0.4, 0.64}, {-0.4,
0.81}, {-0.4, 1.}}, {{-0.5, 0.}, {-0.5, 0.01}, {-0.5, 0.04}, {-0.5,
0.09}, {-0.5, 0.16}, {-0.5, 0.25}, {-0.5, 0.36}, {-0.5,
0.49}, {-0.5, 0.64}, {-0.5, 0.81}, {-0.5, 1.}}, {{-0.6, 0.}, {-0.6,
0.01}, {-0.6, 0.04}, {-0.6, 0.09}, {-0.6, 0.16}, {-0.6,
0.25}, {-0.6, 0.36}, {-0.6, 0.49}, {-0.6, 0.64}, {-0.6,
0.81}, {-0.6, 1.}}, {{-0.7, 0.}, {-0.7, 0.01}, {-0.7, 0.04}, {-0.7,
0.09}, {-0.7, 0.16}, {-0.7, 0.25}, {-0.7, 0.36}, {-0.7,
0.49}, {-0.7, 0.64}, {-0.7, 0.81}, {-0.7, 1.}}, {{-0.8, 0.}, {-0.8,
0.01}, {-0.8, 0.04}, {-0.8, 0.09}, {-0.8, 0.16}, {-0.8,
0.25}, {-0.8, 0.36}, {-0.8, 0.49}, {-0.8, 0.64}, {-0.8,
0.81}, {-0.8, 1.}}, {{-0.9, 0.}, {-0.9, 0.01}, {-0.9, 0.04}, {-0.9,
0.09}, {-0.9, 0.16}, {-0.9, 0.25}, {-0.9, 0.36}, {-0.9,
0.49}, {-0.9, 0.64}, {-0.9, 0.81}, {-0.9, 1.}}, {{-1., 0.}, {-1.,
0.01}, {-1., 0.04}, {-1., 0.09}, {-1., 0.16}, {-1., 0.25}, {-1.,
0.36}, {-1., 0.49}, {-1., 0.64}, {-1., 0.81}, {-1., 1.}}}

Out[3]= {{{0, 0}, {0, 1}}, {{-1, 0}, {-1, 1}}}

Out[4]= [... plot showing the two vectors deleted ...]

Regards,
- Jean-Marc

[1] "Vector Field Plotting Package"
http://reference.wolfram.com/mathematica/VectorFieldPlots/guide/VectorFieldPlottingPackage.html

[2] "ListVectorFieldPlot"
http://reference.wolfram.com/mathematica/VectorFieldPlots/ref/ListVectorFieldPlot.html

```

• Prev by Date: Re: data source for demonstration
• Next by Date: Re: extracting contour points
• Previous by thread: Re: vector field specifying location of vectors
• Next by thread: Re: signs in the mathematica output