Re: Module and Manipulate Oddity
- To: mathgroup at smc.vnet.net
- Subject: [mg85886] Re: Module and Manipulate Oddity
- From: Albert Retey <awnl at arcor.net>
- Date: Tue, 26 Feb 2008 07:52:53 -0500 (EST)
- References: <fpoorf$1ht$1@smc.vnet.net>
travelmail26 at gmail.com wrote:
> When I use the "Module" function, I can combine the graphics with
> manipulate. Without module, I get an error saying the coordinates need
> to be in triplet or scaled form. Why does "Module" have any effect on
> this?
>
>
> Line 1:
>
> sh[a_, u_] := Module[{cube, sp1} ,
> cube = Graphics3D[Cuboid[{u, a, u}], PlotRange -> 5];
> sp1 = Graphics3D[Sphere[{u, a, u}], PlotRange -> 5];
> Show[cube, sp1]]
>
> Line 2: Manipulate[sh[a, u], {a, 0, 2}, {u, 0, 2}]
>
> ******************************
> And, without module:
>
> sh[a_, u_] := cube = Graphics3D[Cuboid[{u, a, u}], PlotRange -> 5];
> sp1 = Graphics3D[Sphere[{u, a, u}], PlotRange -> 5];
> Show[cube, sp1]
>
> Manipulate[sh[a, u], {a, 0, 2}, {u, 0, 2}]
>
Using parenthesis helps for me, the following works just as Module:
sh[a_, u_] := (
cube = Graphics3D[Cuboid[{u, a, u}], PlotRange -> 5];
sp1 = Graphics3D[Sphere[{u, a, u}], PlotRange -> 5];
Show[cube, sp1]
);
on the other hand, why not use Module, isn't it much better to use local
variables after all?
hth,
albert