Keywords: mathematica 3d cg parametricplot3d texture torus code program algorithm プログラム コード アルゴリズム 輪環 りんかん ドーナツ どーなつ トーラス とーらす geometric sculpture geometricsculpture shape geometry sculpture abstract 抽象 ちゅうしょう アブストラクト design pattern デザイン パターン graphic グラフィック グラフィクス structure 意匠 構造 symmetry 対称性 たいしょうせい シンメトリー 対称 たいしょう white background a = 10; (* center hole size of a torus *) b1 = 6;(* number of angle *) b2 = 6;(* number of wave *) c = 0; (* distance from the center of rotation *) d = 9; (* number of a torus *) h1 = 1; (* width of a torus *) h2 = 1; (* width of a torus *) SetOptions[ParametricPlot3D, PlotRange -> Full, Mesh -> None, Boxed -> False, Axes -> None, PlotPoints -> 500, ImageSize -> 3000, Background -> RGBColor[{200, 200, 240}/255], PlotStyle -> Directive[Specularity[White, 70], Texture[Import["D:/tmp/94.jpg"]]], TextureCoordinateFunction -> ({#4, #5 Pi} &), Lighting -> "Neutral"]; f[v_] := Sin[2 Sin[Sin[Sin[v]]]]; x = (a - h1 Cos[t] + h2 f[b1 s]) Cos[s] + c; y = (a - h1 Cos[t] + h2 f[b1 s]) Sin[s] + c; z = f[b2 t] + c; rm = Table[{x, y, z}.RotationMatrix[2 i Pi/d, {1, 0, 0}], {i, d}]; ParametricPlot3D[rm, {t, 0, 2 Pi}, {s, 0, 2 Pi}] (*--- The Texture *) a = 10; (* center hole size of a torus *) b1 = 6;(* number of angle *) b2 = 6;(* number of wave *) c = 0; (* distance from the center of rotation *) d = 9; (* number of a torus *) h1 = 1; (* width of a torus *) h2 = 1; (* width of a torus *) SetOptions[ParametricPlot3D, PlotRange -> Full, Mesh -> None, Boxed -> False, Axes -> None, PlotPoints -> 500, ImageSize -> 3000, Background -> RGBColor[{200, 200, 240}/255], PlotStyle -> Directive[Specularity[White, 70], Texture[Import["D:/tmp/94.jpg"]]], TextureCoordinateFunction -> ({#4, #5 Pi} &), Lighting -> "Neutral"]; f[v_] := Sin[2 Sin[Sin[Sin[v]]]]; x = (a - h1 Cos[t] + h2 f[b1 s]) Cos[s] + c; y = (a - h1 Cos[t] + h2 f[b1 s]) Sin[s] + c; z = f[b2 t] + c; rm = Table[{x, y, z}.RotationMatrix[2 i Pi/d, {1, 0, 0}], {i, d}]; ParametricPlot3D[rm, {t, 0, 2 Pi}, {s, 0, 2 Pi}] (*--- The Texture *) |