3
$\begingroup$

I have a question about drawing arrows/sheets between curves. Suppose I have two 3-d parametric curves like shown below:

ParametricPlot3D[{{Cos[t], Sin[t], t}, {Cos[t + .3], Sin[t + .3], 
t}}, {t, 0, 1}]

enter image description here

I want to draw arrows between the curves at an evenly spaced interval and also (if possible) make an opaque thin sheet that covers the surface that the arrows make.

I've made a simple 2-d analog of what I mean by this. Pretending that the arrows are at an evenly spaced interval, I'm trying to make something that looks like this, but in 3-d:

enter image description here

Then, adding the sheet would look something like this: enter image description here

I think that the arrows can be made by generating a set of discrete points on each of the curves and using the Arrow command recursively, but I don't know where to start with the sheet.

$\endgroup$
  • $\begingroup$ Any reason for not accepting my answer? Let me know. $\endgroup$ – Vitaliy Kaurov Oct 29 '18 at 13:18
4
$\begingroup$

Here is your general curve:

f[t_, s_] := {Cos[t + s], Sin[t + s], t};
f[t_] := f[t, 0];

Define points for arrows:

int = .1;
pts1 = Table[f[t], {t, 0, 1, int}];
pts2 = Table[f[t, .3], {t, 0, 1, int}];

Build objects separately:

surf=ParametricPlot3D[f[t,s],{t,0,1},{s,0,.3},Mesh->None,PlotStyle->Opacity[.2]];

arrows=Graphics3D[{Red,Thick,Arrowheads[0.03],Arrow[#]}&/@Transpose[{pts1,pts2}]];

curves=ParametricPlot3D[{f[t],f[t,.3]},{t,0,1}];

Then combine:

Show[curves,arrows,surf]

enter image description here

Note, you can offset the step int to control direction of arrows.

int=.1;
off=.15;
pts1=Table[f[t],{t,0,1,int}];
pts2=Table[f[t,.3],{t,0-off,1-off,int}];
surf=ParametricPlot3D[f[t,s],{t,0,1},{s,0,.3},Mesh->None,PlotStyle->Opacity[.2]];
arrows=Graphics3D[{Red,Thick,Arrowheads[0.03],Arrow[#]}&/@Transpose[{pts1,pts2}]];
curve=ParametricPlot3D[{f[t],f[t,.3]},{t,0,1}];
Show[curve,arrows,surf]

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.