Re: Problem:a texture on only one face of a Polyhedron
- To: mathgroup at smc.vnet.net
- Subject: [mg122838] Re: Problem:a texture on only one face of a Polyhedron
- From: Yves Klett <yves.klett at googlemail.com>
- Date: Fri, 11 Nov 2011 07:33:59 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j9irn2$8f1$1@smc.vnet.net>
Hi,
the following is straight from the documentation of Texture (Neat
Examples) with Opacity of EdgeForm set to 1, because otherwise the
textures are not actually displayed on my machine. Perhaps you can crib
some of the code.
Manipulate[
Graphics3D[{Specularity[White, 20],
Texture[ImageCrop[
ExampleData[{"ColorTexture", "WhiteMarble"}], {128, 128}]],
EdgeForm[
Opacity[1]], (Append[#1, {VertexTextureCoordinates ->
With[{n = Length[First[#1]]},
Table[1/2 {Cos[2 \[Pi] i/n], Sin[2 \[Pi] i/n]} + {1/2,
1/2}, {i, 0, n - 1}]]}] &) /@
Flatten[Normal[PolyhedronData[p, "Faces"]]]},
Lighting -> "Neutral"], {{p, "RhombicHexecontahedron",
"polyhedron"}, PolyhedronData[]}]
Regards,
Yves
Am 11.11.2011 11:00, schrieb Roger Bagula:
> The problem is the
> VertexTextureCoordinates ->
> They seem to specify only one face specifically.
> I'd like to get the texture on all the faces.
> Here what runs to give one textured face:
>
> gm = ExampleData[{"ColorTexture", "WhiteMarble"}];
> v = {{0, 0, -(5/Sqrt[50 - 10 Sqrt[5]])}, {0, 0, 5/Sqrt[
> 50 - 10 Sqrt[5]]}, {-Sqrt[(2/(5 - Sqrt[5]))],
> 0, -(1/Sqrt[10 - 2 Sqrt[5]])}, {Sqrt[2/(5 - Sqrt[5])], 0, 1/Sqrt[
> 10 - 2 Sqrt[5]]}, {(1 + Sqrt[5])/(
> 2 Sqrt[10 - 2 Sqrt[5]]), -(1/2), -(1/Sqrt[10 - 2 Sqrt[5]])}, {(
> 1 + Sqrt[5])/(2 Sqrt[10 - 2 Sqrt[5]]), 1/
> 2, -(1/Sqrt[10 - 2 Sqrt[5]])}, {-((1 + Sqrt[5])/(
> 2 Sqrt[10 - 2 Sqrt[5]])), -(1/2), 1/Sqrt[
> 10 - 2 Sqrt[5]]}, {-((1 + Sqrt[5])/(2 Sqrt[10 - 2 Sqrt[5]])), 1/2,
> 1/Sqrt[10 - 2 Sqrt[5]]}, {-((-1 + Sqrt[5])/(
> 2 Sqrt[10 - 2 Sqrt[5]])), -(1/2) Sqrt[(5 + Sqrt[5])/(
> 5 - Sqrt[5])], -(1/Sqrt[10 - 2 Sqrt[5]])}, {-((-1 + Sqrt[5])/(
> 2 Sqrt[10 - 2 Sqrt[5]])),
> 1/2 Sqrt[(5 + Sqrt[5])/(5 - Sqrt[5])], -(1/Sqrt[
> 10 - 2 Sqrt[5]])}, {(-1 + Sqrt[5])/(
> 2 Sqrt[10 - 2 Sqrt[5]]), -(1/2) Sqrt[(5 + Sqrt[5])/(5 - Sqrt[5])],
> 1/Sqrt[10 - 2 Sqrt[5]]}, {(-1 + Sqrt[5])/(
> 2 Sqrt[10 - 2 Sqrt[5]]), 1/2 Sqrt[(5 + Sqrt[5])/(5 - Sqrt[5])], 1/
> Sqrt[10 - 2 Sqrt[5]]}};
> i = {{2, 12, 8}, {2, 8, 7}, {2, 7, 11}, {2, 11, 4}, {2, 4, 12}, {5, 9,
> 1}, {6, 5, 1}, {10, 6, 1}, {3, 10, 1}, {9, 3, 1}, {12, 10,
> 8}, {8, 3, 7}, {7, 9, 11}, {11, 5, 4}, {4, 6, 12}, {5, 11, 9}, {6,
> 4, 5}, {10, 12, 6}, {3, 8, 10}, {9, 7, 3}};
> g5 = Graphics3D[{Blue, Opacity[0.5], Specularity[White, 20],
> Texture[gm],
> GraphicsComplex[v, Polygon[i],
> VertexTextureCoordinates -> {{1, 0}, {1/4 (-1 + Sqrt[5]), Sqrt[
> 5/8 + Sqrt[5]/8]}, {1/4 (-1 - Sqrt[5]), Sqrt[
> 5/8 - Sqrt[5]/8]}, {1/4 (-1 - Sqrt[5]), -Sqrt[
> 5/8 - Sqrt[5]/8]}, {1/4 (-1 + Sqrt[5]), -Sqrt[
> 5/8 + Sqrt[5]/8]}}]}, Boxed -> False]
>