Re: Formal operations with vectors and scalars

*To*: mathgroup at smc.vnet.net*Subject*: [mg70574] Re: Formal operations with vectors and scalars*From*: dh <dh at metrohm.ch>*Date*: Fri, 20 Oct 2006 05:21:37 -0400 (EDT)*References*: <ega572$boq$1@smc.vnet.net>

Hi Wolfgang, I am wondering why you define reflection by: nv.(av+rv) = 0. This is certainly not more fundamental than: rv = av - 2 nv (av.nv). This comes from specifying that the sign of the component normal to the surface: nv (av.nv) is reversed. That is, the the change is -2 nv (av.nv), what is clearly visible in the above formula. Daniel Dr. Wolfgang Hintze wrote: > Hello group, > I'm trying - unsuccessfully - to derive formally simple relations with > vectors and scalars using Mathematica. > > As an example consider the reflexion of a ray of light with initial > direction av (unit vector) from a surface at a point with a normal unit > vector nv. > As ist well known the reflected (unit) vector rv will be given by > > rv = av - 2 nv (av.nv) > > where av.nv is the scalar product of av and nv. > > My question is: how do I derive this relation using Mathematica? > > (Sorry for bothering you with the derivation, but I need this exposition > to show the points where I have difficulties.) > > With pencil and paper I would start by writing rv as a linaer > combination of av and nv, using two scalar constants A and B to be > determined, i.e. > > (1) > rv = A av + B nv > > Now the condition of reflexion can be written > > (2) > nv.(av+rv) = 0 > > Using (1) to replace rv this reads (remembering also that (nv.nv) = 1) > > (2') > 0 = (nv.av) + A (nv.av) + B > > Solving for B gives B = - (nv.av) (1+A). Putting this into (1) leads to > > (1') > rv = A av - nv (nv.av) (1+A) > > Squaring this should give 1: > > rv.rv > = 1 = A^2 + (nv.av)^2 (1+A)^2 - 2 A (1+A) (nv.av)^2 > = A^2 + (nv.av)^2 ( 1 + A^2 + 2 A -2 A - 2 A^2) > = A^2 + (nv.av)^2 (1-A^2) > = A^2 (1-(nv.av)^2) + (nv.av)^2 > > or > > (1-(nv.av)^2) = A^2 (1-(nv.av)^2) > > giving > > A = +- 1 > > in view of (1') we must select the positive sign. > > Now, how would I proceed in Mathematica? > I would write down (1) as well, would next impose (2). > Here the first difficulty appears because Mathematica does not know that av, nv > and rv designate vectors, the dot product is not distributed, the > scalars A and B are not recognized either. > I tried Simplify with conditions but this didn't help... > > Can you please outline how to tackle this derivation with Mathematica? > > Many thanks in advance. > > Wolfgang >