I would like to draw a figure similar to the attached here. What I ended up with is the following figure. I use the code:
a = Graphics3D[{Opacity[.8], EdgeForm[], Cyan,
Cylinder[{{0, 0, 0}, {0, 0, 0.1}}, 0.8]}, Boxed -> False,
ImageSize -> Large, ViewPoint -> Above];
b = Graphics3D[{Red,
Arrow /@
Table[{0.8 {Cos[θ], Sin[θ], 0}, { Cos[θ],
Sin[θ], 0}}, {θ, 0, 2 π, π/15}]},
Boxed -> False, ViewPoint -> Above];
Show[a, b]
This gives me the output as follows (without the hand-made curved arrow below):
Is there any way to make these arrows curvy? Instead of plain arrows, is it possible to draw curved arrows as shown in the figure. The curve may be similar to a sine or cosine (periodic) curve, for example (a hand-made example is shown below the figure).
Many thanks in advance.
CurvyArrow
function with the following interface:CurvyArrow[ {startpoint, endpoint}, {offsetstart, offsetend},polarization]
, with given start and end points, an offset in position as given by the builtinArrow
, and a polarization parameter specifying the plane in which the wiggly line should reside (maybe via the normal vector to said plane?). That should be fairly general and useful to many readers. I would also call thatPhotonArrow
. Hey, I hope you don't expect me to do all the work! $\endgroup$