Skip to main content
added 484 characters in body
Source Link
kglr
  • 403.6k
  • 18
  • 506
  • 962

enter image description here

Multicolumn[Graphics3D[{SurfaceAppearance["TextureShading", Texture[disks]], 
     Tube[BSplineCurve[KnotData[#, "SpaceCurve"] /@ Subdivide[0, 2 Pi, 100], 
       SplineClosed -> True], .4]}, 
    Boxed -> False, ImageSize -> Medium, ViewPoint -> {0, 0, 5}] & /@ 
 {{"PretzelKnot", {5, 3, 2}}, "FigureEight",
  {"TorusKnot", {3, 5}}, {"TorusKnot", {4, 9}}}, 2] 

Update: In versions 12.1+, we can use the directive SurfaceAppearance["TextureShading", Texture[img]] to texturize any surface with img:

Update: In versions 12.1+, we can use the directive SurfaceAppearance["TextureShading", Texture[img]] to texturize any surface with img:

enter image description here

Multicolumn[Graphics3D[{SurfaceAppearance["TextureShading", Texture[disks]], 
     Tube[BSplineCurve[KnotData[#, "SpaceCurve"] /@ Subdivide[0, 2 Pi, 100], 
       SplineClosed -> True], .4]}, 
    Boxed -> False, ImageSize -> Medium, ViewPoint -> {0, 0, 5}] & /@ 
 {{"PretzelKnot", {5, 3, 2}}, "FigureEight",
  {"TorusKnot", {3, 5}}, {"TorusKnot", {4, 9}}}, 2] 

Update: In versions 12.1+, we can use the directive SurfaceAppearance["TextureShading", Texture[img]] to texturize any surface with img:

added 503 characters in body
Source Link
kglr
  • 403.6k
  • 18
  • 506
  • 962

UsingWe can construct a Tube with the functionsdesired radius using curve3KnotData["Trefoil", "SpaceCurve"]:

Graphics3D[{SurfaceAppearance["TextureShading", Texture[disks]], 
  Tube[BSplineCurve[KnotData["Trefoil", "SpaceCurve"] /@ Subdivide[0, 2 Pi, 100], 
    SplineClosed -> True], .5]}, 
 Boxed -> False, ImageSize -> Large] 

enter image description here

Alternatively, we can use normalSurfaceAppearance["TextureShading", Texture[disks]] andas the setting for binormalPlotStyle fromin ParametricPlot3D in cvgmt's answer:

Using the functions curve3, normal and binormal from cvgmt's answer:

We can construct a Tube with the desired radius using KnotData["Trefoil", "SpaceCurve"]:

Graphics3D[{SurfaceAppearance["TextureShading", Texture[disks]], 
  Tube[BSplineCurve[KnotData["Trefoil", "SpaceCurve"] /@ Subdivide[0, 2 Pi, 100], 
    SplineClosed -> True], .5]}, 
 Boxed -> False, ImageSize -> Large] 

enter image description here

Alternatively, we can use SurfaceAppearance["TextureShading", Texture[disks]] as the setting for PlotStyle in ParametricPlot3D in cvgmt's answer:

added 474 characters in body
Source Link
kglr
  • 403.6k
  • 18
  • 506
  • 962

Using the functions curve3, normal and binormal from cvgmt's answer:

ParametricPlot3D[curve3[t] + .6 (Cos[u] normal + Sin[u] binormal), 
 {u, 0, 2 π}, {t, 0, 2 π}, PlotPoints -> 80, Mesh -> None, 
 Boxed -> False, Axes -> False, 
 PlotStyle -> SurfaceAppearance["TextureShading", Texture[disks]], 
 ViewPoint -> {0.2, -0.3, 3.3}, Lighting->"Neutral"]

enter image description here

Original answer:

Original answer:

Using the functions curve3, normal and binormal from cvgmt's answer:

ParametricPlot3D[curve3[t] + .6 (Cos[u] normal + Sin[u] binormal), 
 {u, 0, 2 π}, {t, 0, 2 π}, PlotPoints -> 80, Mesh -> None, 
 Boxed -> False, Axes -> False, 
 PlotStyle -> SurfaceAppearance["TextureShading", Texture[disks]], 
 ViewPoint -> {0.2, -0.3, 3.3}, Lighting->"Neutral"]

enter image description here

Original answer:

added 608 characters in body
Source Link
kglr
  • 403.6k
  • 18
  • 506
  • 962
Loading
Source Link
kglr
  • 403.6k
  • 18
  • 506
  • 962
Loading