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