+0

# Pre calc vectors in 3D

+1
10
2

Hi, so I'm confused on how to reflect a vector across a line in 3 dimensions.  I know how to find the projection of a vector on a line in 3 dimensions, but I'm stuck on what to do after that.  I saw something about rotating by 180 degrees, but I'm not sure how to do that.  Any help or example would be greatly appreciated 😁

May 1, 2023

#1
+1

Sure, I can help you with that. To reflect a vector across a line in 3 dimensions, you can use the following steps:

Find the projection of the vector onto the line.

Rotate the projection by 180 degrees around the line.

The result of the rotation is the reflected vector.

To find the projection of a vector onto a line, you can use the following formula:

Code snippet

Projection = (Dot Product) / (Dot Product of the unit direction vector of the line with itself)

copy

Where:

Projection is the projection of the vector onto the line.

Dot Product is the dot product of the vector and the unit direction vector of the line.

Unit Direction Vector of the Line is a vector that points in the same direction as the line and has a magnitude of 1.

To rotate a vector by 180 degrees around a line, you can use the following formula:

Code snippet

Rotated Vector = 2 * Projection - Vector

copy

Where:

Rotated Vector is the rotated vector.

Projection is the projection of the vector onto the line.

Vector is the original vector.

For example, let's say we have the vector v = (1, 2, 3) and the line l = (1, 0, 0) + t (0, 1, 1).

To find the projection of v onto l, we would use the following formula:

Code snippet

Projection = (v dot (1, 0, 0) + t (0, 1, 1)) / (dot product of (1, 0, 0) + t (0, 1, 1) with itself)

copy

Code snippet

Projection = ((1 * 1) + (2 * 0) + (3 * 0)) / ((1 * 1) + (0 * 0) + (0 * 1))

copy

Code snippet

Projection = 1 / 1

copy

Code snippet

Projection = 1

copy

So, the projection of v onto l is (1, 0, 0).

To rotate v by 180 degrees around l, we would use the following formula:

Code snippet

Rotated Vector = 2 * Projection - Vector

copy

Code snippet

Rotated Vector = 2 * (1, 0, 0) - (1, 2, 3)

copy

Code snippet

Rotated Vector = (2, -4, -6)

copy

So, the rotated vector is (2, -4, -6).

I hope this helps! Let me know if you have any other questions.

May 1, 2023
#2
+1

Ohhhh OK OK thank you so much!! This really helped :)

Saphia1123  May 1, 2023