Skip to main content
deleted 5 characters in body
Source Link
cvgmt
  • 93.6k
  • 6
  • 115
  • 200

Edit

n = 15;
vor = VoronoiMesh[
   RandomPoint[Rectangle[{0, 0}, {2 π, 2 π}], 
    n], {{0, 2 π}, {0, 2 π}}];
polys = MeshPrimitives[vor, 2];
g = Show[Table[{Red, 
      Disk[x /. Last[#], Abs@First[#]] &@
       NMinimize[SignedRegionDistance[poly][x], 
        x ∈ poly]}, {poly, polys}] // Graphics];
curve3 = KnotData["Trefoil", "SpaceCurve"];
basis = Last[FrenetSerretSystem[curve3[t], t]];
{tangent, normal, binormal} = basis;
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 -> Texture[g], 
 TextureCoordinateScaling -> True, 
 TextureCoordinateFunction -> Function[{x, y, z, u, t}, {u, 109 t}], 
 ViewPoint -> {0.2, -0.3, 3.3}]

enter image description here

Original

A starting point.

curve3 = KnotData["Trefoil", "SpaceCurve"];
basis = Last[FrenetSerretSystem[curve3[t], t]];
{tangent, normal, binormal} = basis;
g = Graphics[{Red, Disk[{0, 0}, .5]}, PlotRangePadding -> .5];
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 -> Texture[g], 
 TextureCoordinateScaling -> False, 
 TextureCoordinateFunction -> Function[{x, y, z, t, u}, {x, y}], 
 ViewPoint -> {0.2, -0.3, 3.3}]

enter image description here

Edit

n = 15;
vor = VoronoiMesh[
   RandomPoint[Rectangle[{0, 0}, {2 π, 2 π}], 
    n], {{0, 2 π}, {0, 2 π}}];
polys = MeshPrimitives[vor, 2];
g = Show[Table[{Red, 
      Disk[x /. Last[#], Abs@First[#]] &@
       NMinimize[SignedRegionDistance[poly][x], 
        x ∈ poly]}, {poly, polys}] // Graphics];
curve3 = KnotData["Trefoil", "SpaceCurve"];
basis = Last[FrenetSerretSystem[curve3[t], t]];
{tangent, normal, binormal} = basis;
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 -> Texture[g], 
 TextureCoordinateScaling -> True, 
 TextureCoordinateFunction -> Function[{x, y, z, u, t}, {u, 10 t}], 
 ViewPoint -> {0.2, -0.3, 3.3}]

enter image description here

Original

A starting point.

curve3 = KnotData["Trefoil", "SpaceCurve"];
basis = Last[FrenetSerretSystem[curve3[t], t]];
{tangent, normal, binormal} = basis;
g = Graphics[{Red, Disk[{0, 0}, .5]}, PlotRangePadding -> .5];
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 -> Texture[g], 
 TextureCoordinateScaling -> False, 
 TextureCoordinateFunction -> Function[{x, y, z, t, u}, {x, y}], 
 ViewPoint -> {0.2, -0.3, 3.3}]

enter image description here

Edit

n = 15;
vor = VoronoiMesh[
   RandomPoint[Rectangle[{0, 0}, {2 π, 2 π}], 
    n], {{0, 2 π}, {0, 2 π}}];
polys = MeshPrimitives[vor, 2];
g = Show[Table[{Red, 
      Disk[x /. Last[#], Abs@First[#]] &@
       NMinimize[SignedRegionDistance[poly][x], 
        x ∈ poly]}, {poly, polys}] // Graphics];
curve3 = KnotData["Trefoil", "SpaceCurve"];
basis = Last[FrenetSerretSystem[curve3[t], t]];
{tangent, normal, binormal} = basis;
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 -> Texture[g], 
 TextureCoordinateScaling -> True, 
 TextureCoordinateFunction -> Function[{x, y, z, u, t}, {u, 9 t}], 
 ViewPoint -> {0.2, -0.3, 3.3}]

enter image description here

Original

A starting point.

curve3 = KnotData["Trefoil", "SpaceCurve"];
basis = Last[FrenetSerretSystem[curve3[t], t]];
{tangent, normal, binormal} = basis;
g = Graphics[{Red, Disk[{0, 0}, .5]}, PlotRangePadding -> .5];
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 -> Texture[g], 
 TextureCoordinateScaling -> False, 
 TextureCoordinateFunction -> Function[{x, y, z, t, u}, {x, y}], 
 ViewPoint -> {0.2, -0.3, 3.3}]

enter image description here

added 902 characters in body
Source Link
cvgmt
  • 93.6k
  • 6
  • 115
  • 200

Edit

n = 15;
vor = VoronoiMesh[
   RandomPoint[Rectangle[{0, 0}, {2 π, 2 π}], 
    n], {{0, 2 π}, {0, 2 π}}];
polys = MeshPrimitives[vor, 2];
g = Show[Table[{Red, 
      Disk[x /. Last[#], Abs@First[#]] &@
       NMinimize[SignedRegionDistance[poly][x], 
        x ∈ poly]}, {poly, polys}] // Graphics];
curve3 = KnotData["Trefoil", "SpaceCurve"];
basis = Last[FrenetSerretSystem[curve3[t], t]];
{tangent, normal, binormal} = basis;
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 -> Texture[g], 
 TextureCoordinateScaling -> True, 
 TextureCoordinateFunction -> Function[{x, y, z, u, t}, {u, 10 t}], 
 ViewPoint -> {0.2, -0.3, 3.3}]

enter image description here

Original

A starting point.

curve3 = KnotData["Trefoil", "SpaceCurve"];
basis = Last[FrenetSerretSystem[curve3[t], t]];
{tangent, normal, binormal} = basis;
g = Graphics[{Red, Disk[{0, 0}, .5]}, PlotRangePadding -> .5];
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 -> Texture[g], 
 TextureCoordinateScaling -> False, 
 TextureCoordinateFunction -> Function[{x, y, z, t, u}, {x, y}], 
 ViewPoint -> {0.2, -0.3, 3.3}]

enter image description here

A starting point.

curve3 = KnotData["Trefoil", "SpaceCurve"];
basis = Last[FrenetSerretSystem[curve3[t], t]];
{tangent, normal, binormal} = basis;
g = Graphics[{Red, Disk[{0, 0}, .5]}, PlotRangePadding -> .5];
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 -> Texture[g], 
 TextureCoordinateScaling -> False, 
 TextureCoordinateFunction -> Function[{x, y, z, t, u}, {x, y}], 
 ViewPoint -> {0.2, -0.3, 3.3}]

enter image description here

Edit

n = 15;
vor = VoronoiMesh[
   RandomPoint[Rectangle[{0, 0}, {2 π, 2 π}], 
    n], {{0, 2 π}, {0, 2 π}}];
polys = MeshPrimitives[vor, 2];
g = Show[Table[{Red, 
      Disk[x /. Last[#], Abs@First[#]] &@
       NMinimize[SignedRegionDistance[poly][x], 
        x ∈ poly]}, {poly, polys}] // Graphics];
curve3 = KnotData["Trefoil", "SpaceCurve"];
basis = Last[FrenetSerretSystem[curve3[t], t]];
{tangent, normal, binormal} = basis;
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 -> Texture[g], 
 TextureCoordinateScaling -> True, 
 TextureCoordinateFunction -> Function[{x, y, z, u, t}, {u, 10 t}], 
 ViewPoint -> {0.2, -0.3, 3.3}]

enter image description here

Original

A starting point.

curve3 = KnotData["Trefoil", "SpaceCurve"];
basis = Last[FrenetSerretSystem[curve3[t], t]];
{tangent, normal, binormal} = basis;
g = Graphics[{Red, Disk[{0, 0}, .5]}, PlotRangePadding -> .5];
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 -> Texture[g], 
 TextureCoordinateScaling -> False, 
 TextureCoordinateFunction -> Function[{x, y, z, t, u}, {x, y}], 
 ViewPoint -> {0.2, -0.3, 3.3}]

enter image description here

added 2 characters in body
Source Link
cvgmt
  • 93.6k
  • 6
  • 115
  • 200

A starting point.

curve3 = KnotData["Trefoil", "SpaceCurve"];
basis = Last[FrenetSerretSystem[curve3[t], t]];
{tangent, normal, binormal} = basis;
g = Graphics[{Red, Disk[{0, 0}, 1].5]}, PlotRangePadding -> 0];.5];
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 -> Texture[g], 
 TextureCoordinateScaling -> False, 
 TextureCoordinateFunction -> Function[{x, y, z, t, u}, {x, y}], 
 ViewPoint -> {0.2, -0.3, 3.3}]

enter image description hereenter image description here

A starting point.

curve3 = KnotData["Trefoil", "SpaceCurve"];
basis = Last[FrenetSerretSystem[curve3[t], t]];
{tangent, normal, binormal} = basis;
g = Graphics[{Red, Disk[{0, 0}, 1]}, PlotRangePadding -> 0];
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 -> Texture[g], 
 TextureCoordinateScaling -> False, 
 TextureCoordinateFunction -> Function[{x, y, z, t, u}, {x, y}], 
 ViewPoint -> {0.2, -0.3, 3.3}]

enter image description here

A starting point.

curve3 = KnotData["Trefoil", "SpaceCurve"];
basis = Last[FrenetSerretSystem[curve3[t], t]];
{tangent, normal, binormal} = basis;
g = Graphics[{Red, Disk[{0, 0}, .5]}, PlotRangePadding -> .5];
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 -> Texture[g], 
 TextureCoordinateScaling -> False, 
 TextureCoordinateFunction -> Function[{x, y, z, t, u}, {x, y}], 
 ViewPoint -> {0.2, -0.3, 3.3}]

enter image description here

Source Link
cvgmt
  • 93.6k
  • 6
  • 115
  • 200
Loading