Home
> Uncategorized > String Around A Circle
String Around A Circle
This post is just a placeholder:
arc[t_] := {Sin[t], 1 - Cos[t]}
line[s_] :=
Module[{r},
r = t /.
Quiet@Solve[{Norm[t {Cos[s], Sin[s]}]} == 2 Pi - s && t > 0,
t][[1]];
{Red, Circle[{0, 1}, 1], Black,
Circle[{0, 1}, 1, {3 Pi/2, 3 Pi/2 + s}],
Line[{arc[s], arc[s] + r {Cos[s], Sin[s]}}]}]
The above was unnecessarily complex. Motivated by this question:
func[r_, a_, d_] :=
If[d <= r a, r {Sin[d/r], -Cos[d/r]},
r {Sin[a], -Cos[a]} + (d - r a) {Cos[a], Sin[a]}]
Using some points from the post:
pts = {{1.7320508075688772`, 0.`}, {3.4641016151377544`,
0.`}, {5.196152422706632`, 0.`}, {6.928203230275509`, 0.`}};
ds = Norm[# - pts[[1]]] & /@ pts;
rd = ds[[-1]]/(2 Pi);
cntr = {pts[[1, 1]], rd};
Manipulate[
ParametricPlot[cntr + func[rd, q, x], {x, 0, 2 Pi rd},
Epilog -> {Circle[cntr, rd], Red,
Point[Table[cntr + func[rd, q, j], {j, ds}]]},
PlotRange -> {{-4, 7}, {-2, 7}}], {q, 0, 2 Pi - 0.1}]
Wrapping points around circle:
Categories: Uncategorized
Comments (0)
Trackbacks (0)
Leave a comment
Trackback