Keywords: mathematica 3d cg parametricplot3d texture torus code program algorithm プログラム コード アルゴリズム 輪環 りんかん ドーナツ どーなつ lissajous リサージュ mesh 網目 あみめ トーラス とーらす geometric sculpture geometricsculpture shape geometry sculpture mapping テクスチャ マッピング 模様 もよう design pattern デザイン パターン graphic グラフィック グラフィクス structure 意匠 構造 symmetry 対称性 たいしょうせい シンメトリー 対称 たいしょう indoor white background wheel ancient round circle tangle a = -8; (* center hole size of a torus *) b1 = 5;(* number of cross *) b2 = 7;(* number of cross *) c = 18; (* distance from the center of rotation *) d = 5; (* number of torus *) w = 4; (* gap width *) h = 0.5; (* height *) SetOptions[ParametricPlot3D, PlotRange -> Full, Mesh -> None, Boxed -> False, Axes -> None, PlotPoints -> 500, ImageSize -> 3000, Background -> RGBColor[{240, 240, 200}/255], PlotStyle -> Directive[Specularity[White, 70], Texture[Import["D:/tmp/93.jpg"]]], TextureCoordinateFunction -> ({#4, #5/Pi} &), Lighting -> "Neutral"]; x = (a - Cos[t] + w Sin[b1 s]) Cos[b2 s]; y = (a - Cos[t] + w Sin[b1 s]) Sin[b2 s]; z = h (w Sin[b1 s] + Sin[t]) + c; rm = Table[{x, y, z}.RotationMatrix[2 i Pi/d, {1, 1, 1}], {i, d}]; ParametricPlot3D[rm, {t, 0, 2 Pi}, {s, 0, 2 Pi}] (*--- The Texture *) a = -8; (* center hole size of a torus *) b1 = 5;(* number of cross *) b2 = 7;(* number of cross *) c = 18; (* distance from the center of rotation *) d = 5; (* number of torus *) w = 4; (* gap width *) h = 0.5; (* height *) SetOptions[ParametricPlot3D, PlotRange -> Full, Mesh -> None, Boxed -> False, Axes -> None, PlotPoints -> 500, ImageSize -> 3000, Background -> RGBColor[{240, 240, 200}/255], PlotStyle -> Directive[Specularity[White, 70], Texture[Import["D:/tmp/93.jpg"]]], TextureCoordinateFunction -> ({#4, #5/Pi} &), Lighting -> "Neutral"]; x = (a - Cos[t] + w Sin[b1 s]) Cos[b2 s]; y = (a - Cos[t] + w Sin[b1 s]) Sin[b2 s]; z = h (w Sin[b1 s] + Sin[t]) + c; rm = Table[{x, y, z}.RotationMatrix[2 i Pi/d, {1, 1, 1}], {i, d}]; ParametricPlot3D[rm, {t, 0, 2 Pi}, {s, 0, 2 Pi}] (*--- The Texture *) |