Keywords: mathematica 3d cg parametricplot3d texture torus knot 輪環 りんかん ドーナツ どーなつ 結び むすび 捩れ よじれ プログラム コード code program algorithm コード アルゴリズム geometric sculpture geometricsculpture shape geometry sculpture mapping テクスチャ マッピング 模様 もよう abstract 抽象 ちゅうしょう アブストラクト design pattern デザイン パターン graphic グラフィック グラフィクス structure 意匠 構造 symmetry 対称性 たいしょうせい シンメトリー 対称 たいしょう algorithm indoor black background a = 5; (* center hole size of a torus *) b1 = 9; (* number of cross *) b2 = 3; (* number of cross *) w = 2;(*gap width*) SetOptions[ParametricPlot3D, PlotRange -> Full, Mesh -> None, Boxed -> False, Axes -> None, PlotPoints -> 400, ImageSize -> 1500, Background -> Darker[Green, 0.8], PlotStyle -> Directive[Specularity[White, 90], Texture[Import["D:/tmp/861.jpg"]]], TextureCoordinateFunction -> ({#4 + #5, #5 / Pi} &), Lighting -> "Neutral"]; g[v_] := Sum[Cos[(2 k - 1) v]/(2 k - 1), {k, 4}]; x = (a - g[t] + w Sin[b1 s]) Cos[b2 s]; y = (a - g[t] + w Sin[b1 s]) Sin[b2 s]; z = Cos[b1 s] + Sin[t]; ParametricPlot3D[{x, y, z}, {t, 0, 2 Pi}, {s, 0, 2 Pi}] (*--- The Texture is this: www.flickr.com/photos/tanaka_juuyoh/5412528282/ *) a = 5; (* center hole size of a torus *) b1 = 9; (* number of cross *) b2 = 3; (* number of cross *) w = 2;(*gap width*) SetOptions[ParametricPlot3D, PlotRange -> Full, Mesh -> None, Boxed -> False, Axes -> None, PlotPoints -> 400, ImageSize -> 1500, Background -> Darker[Green, 0.8], PlotStyle -> Directive[Specularity[White, 90], Texture[Import["D:/tmp/861.jpg"]]], TextureCoordinateFunction -> ({#4 + #5, #5 / Pi} &), Lighting -> "Neutral"]; g[v_] := Sum[Cos[(2 k - 1) v]/(2 k - 1), {k, 4}]; x = (a - g[t] + w Sin[b1 s]) Cos[b2 s]; y = (a - g[t] + w Sin[b1 s]) Sin[b2 s]; z = Cos[b1 s] + Sin[t]; ParametricPlot3D[{x, y, z}, {t, 0, 2 Pi}, {s, 0, 2 Pi}] (*--- The Texture is this: www.flickr.com/photos/tanaka_juuyoh/5412528282/ *) |