Rotating Plane Point to xy Plane - CPtolemy

  • Context: Undergrad 
  • Thread starter Thread starter cptolemy
  • Start date Start date
  • Tags Tags
    Plane Point Rotating
Click For Summary
SUMMARY

The discussion focuses on rotating a plane defined by the equation Ax + By + Cz + D = 0, which passes through the origin and intersects the xy-plane at the line y = mx. To achieve this rotation, one must extract the normal vector of the plane and calculate the angle between it and the z-direction unit vector (0,0,1) using the inner product formula. The rotation should be performed around the line of intersection, utilizing the angle derived from the normal vector. The approach minimizes the risk of gimbal lock and ensures accurate point rotation.

PREREQUISITES
  • Understanding of plane equations in 3D space
  • Knowledge of vector mathematics, specifically normal vectors
  • Familiarity with rotation concepts in 3D, including angles and axes
  • Basic understanding of quaternions for rotation
NEXT STEPS
  • Study the calculation of normal vectors for planes in 3D geometry
  • Learn about the inner product and its application in finding angles between vectors
  • Research rotation techniques in 3D space, focusing on axis-angle representation
  • Explore quaternion mathematics for advanced rotation applications
USEFUL FOR

Mathematicians, computer graphics developers, and engineers involved in 3D modeling or simulations requiring plane rotations.

cptolemy
Messages
45
Reaction score
1
Hi,

I have a plane, Ax+By+Cz+D=0, that passes through (0,0,0), and intercepts the xy plane at the line y=mx.

How do I rotate the points of the plane to the xy plane?

Kind regards,

CPtolemy
 
Last edited:
Physics news on Phys.org
cptolemy said:
Hi,

I have a plane, Ax+By+Cz+D=0, that passes through (0,0,0), and intercepts the xy plane at the line y=mx.

How do I rotate the points of the plane to the xy plane?

Kind regards,

CPtolemy

Since you have A,B,C (D should be zero) you can extract the normal vector of the plane.

Now basically you want to rotate your plane with the normal (0,0,1) or a unit vector pointing in the z-direction.

You can find the angle between the two by using the inner product by using

cos(theta) = <V1,V2>/(|V1||V2|)

where V1 is the normal vector of your plane and V2 is the (0,0,1). If both vectors are unit length then you get a simplification cos(theta) = <V1,V2>.

Then you can basically use this information to rotate your points.

The best way I can think of is to use your line of intersection as your axis of rotation and then to use the angle you found above as your angle of rotation. You won't get gimbal lock and it should do the job perfectly assuming all points are on the plane you have in question.

If you're wondering about doing rotations with quaternions Ken Shoemake wrote an article on it, but wikipedia probably covers it in some depth.

Your axis of rotation is basically the vector given by your y=mx. So your rotation axis vector is going to be (cos(gamma),sin(gamma),0) where gamma is arctan(m).
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
4K
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 30 ·
2
Replies
30
Views
4K
  • · Replies 8 ·
Replies
8
Views
2K
Replies
8
Views
1K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 3 ·
Replies
3
Views
3K
Replies
7
Views
2K