Thanks to those (Heike, Jens, MrWizard, and R.M.) who helped me yesterday with figuring out how to plot an EM wave. Now I am running into trouble with the Show command. I am trying to combine three Graphics3D objects:

a slab

a grating, and

a wave.

The wave is supposed to be comparable in size with the grating and it should fall on it from the top (like light would fall on a grating). Show puts these together as a GIANT giant slab with grating and a puny EM wave.
The problem is that Mathematica puts all objects' coordinate axes origin to the same point. How can I control the relative placement and sizes of these objects in Show?
My code follows:

EDIT: Alternative approach: Define corrdinates of the slab and grating directly. I use a modification of R.M.`s answer to OP's previous question, and specify the coordinates of the slab and grating objects.

This solves my scaling problem but does not "detach" the two objects. Is there a way to move the wave away from the x-axis of the slab?
–
Rainforest FrogFeb 20 '12 at 16:05

@RainforestFrog, I think it can be done by translating the data for the two waves in y and z directions. There may be more direct ways to do it, but one manual way is to play with several parameter values for the transformation inside a Manipulate. I will try to put together a Manipulate example in a day or so.
–
kgulerFeb 20 '12 at 21:05

You could use Rotate, Scale and Translate to position the wave. By using Manipulate you can play around with the positioning until you're happy, and then post a screenshot using the option button in the upper right corner of the panel.

Mathematica is a registered trademark of Wolfram Research, Inc. While the mark is used herein with the limited permission of Wolfram Research, Stack Exchange and this site disclaim all affiliation therewith.