0% found this document useful (0 votes)
211 views

Arbitrary Plane Reflection

This document describes how to calculate the transformation matrix for reflection in an arbitrary plane. It involves: 1) Translating a point on the plane to the origin to define the reflection plane. 2) Applying a series of rotations to align the plane with one of the coordinate planes using trigonometric formulas. 3) Performing the reflection in the aligned coordinate plane. 4) Applying the inverse rotations to transform the reflected plane back to the original reflection plane. The resulting transformation matrix combines all these steps to directly reflect points across the arbitrary plane. An example calculates the matrix for the plane 2x - y + 2z - 2 = 0.

Uploaded by

Shalu Ojha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
211 views

Arbitrary Plane Reflection

This document describes how to calculate the transformation matrix for reflection in an arbitrary plane. It involves: 1) Translating a point on the plane to the origin to define the reflection plane. 2) Applying a series of rotations to align the plane with one of the coordinate planes using trigonometric formulas. 3) Performing the reflection in the aligned coordinate plane. 4) Applying the inverse rotations to transform the reflected plane back to the original reflection plane. The resulting transformation matrix combines all these steps to directly reflect points across the arbitrary plane. An example calculates the matrix for the plane 2x - y + 2z - 2 = 0.

Uploaded by

Shalu Ojha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Reflection in an Arbitrary Plane Reflection in a plane

ax+ by + cz + d = 0 is obtained by transforming the reflection plane to one of


the xy-, xz-, or yz-planes, reflecting in that plane, and finally transforming the
plane back to the reflection plane. In this appendix, we are back to the use of
homogeneous coordinates so all the matrices are 4 × 4. More specifically, the
transformation is obtained in the following steps.

1. Choose a point p = (p1, p2, p3) on the plane. Translate this point to the
origin so that the reflection plane becomes ax + by + cz = 0. Denote r = (a, b, c).
2. Then following steps 2–3 of the method of general rotation in Section B
there are two angles θx and θy such that the composition of rotations
Roty(−θy) ◦ Rotx(θx) aligns the vector r with the z-axis, and maps the translated
reflection plane to the xy-plane. We have θx = 0 if r2 = r3 = 0; otherwise, sin θx
and cos θx are defined in (5) and (6), respectively.
Meanwhile, cos θy and sin θy are given by (7) and (8). 3. Apply the reflection in
the xy-plane. 9 4. Apply the inverse of the transformations in steps 1–2 in
reverse order. The general reflection matrix is thus Trans(p1, p2, p3) Rotx(−θx)
Roty(θy) Refxy Roty(−θy) Rotx(θx) Trans(−p1, −p2, −p3). (4) We can easily verify
the above reflection matrix in the special cases where the plane is parallel to
the yz-plane, xy-plane, or xz-plane. In the first case, the matrix (4) reduces to
Trans(p1, p2, p3) Refyz Trans(−p1, −p2, −p3). Example 6. Let us determine the
transformation matrix for a reflection in the plane 2x − y + 2z − 2 = 0.

Pick a point, say, (1, 0, 0), in the plane and translate it to the origin. The
translated plane is 2x− y + 2z = 0 which has a normal (2, −1, 2). Next, we
determine that sin θx = − 1 √ 5 , cos θx = 2 √ 5 , sin(−θy) = − sin θy = − 2 3 .
cos(−θy) = cos θy = √ 5 3 .
The reflection matrix (4) becomes   1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 
   1 0 0 0 0 √ 2 5 − √ 1 5 0 0 √ 1 5 √ 2 5 0 0 0 0 1   
 √ 5 3 0 2 3 0 0 1 0 0 − 2 3 0 √ 5 3 0 0 0 0 1     1 0
0 0 0 1 0 0 0 0 −1 0 0 0 0 1     √ 5 3 0 − 2 3 0 0 1 0 0 2 3 0 √
5 3 0 0 0 0 1     1 0 0 0 0 √ 2 5 √ 1 5 0 0 − √ 1 5 √ 2 5 0 0 0
0 1     1 0 0 −1 0 1 0 0 0 0 1 0 0 0 0 1   = 1 9  
1 4 −8 8 4 7 4 −4 −8 4 1 8 0 0 0 9  

We can simply remove the multiplier 1 9 in front of the matrix above since
homogeneous coordinates are used. B Rotation about an Arbitrary Line When
the rotation axis is an arbitrary line, we obtain the transformation matrix as
follows. Firstly, transform the rotation axis to one of the coordinate axes.
Secondly, perform a rotation of the required angle θ about the coordinate axis.
Finally, transform the coordinate axis back to the original rotation axis. More
specifically, let the rotation axis be the line ℓ through the points p = (p1, p2,
p3) and q = (q1, q2, q3). Denote r = q − p = (r1, r2, r3). Then we perform the
following steps:

1. Translate the point p by (−p1, −p2, −p3) to the origin O and the rotation axis
to the line Or through O and the point r.
2. Rotate the vector r about the x-axis until it lies in the xz-plane. This is shown
in Figure 5(a).
Suppose that the line Or makes an angle θx with the xz-plane. If r2 = r3 = 0,
then the line z r2 r3 θx y x q O r z r r ′ r1 −θy y x x z −θy r ′ θ y p θy θx r1
(a) (b) (c) Figure 5: Rotation about an arbitrary axis performed by transforming
the axis to the z-axis, applying the rotation, and transforming back to the
original axis.

You might also like