Keywords: mathematica 3d cg parametricplot3d texture torus 輪環 りんかん ドーナツ どーなつ 四芒星 しぼうせい 四光星 しこうせい 四稜星 しりょうせい program プログラム code コード algorithm コード アルゴリズム geometric sculpture geometricsculpture shape geometry sculpture mapping テクスチャ マッピング 模様 もよう design pattern デザイン パターン graphic グラフィック グラフィクス structure 意匠 構造 symmetry 対称性 たいしょうせい シンメトリー 対称 たいしょう algorithm white background bouquet flower plant SetOptions[ParametricPlot3D, PlotRange -> Full, Mesh -> None, Boxed -> False, Axes -> None, PlotPoints -> 300, ImageSize -> 1000, PlotStyle -> Directive[Specularity[White, 30], Texture[Import["D:/tmp/861.jpg"]]], TextureCoordinateFunction -> ({#4 + #5, #5/Pi} &), Lighting -> "Neutral"]; a = 2;(* center hole size of a torus *) b = 4;(* tetra-torus *) d = 8;(* number of torus *) g[v_] := Sum[Cos[(2 k - 1) v]/(2 k - 1), {k, 4}]; x = (a - g[t] - Sin[b s]) Cos[s + Pi/(2 b)] ; y = Sin[t] ; z = (a - g[t] - Sin[b s]) Sin[s + Pi/(2 b)] ; rot = Table[{x, y, z}.RotationMatrix[2 i Pi/d, {1, 1, 1}], {i, d}]; ParametricPlot3D[rot, {t, 0, 2 Pi}, {s, 0, 2 Pi}] (*--- The Texture The g[] is a 4-partial sum of the Fourier series for Square wave. g[]は矩形波のフーリエ展開の最初の4項 *) SetOptions[ParametricPlot3D, PlotRange -> Full, Mesh -> None, Boxed -> False, Axes -> None, PlotPoints -> 300, ImageSize -> 1000, PlotStyle -> Directive[Specularity[White, 30], Texture[Import["D:/tmp/861.jpg"]]], TextureCoordinateFunction -> ({#4 + #5, #5/Pi} &), Lighting -> "Neutral"]; a = 2;(* center hole size of a torus *) b = 4;(* tetra-torus *) d = 8;(* number of torus *) g[v_] := Sum[Cos[(2 k - 1) v]/(2 k - 1), {k, 4}]; x = (a - g[t] - Sin[b s]) Cos[s + Pi/(2 b)] ; y = Sin[t] ; z = (a - g[t] - Sin[b s]) Sin[s + Pi/(2 b)] ; rot = Table[{x, y, z}.RotationMatrix[2 i Pi/d, {1, 1, 1}], {i, d}]; ParametricPlot3D[rot, {t, 0, 2 Pi}, {s, 0, 2 Pi}] (*--- The Texture The g[] is a 4-partial sum of the Fourier series for Square wave. g[]は矩形波のフーリエ展開の最初の4項 *) |