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