Re: Problems updating Graphics3D Polygons

• To: mathgroup at smc.vnet.net
• Subject: [mg77625] Re: Problems updating Graphics3D Polygons
• From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
• Date: Thu, 14 Jun 2007 05:19:42 -0400 (EDT)
• Organization: The Open University, Milton Keynes, UK
• References: <f4ol3r\$6uj\$1@smc.vnet.net>

```chuck009 wrote:
> Hello guys.  Can you help me write a function which takes a Graphics3D object and multiplies the z-coordinate of each point of all the polygons by a ratio.  This is what I have so far but it's not working:
>
> In[473]:=
> ExpandZ[g_,ratio_]:=
>     g/.Polygon[pts_]:>Polygon[{#[[1]],#[[2]],#[[3]]*ratio}& /@pts];
>
> When I test it with this simple Graphics3D object:
>
> gobject=Graphics3D[{Polygon[{{0.,0.5,1.28},{0.,0.,1.},{0.5,0.,1.28},{0.5,
>             0.5,1.64}}],Polygon[{{
> 0.5,0.5,1.64},{0.5,0.,1.28},{1.,0.,2.71},{1.,0.5,3.49}}]}];
>
> It doesn't do anything:
>
> g2=Expand[gobject,2]
-----^^^^^^
Should have been *ExpandZ*

> InputForm[g2]
>
> Out[475]=
> â??Graphics3Dâ??
>
> Out[476]//InputForm=
> Graphics3D[{Polygon[{{0., 0.5, 1.28}, {0., 0., 1.},
>     {0.5, 0., 1.28}, {0.5, 0.5, 1.64}}],
>   Polygon[{{0.5, 0.5, 1.64}, {0.5, 0., 1.28},
>     {1., 0., 2.71}, {1., 0.5, 3.49}}]}]
>
> I'll keep working on it.  Thanks!
>

Your code is fine. However, you have made a spelling mistake: you do not
want Expand bur *ExpandZ* (that is why it is useful to use a lowercase
letter at the beginning of the name of a user define function :-)

In[1]:= ExpandZ[g_, ratio_] := g /. Polygon[pts_] :>
Polygon[({#1[[1]], #1[[2]], #1[[3]]*ratio} & ) /@ pts];
gobject = Graphics3D[{Polygon[{{0., 0.5, 1.28}, {0., 0., 1.},
{0.5, 0., 1.28}, {0.5, 0.5, 1.64}}],
Polygon[{{0.5, 0.5, 1.64}, {0.5, 0., 1.28}, {1., 0., 2.71},
{1., 0.5, 3.49}}]}];
g2 = ExpandZ[gobject, 2]
InputForm[g2]

Out[4]//InputForm=
Graphics3D[{Polygon[{{0., 0.5, 2.56}, {0., 0., 2.}, {0.5, 0., 2.56},
{0.5, 0.5, 3.28}}], Polygon[{{0.5, 0.5, 3.28}, {0.5, 0., 2.56},
{1., 0., 5.42}, {1., 0.5, 6.98}}]}]

Regards,
Jean-Marc

```

• Prev by Date: RE: In other cases I have been able to see Compatibilty Guide pages
• Next by Date: Re: Re: What is the compatibility guide?
• Previous by thread: Re: Problems updating Graphics3D Polygons
• Next by thread: Re: Problems updating Graphics3D Polygons