Keywords: mathematica 3d cg parametricplot3d texture torus 輪環 りんかん ドーナツ どーなつ 四芒星 しぼうせい 四光星 しこうせい 四稜星 しりょうせい code program algorithm コード プログラム アルゴリズム geometric sculpture geometricsculpture shape geometry sculpture mapping テクスチャ マッピング 模様 もよう abstract 抽象 ちゅうしょう アブストラクト design pattern デザイン パターン graphic グラフィック グラフィクス structure 意匠 構造 symmetry 対称性 たいしょうせい シンメトリー 対称 たいしょう algorithm コード black background foliage indoor plant organic pattern a = 4; (* center hole size *) b = 4; (* tetra-torus *) c = -4; (* distance from the center of rotation *) d = 2; (* number of torus *) h = 3; (* height of a torus *) SetOptions[ParametricPlot3D, PlotRange -> Full, Mesh -> None, Boxed -> False, Axes -> False, PlotPoints -> 400, ImageSize -> 1600, Background -> Darker[Orange, 0.8], PlotStyle -> Directive[Specularity[White, 30], Texture[Import["D:/tmp/71.jpg"]]], TextureCoordinateFunction -> ({#4 + #5, #5 / Pi} &), Lighting -> "Neutral"]; x = (a - Cos[t] - Sin[b s]) Cos[s]; y = (a - Cos[t] - Sin[b s]) Sin[s]; z = (a - Sin[t] - h Sin[b s]) + c; rot = Table[{x, y, z}.RotationMatrix[2 i Pi/d, {1, 1, 0}], {i, d}]; ParametricPlot3D[rot, {t, 0, 2 Pi}, {s, 0, 2 Pi}] (*--- The Texture is this: www.flickr.com/photos/tanaka_juuyoh/5239255695/ *) a = 4; (* center hole size *) b = 4; (* tetra-torus *) c = -4; (* distance from the center of rotation *) d = 2; (* number of torus *) h = 3; (* height of a torus *) SetOptions[ParametricPlot3D, PlotRange -> Full, Mesh -> None, Boxed -> False, Axes -> False, PlotPoints -> 400, ImageSize -> 1600, Background -> Darker[Orange, 0.8], PlotStyle -> Directive[Specularity[White, 30], Texture[Import["D:/tmp/71.jpg"]]], TextureCoordinateFunction -> ({#4 + #5, #5 / Pi} &), Lighting -> "Neutral"]; x = (a - Cos[t] - Sin[b s]) Cos[s]; y = (a - Cos[t] - Sin[b s]) Sin[s]; z = (a - Sin[t] - h Sin[b s]) + c; rot = Table[{x, y, z}.RotationMatrix[2 i Pi/d, {1, 1, 0}], {i, d}]; ParametricPlot3D[rot, {t, 0, 2 Pi}, {s, 0, 2 Pi}] (*--- The Texture is this: www.flickr.com/photos/tanaka_juuyoh/5239255695/ *) |