Skip to main content
deleted 68 characters in body
Source Link
MelaGo
  • 9.1k
  • 1
  • 11
  • 26

This answer is similar to @Edmund's, except with the rotation angle dependent on the radius:

pts2 = Table[
   Table[{x Sin[t], x Cos[t]}, {t, 0, 2 \[Pi]π, \[Pi]π/(2 x)}], {x, 1, 8}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -2 \[Pi]π, 2 \[Pi]π}, {y, -2 \[Pi]π, 2 \[Pi]π}, 
    VectorPoints -> (Flatten[Table[RotationMatrix[\[Phi]Flatten[Table[RotationMatrix[ϕ/x].# & /@ pts2[[x]], {x, 1, 8}], 1])], {\[Phi]ϕ, 0, 2 \[Pi]π, \[Pi]π/20}];

Export["vectors.gif", a]

enter image description here

Edited to include an updated version in which it's easier to adjust the parameters:

numcircles = 20;
circlespacing = .5;
pointspacing = \[Pi]π/4;
frameinterval = \[Pi]π/20;

pts2 = Table[Table[{x Sin[t], x Cos[t]}, {t, 0, 2 \[Pi]π, pointspacing/x}], {x, 1, numcircles, circlespacing}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -numcircles circlespacing, numcircles circlespacing}, {y, -numcircles circlespacing, numcircles circlespacing}, 
    VectorPoints -> (Flatten[
       Table[RotationMatrix[\[Phi]Table[RotationMatrix[ϕ/n].# & /@ pts2[[n]], {n, Length[pts2]}], 1])], {\[Phi]ϕ, 0, 2 \[Pi]π - frameinterval, frameinterval}];

enter image description here

This answer is similar to @Edmund's, except with the rotation angle dependent on the radius:

pts2 = Table[
   Table[{x Sin[t], x Cos[t]}, {t, 0, 2 \[Pi], \[Pi]/(2 x)}], {x, 1, 8}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -2 \[Pi], 2 \[Pi]}, {y, -2 \[Pi], 2 \[Pi]}, 
    VectorPoints -> (Flatten[Table[RotationMatrix[\[Phi]/x].# & /@ pts2[[x]], {x, 1, 8}], 1])], {\[Phi], 0, 2 \[Pi], \[Pi]/20}];

Export["vectors.gif", a]

enter image description here

Edited to include an updated version in which it's easier to adjust the parameters:

numcircles = 20;
circlespacing = .5;
pointspacing = \[Pi]/4;
frameinterval = \[Pi]/20;

pts2 = Table[Table[{x Sin[t], x Cos[t]}, {t, 0, 2 \[Pi], pointspacing/x}], {x, 1, numcircles, circlespacing}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -numcircles circlespacing, numcircles circlespacing}, {y, -numcircles circlespacing, numcircles circlespacing}, 
    VectorPoints -> (Flatten[
       Table[RotationMatrix[\[Phi]/n].# & /@ pts2[[n]], {n, Length[pts2]}], 1])], {\[Phi], 0, 2 \[Pi] - frameinterval, frameinterval}];

enter image description here

This answer is similar to @Edmund's, except with the rotation angle dependent on the radius:

pts2 = Table[
   Table[{x Sin[t], x Cos[t]}, {t, 0, 2 π, π/(2 x)}], {x, 1, 8}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -2 π, 2 π}, {y, -2 π, 2 π}, 
    VectorPoints -> (Flatten[Table[RotationMatrix[ϕ/x].# & /@ pts2[[x]], {x, 1, 8}], 1])], {ϕ, 0, 2 π, π/20}];

Export["vectors.gif", a]

enter image description here

Edited to include an updated version in which it's easier to adjust the parameters:

numcircles = 20;
circlespacing = .5;
pointspacing = π/4;
frameinterval = π/20;

pts2 = Table[Table[{x Sin[t], x Cos[t]}, {t, 0, 2 π, pointspacing/x}], {x, 1, numcircles, circlespacing}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -numcircles circlespacing, numcircles circlespacing}, {y, -numcircles circlespacing, numcircles circlespacing}, 
    VectorPoints -> (Flatten[
       Table[RotationMatrix[ϕ/n].# & /@ pts2[[n]], {n, Length[pts2]}], 1])], {ϕ, 0, 2 π - frameinterval, frameinterval}];

enter image description here

added 16 characters in body
Source Link
MelaGo
  • 9.1k
  • 1
  • 11
  • 26

This answer is similar to @Edmund's, except with the rotation angle dependent on the radius:

pts2 = Table[
   Table[{x Sin[t], x Cos[t]}, {t, 0, 2 \[Pi], \[Pi]/(2 x)}], {x, 1, 8}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -2 \[Pi], 2 \[Pi]}, {y, -2 \[Pi], 2 \[Pi]}, 
    VectorPoints -> (Flatten[Table[RotationMatrix[\[Phi]/x].# & /@ pts2[[x]], {x, 1, 8}], 1])], {\[Phi], 0, 2 \[Pi], \[Pi]/20}];

Export["vectors.gif", a]

enter image description here

Edited to include an updated version in which it's easier to adjust the parameters:

numcircles = 20;
circlespacing = .5;
pointspacing = \[Pi]/4;
frameinterval = \[Pi]/20;

pts2 = Table[Table[{x Sin[t], x Cos[t]}, {t, 0, 2 \[Pi], pointspacing/x}], {x, 1, numcircles, circlespacing}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -numcircles circlespacing, numcircles circlespacing}, {y, -numcircles circlespacing, numcircles circlespacing}, 
    VectorPoints -> (Flatten[
       Table[RotationMatrix[\[Phi]/n].# & /@ pts2[[n]], {n, Length[pts2]}], 1])], {\[Phi], 0, 2 \[Pi] - frameinterval, frameinterval}];

enter image description hereenter image description here

This answer is similar to @Edmund's, except with the rotation angle dependent on the radius:

pts2 = Table[
   Table[{x Sin[t], x Cos[t]}, {t, 0, 2 \[Pi], \[Pi]/(2 x)}], {x, 1, 8}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -2 \[Pi], 2 \[Pi]}, {y, -2 \[Pi], 2 \[Pi]}, 
    VectorPoints -> (Flatten[Table[RotationMatrix[\[Phi]/x].# & /@ pts2[[x]], {x, 1, 8}], 1])], {\[Phi], 0, 2 \[Pi], \[Pi]/20}];

Export["vectors.gif", a]

enter image description here

Edited to include an updated version in which it's easier to adjust the parameters:

numcircles = 20;
circlespacing = .5;
pointspacing = \[Pi]/4;
frameinterval = \[Pi]/20;

pts2 = Table[Table[{x Sin[t], x Cos[t]}, {t, 0, 2 \[Pi], pointspacing/x}], {x, 1, numcircles, circlespacing}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -numcircles circlespacing, numcircles circlespacing}, {y, -numcircles circlespacing, numcircles circlespacing}, 
    VectorPoints -> (Flatten[
       Table[RotationMatrix[\[Phi]/n].# & /@ pts2[[n]], {n, Length[pts2]}], 1])], {\[Phi], 0, 2 \[Pi], frameinterval}];

enter image description here

This answer is similar to @Edmund's, except with the rotation angle dependent on the radius:

pts2 = Table[
   Table[{x Sin[t], x Cos[t]}, {t, 0, 2 \[Pi], \[Pi]/(2 x)}], {x, 1, 8}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -2 \[Pi], 2 \[Pi]}, {y, -2 \[Pi], 2 \[Pi]}, 
    VectorPoints -> (Flatten[Table[RotationMatrix[\[Phi]/x].# & /@ pts2[[x]], {x, 1, 8}], 1])], {\[Phi], 0, 2 \[Pi], \[Pi]/20}];

Export["vectors.gif", a]

enter image description here

Edited to include an updated version in which it's easier to adjust the parameters:

numcircles = 20;
circlespacing = .5;
pointspacing = \[Pi]/4;
frameinterval = \[Pi]/20;

pts2 = Table[Table[{x Sin[t], x Cos[t]}, {t, 0, 2 \[Pi], pointspacing/x}], {x, 1, numcircles, circlespacing}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -numcircles circlespacing, numcircles circlespacing}, {y, -numcircles circlespacing, numcircles circlespacing}, 
    VectorPoints -> (Flatten[
       Table[RotationMatrix[\[Phi]/n].# & /@ pts2[[n]], {n, Length[pts2]}], 1])], {\[Phi], 0, 2 \[Pi] - frameinterval, frameinterval}];

enter image description here

added 700 characters in body
Source Link
MelaGo
  • 9.1k
  • 1
  • 11
  • 26

This answer is similar to @Edmund's, except with the rotation angle dependent on the radius:

pts2 = Table[
   Table[{x Sin[t], x Cos[t]}, {t, 0, 2 \[Pi], \[Pi]/(2 x)}], {x, 1, 8}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -2 \[Pi], 2 \[Pi]}, {y, -2 \[Pi], 2 \[Pi]}, 
    VectorPoints -> (Flatten[Table[RotationMatrix[\[Phi]/x].# & /@ pts2[[x]], {x, 1, 8}], 1])], {\[Phi], 0, 2 \[Pi], \[Pi]/20}];

Export["vectors.gif", a]

enter image description here

Edited to include an updated version in which it's easier to adjust the parameters:

numcircles = 20;
circlespacing = .5;
pointspacing = \[Pi]/4;
frameinterval = \[Pi]/20;

pts2 = Table[Table[{x Sin[t], x Cos[t]}, {t, 0, 2 \[Pi], pointspacing/x}], {x, 1, numcircles, circlespacing}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -numcircles circlespacing, numcircles circlespacing}, {y, -numcircles circlespacing, numcircles circlespacing}, 
    VectorPoints -> (Flatten[
       Table[RotationMatrix[\[Phi]/n].# & /@ pts2[[n]], {n, Length[pts2]}], 1])], {\[Phi], 0, 2 \[Pi], frameinterval}];

enter image description here

This answer is similar to @Edmund's, except with the rotation angle dependent on the radius:

pts2 = Table[
   Table[{x Sin[t], x Cos[t]}, {t, 0, 2 \[Pi], \[Pi]/(2 x)}], {x, 1, 8}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -2 \[Pi], 2 \[Pi]}, {y, -2 \[Pi], 2 \[Pi]}, 
    VectorPoints -> (Flatten[Table[RotationMatrix[\[Phi]/x].# & /@ pts2[[x]], {x, 1, 8}], 1])], {\[Phi], 0, 2 \[Pi], \[Pi]/20}];

Export["vectors.gif", a]

enter image description here

This answer is similar to @Edmund's, except with the rotation angle dependent on the radius:

pts2 = Table[
   Table[{x Sin[t], x Cos[t]}, {t, 0, 2 \[Pi], \[Pi]/(2 x)}], {x, 1, 8}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -2 \[Pi], 2 \[Pi]}, {y, -2 \[Pi], 2 \[Pi]}, 
    VectorPoints -> (Flatten[Table[RotationMatrix[\[Phi]/x].# & /@ pts2[[x]], {x, 1, 8}], 1])], {\[Phi], 0, 2 \[Pi], \[Pi]/20}];

Export["vectors.gif", a]

enter image description here

Edited to include an updated version in which it's easier to adjust the parameters:

numcircles = 20;
circlespacing = .5;
pointspacing = \[Pi]/4;
frameinterval = \[Pi]/20;

pts2 = Table[Table[{x Sin[t], x Cos[t]}, {t, 0, 2 \[Pi], pointspacing/x}], {x, 1, numcircles, circlespacing}];
a = Table[VectorPlot[{vx[x, y], vy[x, y]}, {x, -numcircles circlespacing, numcircles circlespacing}, {y, -numcircles circlespacing, numcircles circlespacing}, 
    VectorPoints -> (Flatten[
       Table[RotationMatrix[\[Phi]/n].# & /@ pts2[[n]], {n, Length[pts2]}], 1])], {\[Phi], 0, 2 \[Pi], frameinterval}];

enter image description here

Source Link
MelaGo
  • 9.1k
  • 1
  • 11
  • 26
Loading