[Date Index]
[Thread Index]
[Author Index]
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**
| |