1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Rotate a plane through its coefficients

  1. Mar 24, 2010 #1
    Hello mathematicians,

    I'm creating a program and I need in this program to rotate some planes around the origin, while I'm given the coefficients a,b,c and d for this plane, they represent a plane of the form:

    a x + b y + c z = d

    So these coefficients are given and I want to rotate the plane with Euler angles (alpha, beta and gamma).

    What I tried is the following:
    As a first step, I need to parametrise this plane, to do that I casted this simple parametrisation:

    x = u,
    y = v,
    z = (d - a u - b v)/c

    So now to apply the rotation I just have to use the rotation group, as follows:

    x' = u cos(alpha) + v sin(alpha),
    y' = -u sin(alpha) + v cos(alpha),
    z' = z,

    where x',y',z' are the rotated coordinates.

    Now the problem appears here. How will I restore this form as coefficients a,b,c and d to be in the first formulation ax'+by'+cz'=d? In other words how will I cancel the parametrisation?

    Have I chosen the shortest path? is there a smarter way to do this?

    Any effort is highly appreciated,

    Thank you
  2. jcsd
  3. Mar 24, 2010 #2
    Of course you will need to do your rotation for all three Euler angles.

    To do this you can use
    and multiply out
    [tex]\therefore \vec{n}\cdot\vec{x}=\vec{n}\cdot\vec{c}[/tex]
    where the normal vector
    is the cross product.

    However I would recommend a simpler approach:
    Just rotate the vector (a,b,c) (which is the normal vector) to get new coefficients (a',b',c'). Check it, but I believe this should work. For rotations about the origin, the value of d should be unchanged
  4. Mar 24, 2010 #3
    Thank you so much for your answer :)

    Actually I apparently have found a very simple way, but maybe you could tell me whether it's right, because it seems trivial somehow!

    The method is to substitute the rotations directly in the plane equation without parametrising, so to do the first rotation for example:

    ax+by+cz=d ->
    a(x cos(alpha) + y sin(alpha)) + b(-x sin(alpha) + y cos(alpha)) + cz = d

    where I did the substitution:
    x -> x cos(alpha) + y sin(alpha)
    y -> -x sin(alpha) + y cos(alpha)

    Now after this, I rearrange the equation again to restore the original form a'x+b'y+c'z=d, and the result is:

    a' = a cos(alpha) - b sin(alpha)
    b' = a sin(alpha) + b cos(alpha)
    c' = c

    where a', b' and c' are the coefficients for the rotated plane.

    Actually I plotted both planes and I found a rotation around the z axis :D... What do you think? is this right? maybe there's something I can't visualise ;)

    Thank you again!
  5. Mar 24, 2010 #4
    I guess it's correct. It probably just depends what someone finds easier to visualize. In my method you'd directly use your final equation since I know that (a,b,c) is the normal vector of the plane.

    Of course in the end you need to do you the one angle rotation for all three Euler angles. Make sure you rotate around the correct axis in the correct order ;)
  6. Mar 24, 2010 #5
    Thanks :)
  7. Jan 21, 2011 #6

    I'm a little confused. After all, wich one is the solution? The "TheDestroyer" one? Or rotating (a,b,c) - the Gerenuk's one? Or...are they basically the same?

    Kind regards,

    Last edited: Jan 21, 2011
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Similar Discussions: Rotate a plane through its coefficients
  1. Its strange (Replies: 14)