Re: Artistic impression of cloudy structures
- To: mathgroup at smc.vnet.net
- Subject: [mg121641] Re: Artistic impression of cloudy structures
- From: Roger Bagula <roger.bagula at gmail.com>
- Date: Fri, 23 Sep 2011 03:44:52 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j5f66o$q7k$1@smc.vnet.net>
The skycolor model by Jacopo Bertolotti is very good!
Here is a way that is actually used in ray tracing program
like Bryce; you put flat area larger and behind the scene
and project you ski image on that:
Clear[x, y, z, n, t, r, p, skycolor]
x1 = Cos[t]^3*Sin[p];
y1 = Sin[t]^3*Sin[p];
z1 = Cos[p];
w1 = {x1, z1, y1};
skycolor[x_] := RGBColor[x, x, 1];
(* forground model*)
g1 =
ParametricPlot3D[w1, {t, 0, Pi}, {p, -Pi, Pi}, Axes -> True,
Mesh -> None, Boxed -> False, PlotPoints -> 30,
TextureCoordinateFunction -> ({2 #4, #5} &),
PlotStyle ->
Directive[Magenta, Specularity[White, 50],
Texture[ExampleData[{"ColorTexture", "Metal4"}]]],
Lighting -> "Neutral"]
x2 = 4*Cos[t]*p/5;
y2 = 4*Sin[t]*p/5;
z2 = 0;
(* disk to project the sky onto in xz plane*)
gb =
ParametricPlot3D[{x2, z2, y2}, {t, -Pi, Pi}, {p, 0, 5},
Boxed -> False, Axes -> True,
PlotStyle -> {Black, Specularity[White, 10]}, Mesh -> False,
ColorFunction -> skycolor]
(* put them together with a limited field of vision*)
Show[{g1, gb},
PlotRange -> {{-2, 2}, {-2, 2}, {-2, 2}}, Axes -> False]
Roger Bagula
Roger Bagula