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