Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: easy plane normal vector question

  • To: mathgroup at smc.vnet.net
  • Subject: [mg89722] Re: easy plane normal vector question
  • From: will parr <willpowers69 at hotmail.com>
  • Date: Thu, 19 Jun 2008 05:41:33 -0400 (EDT)

thanks for your response, I found it very helpful. I am still struggling with the problem, although now I am having trouble with displaying the vector. So, I have got this far:

plane = 4.07919+ 0.0764884 x - 0.0632675 y

Following your advice:

vector = Flatten[{Coefficient[#, {x, y}] & /@ {plane}, -1}];

normaliseVec[v_] := v/Sqrt[v.v];

normVector = normaliseVec[vector]
{0.0761143, -0.0629581, -0.995109}

then to display the vector and the plane, using some 3D arrow code:

Between[a_, b_, x_] := b - (b - a)/Norm[b - a]*x;
Cone3D[s_, e_, w_] := Module[{v, b, b1, b2, A, r}, v = e - s;
   A = RotationMatrix[\[Pi]/10, v];
   b = {v[[2]], -v[[1]], 0};
   b = b/Norm[b]*w;
   r = {};
   For[i = 0, i < 20, i++, b1 = RotationMatrix[i*\[Pi]/10, v].b;
    b2 = RotationMatrix[(i + 1)*\[Pi]/10, v].b;
    AppendTo[r, Polygon[{e, s + b1, s + b2}]];
    AppendTo[r, Polygon[{s, s + b1, s + b2}]];];
   r];
Arrow3D[s_, e_, cw_, aw_, al_] := Module[{m}, m = Between[s, e, al];
   {Cylinder[{s, m}, cw], Cone3D[m, e, aw]}];

centroid ={-5.43852, 2.62127, 3.49737}

(*I think this might be where i went wrong*)

arrowEnd = centroid + normVector

now to display:

Show[Graphics3D[{EdgeForm[], Red, 
   Arrow3D[centroid, arrowEnd, 0.09, 0.3, 0.5], 
   AspectRatio -> Automatic}, Boxed -> False],
 
 Plot3D[plane, {x, -11.1, -0.71}, {y, -1.86, 7.83}, 
  PlotStyle -> Directive[Red, Opacity[.5]], Mesh -> None],
 
 Boxed -> False, Axes -> True, AxesLabel -> {"x", "y", "z"}, 
 AxesEdge -> {{-1, -1}, {-1, -1}, {-1, -1}}, PlotRange -> All, 
 ImageSize -> 300, BoxRatios -> 1, AspectRatio -> 1, 
 ViewPoint -> {0, Infinity, 0}]

if you then manipulate the image, you can see that the arrow does not appear to be perpendicular to the plane...

any suggestions would be very welcome,

thank you again,

Will


  • Prev by Date: Re: Gradient fill as Background for Plot
  • Next by Date: Re: Power Tower and Carmichael Lambda Function
  • Previous by thread: Re: easy plane normal vector question
  • Next by thread: Will adding RAM help "No more memory available" error?