How to transform a plane

How to transform a plane

admin No Comment
Algorithms

Suppose you have a plane equation in local space and you’d like to express that plane equation in world space. The plane in local space is written as:
[ P := (n, w) ]
where (n) is the plane normal and (w) is the plane offset.
A point (x) is on the plane if
[n cdot x = w ]
Now define a transform (A) as
[ A := (R, p) ]
where (R) is an orthonormal rotation matrix and (p) is a translation vector.
Suppose we have a transform (A) that transforms points in local space into world space. With our transform (A) we can convert any point (x_1) in local space (space 1) into world space (space 2):
[x_2 = R x_1 + p]
Also any vector (n_1) in local space can be converted to world space:
[n_2 = R n_1]
Also suppose we have a plane defined in local space (space 1). Then for any point (x_1) in local space:
[n_1 cdot x_1 = w_1 ]
The main problem now is to find (w_2), the plane offset in world space. We can achieve this by substitution. First invert the transform relations above:
[x_1 = R^T (x_2 – p)]
[n_1 = R^T n_2]
where (R^T) is the transpose of (R). Recall that the inverse of an orthonormal matrix is the equal to the transpose.
Now substitute these expressions into the local space plane equation:
[R^T n_2 cdot (R^T (x_2 – p)) = w_1]
Expand:
[R^T n_2 cdot R^T x_2 – R^T n_2 cdot R^T p = w_1]
The rotations cancel out since they are orthonormal. Also the dot product is equivalent to matrix multiplication by the transpose. For example:
[R^T n_2 cdot R^T x_2 = n_2^T R R^T x_2 = n_2^T I x_2 = n_2 cdot x_2]
Simplify:
[n_2 cdot x_2 = w_1 + n_2 cdot p]
From this we can identify the world space plane offset (w_2):
[w_2 = w_1 + n_2 cdot p]
Done!

Recap of G4C18 Festival and XR4C Summit
Thursday July 12, 2018

  15 years celebrating the impact of games!   It’s a wrap! This year’s 15th annual Games for Change Festival was a major success! We hosted over 1000 attendees with many of them coming from countries around the world. The 3 day event kicked off with the proclamation from Mayor Bill DeBlasio that Thursday, June […]

Fifa 17 Game Free Download
Saturday July 08, 2017

Fifa 17 is a sports game and the game was developed by EA Sports and released by EA sports. You can get this installment free of cost and having no issue of virus at all + 100% working guaranteed. We are providing all the latest installments so, we have recently made a post of Fifa […]