I need some help to plot a Satellite or cable knot. For example, see figure A torus knot and a cable knot. (a) The red curve lying on the yellow torus is a (2,3) torus knot. (b) The embedded yellow torus has a (2,3) torus knot at its core. The red curve is a cable knot with Newton pairs (2,3) and (3,2).

(1) https://mathworld.wolfram.com/SatelliteKnot.html

(2) https://journals.aps.org/pra/abstract/10.1103/PhysRevA.95.053820

enter image description here

  • 1
    $\begingroup$ Might be useful mathematica.stackexchange.com/a/115445/72682 $\endgroup$
    – flinty
    Apr 16, 2021 at 21:53
  • $\begingroup$ See what you can do with ParametricPlot3D, you can Show one for the yellow surface and one for the red curve in one plot. I'll post recrations soon. $\endgroup$
    – Adam
    Apr 16, 2021 at 22:13

1 Answer 1


I have completely ignored all specifications of the knots (i.e. I don't know what the definition of Newton pair is or exactly what the tuples correspond to). So, flying by the seat of my pants,

here's my version of the donut


although personally I like to play with opacities for surface curves


Code for the first version:

With[{torus = {(2 + Cos@#2) Cos@#, (2 + Cos@#2) Sin@#, Sin@#2} &}, 
   torus[\[Theta], \[Phi]], {\[Theta], 0, 2 \[Pi]}, {\[Phi], 0, 
    2 \[Pi]}, MeshStyle -> None], 
   torus[3 \[Theta] + 2, 2 \[Theta]], {\[Theta], 0, 2 \[Pi]}, 
   PlotStyle -> Darker@Red]]]

My knot is less faithful to the given one


In particular, I think the red curve is parameterized slightly differently.

With[{torus = {(2 + Cos@#) Cos@#2, (2 + Cos@#) Sin@#2, Sin@#1} &}, 
 With[{fs = 
  Simplify /@ 
    torus[3 \[Theta], 2 \[Theta]], \[Theta]]}, 
    torus[3 \[Theta], 
  2 \[Theta]] + .5 Cos[\[Phi]] fs[[2]] + .5 Sin[\[Phi]] fs[[
    3]], {\[Theta], 0, 2 \[Pi]}, {\[Phi], 0, 2 \[Pi]}, 
  MeshStyle -> None, PlotPoints -> 50], 
 torus[3 \[Theta], 
  2 \[Theta]] + .5 Cos[13 \[Theta]] fs[[2]] + .5 Sin[
   13 \[Theta]] fs[[3]], {\[Theta], 0, 2 \[Pi]}, 
 PlotStyle -> Darker@Red]]]]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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