Skip to main content
added 43 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
L = 28;32;
r1[t_] = {1.5 + 1.5 Cos[π - t], Sin[π - t]};
r2[t_] = RotationTransform[{t^2{5, 4}, {0, 1}}]@{5 t, 4 Sin[t]};
r3[t_] = {-t^2, 2 t};
r4[t_] = {5 + 5 Cos[π - t], 4 Sin[π - t]};
{t1, t2, t3, t4} = 
  Module[{t, s}, 
    Function[r, 
     NDSolve[{t'[s]*Norm[r'[t[s]]] == 1, t[0] == 0}, t, {s, 0, L}][[1,
        1, 2]]]] /@ {r1, r2, r3, r4};
{c1, c2, c3, c4} = {r1@*t1, r2@*t2, r3@*t3, r4@*t4};
trans[c2_, c1_][s_, s0_] := 
  RotationTransform[{c1'@s0, c2'@s0}, c2@s0]@
   TranslationTransform[c2@s0 - c1@s0]@c1@s;
Animate[Show[
  ParametricPlot[
   Table[c@s, {c, {c1, c2, c3, c4}}] // Evaluate, {s, 0, L}, 
   PlotStyle -> {Red, Orange, Green, Cyan}], 
  Graphics[{Arrowheads[Medium], 
    Table[Arrow[{c@s0, c@s0 + c'@s0}], {c, {c1, c2, c3, c4}}]}], 
  ParametricPlot[
   Table[trans[c, c1][s, s0], {c, {c2, c3, c4}}] // Evaluate, {s, 0, 
    L}, PlotStyle -> {Orange, Green, Cyan}], 
  PlotRange -> {{-25, 25}, {-8, 20}}, ImageSize -> Large], {s0, 0, L},
  DefaultDuration -> 10]

enter image description hereenter image description here

L = 28;
r1[t_] = {1.5 + 1.5 Cos[π - t], Sin[π - t]};
r2[t_] = {t^2, 4 t};
r3[t_] = {-t^2, t};
r4[t_] = {5 + 5 Cos[π - t], 4 Sin[π - t]};
{t1, t2, t3, t4} = 
  Module[{t, s}, 
    Function[r, 
     NDSolve[{t'[s]*Norm[r'[t[s]]] == 1, t[0] == 0}, t, {s, 0, L}][[1,
        1, 2]]]] /@ {r1, r2, r3, r4};
{c1, c2, c3, c4} = {r1@*t1, r2@*t2, r3@*t3, r4@*t4};
trans[c2_, c1_][s_, s0_] := 
  RotationTransform[{c1'@s0, c2'@s0}, c2@s0]@
   TranslationTransform[c2@s0 - c1@s0]@c1@s;
Animate[Show[
  ParametricPlot[
   Table[c@s, {c, {c1, c2, c3, c4}}] // Evaluate, {s, 0, L}, 
   PlotStyle -> {Red, Orange, Green, Cyan}], 
  Graphics[{Arrowheads[Medium], 
    Table[Arrow[{c@s0, c@s0 + c'@s0}], {c, {c1, c2, c3, c4}}]}], 
  ParametricPlot[
   Table[trans[c, c1][s, s0], {c, {c2, c3, c4}}] // Evaluate, {s, 0, 
    L}, PlotStyle -> {Orange, Green, Cyan}], 
  PlotRange -> {{-25, 25}, {-8, 20}}, ImageSize -> Large], {s0, 0, L},
  DefaultDuration -> 10]

enter image description here

L = 32;
r1[t_] = {1.5 + 1.5 Cos[π - t], Sin[π - t]};
r2[t_] = RotationTransform[{{5, 4}, {0, 1}}]@{5 t, 4 Sin[t]};
r3[t_] = {-t^2, 2 t};
r4[t_] = {5 + 5 Cos[π - t], 4 Sin[π - t]};
{t1, t2, t3, t4} = 
  Module[{t, s}, 
    Function[r, 
     NDSolve[{t'[s]*Norm[r'[t[s]]] == 1, t[0] == 0}, t, {s, 0, L}][[1,
        1, 2]]]] /@ {r1, r2, r3, r4};
{c1, c2, c3, c4} = {r1@*t1, r2@*t2, r3@*t3, r4@*t4};
trans[c2_, c1_][s_, s0_] := 
  RotationTransform[{c1'@s0, c2'@s0}, c2@s0]@
   TranslationTransform[c2@s0 - c1@s0]@c1@s;
Animate[Show[
  ParametricPlot[
   Table[c@s, {c, {c1, c2, c3, c4}}] // Evaluate, {s, 0, L}, 
   PlotStyle -> {Red, Orange, Green, Cyan}], 
  Graphics[{Arrowheads[Medium], 
    Table[Arrow[{c@s0, c@s0 + c'@s0}], {c, {c1, c2, c3, c4}}]}], 
  ParametricPlot[
   Table[trans[c, c1][s, s0], {c, {c2, c3, c4}}] // Evaluate, {s, 0, 
    L}, PlotStyle -> {Orange, Green, Cyan}], 
  PlotRange -> {{-25, 25}, {-8, 20}}, ImageSize -> Large], {s0, 0, L},
  DefaultDuration -> 10]

enter image description here

added 74 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
L = 20;28;
r1[t_] = {1.5 + 1.5 Cos[π - t], Sin[π - t]};
r2[t_] = {t^2, 34 t};
r3[t_] = {-t^2, t};
r4[t_] = {05 + 5 Cos[π - t], t4 Sin[π - t]};
{t1, t2, t3, t4} = 
  Module[{t, s}, 
    Function[r, 
     NDSolve[{t'[s]*Norm[r'[t[s]]] == 1, t[0] == 0}, t, {s, 0, L}][[1,
        1, 2]]]] /@ {r1, r2, r3, r4};
{c1, c2, c3, c4} = {r1@*t1, r2@*t2, r3@*t3, r4@*t4};
trans[c2_, c1_][s_, s0_] := 
  RotationTransform[{c1'@s0, c2'@s0}, c2@s0]@
   TranslationTransform[c2@s0 - c1@s0]@c1@s;
Animate[Show[
  ParametricPlot[
   Table[c@s, {c, {c1, c2, c3, c4}}] // Evaluate, {s, 0, L}, 
   PlotStyle -> {Red, CyanOrange, Green, OrangeCyan}], 
  Graphics[Table[Arrow[Graphics[{Arrowheads[Medium], 
    Table[Arrow[{c@s0, c@s0 + c'@s0}], {c, {c1, c2, c3, c4}}]]]}],
   
  ParametricPlot[
   Table[trans[c, c1][s, s0], {c, {c2, c3, c4}}] // Evaluate, {s, 0, 
    L}, PlotStyle -> {CyanOrange, Green, OrangeCyan}], 
  PlotRange -> {{-1525, 1525}, {-28, 20}}], ImageSize -> Large], {s0, 0, L}, 
  DefaultDuration -> 20]10]

enter image description hereenter image description here

L = 20;
r1[t_] = {1.5 + 1.5 Cos[π - t], Sin[π - t]};
r2[t_] = {t^2, 3 t};
r3[t_] = {-t^2, t};
r4[t_] = {0, t};
{t1, t2, t3, t4} = 
  Module[{t, s}, 
    Function[r, 
     NDSolve[{t'[s]*Norm[r'[t[s]]] == 1, t[0] == 0}, t, {s, 0, L}][[1,
        1, 2]]]] /@ {r1, r2, r3, r4};
{c1, c2, c3, c4} = {r1@*t1, r2@*t2, r3@*t3, r4@*t4};
trans[c2_, c1_][s_, s0_] := 
  RotationTransform[{c1'@s0, c2'@s0}, c2@s0]@
   TranslationTransform[c2@s0 - c1@s0]@c1@s;
Animate[Show[
  ParametricPlot[
   Table[c@s, {c, {c1, c2, c3, c4}}] // Evaluate, {s, 0, L}, 
   PlotStyle -> {Red, Cyan, Green, Orange}], 
  Graphics[Table[Arrow[{c@s0, c@s0 + c'@s0}], {c, {c1, c2, c3, c4}}]],
    ParametricPlot[
   Table[trans[c, c1][s, s0], {c, {c2, c3, c4}}] // Evaluate, {s, 0, 
    L}, PlotStyle -> {Cyan, Green, Orange}], 
  PlotRange -> {{-15, 15}, {-2, 20}}], {s0, 0, L}, 
 DefaultDuration -> 20]

enter image description here

L = 28;
r1[t_] = {1.5 + 1.5 Cos[π - t], Sin[π - t]};
r2[t_] = {t^2, 4 t};
r3[t_] = {-t^2, t};
r4[t_] = {5 + 5 Cos[π - t], 4 Sin[π - t]};
{t1, t2, t3, t4} = 
  Module[{t, s}, 
    Function[r, 
     NDSolve[{t'[s]*Norm[r'[t[s]]] == 1, t[0] == 0}, t, {s, 0, L}][[1,
        1, 2]]]] /@ {r1, r2, r3, r4};
{c1, c2, c3, c4} = {r1@*t1, r2@*t2, r3@*t3, r4@*t4};
trans[c2_, c1_][s_, s0_] := 
  RotationTransform[{c1'@s0, c2'@s0}, c2@s0]@
   TranslationTransform[c2@s0 - c1@s0]@c1@s;
Animate[Show[
  ParametricPlot[
   Table[c@s, {c, {c1, c2, c3, c4}}] // Evaluate, {s, 0, L}, 
   PlotStyle -> {Red, Orange, Green, Cyan}], 
  Graphics[{Arrowheads[Medium], 
    Table[Arrow[{c@s0, c@s0 + c'@s0}], {c, {c1, c2, c3, c4}}]}],  
  ParametricPlot[
   Table[trans[c, c1][s, s0], {c, {c2, c3, c4}}] // Evaluate, {s, 0, 
    L}, PlotStyle -> {Orange, Green, Cyan}], 
  PlotRange -> {{-25, 25}, {-8, 20}}, ImageSize -> Large], {s0, 0, L},
  DefaultDuration -> 10]

enter image description here

edited body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179

enter image description hereenter image description here

enter image description here

enter image description here

deleted 2 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
added 995 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
added 8 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
deleted 15 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
added 108 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
deleted 4 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
[Edit removed during grace period]
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
deleted 33 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
deleted 82 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
deleted 82 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
deleted 82 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
deleted 82 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
deleted 82 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
added 257 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
added 13 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
added 30 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
added 30 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
added 11 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
added 1616 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
deleted 102 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
deleted 2 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
deleted 2 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading