Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

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]
>



  • Prev by Date: Re: How to specify the data-range with Import
  • Next by Date: Re: Keeping track of variables used in Mathematica
  • Previous by thread: Problem:a texture on only one face of a Polyhedron
  • Next by thread: Re: Problem:a texture on only one face of a Polyhedron