Search ProofOfProgress Blog

Thursday, April 7, 2011

Determine if two vectors are parallel in Max Script

I am posting this here so I never have to look up how to do this.
The simple compact answer to determining if two vectors are parallel.
In Max Script.

First Example: Using Dot Product.

V1 = [1,1,1]; ----------Vector #1
V2 = [-1,-1,-1]; -------Vector #2
nV1 = normalize(V1); ----Normalized Vector #1.
nV2 = normalize(V2); ----Normalized Vector #2.
dir = dot nV1 nV2; ------Dot product of normalized vectors.
print("dot ==" + dir as string);

--Negative 1 = Anti-Parallel.
--ZERO = Perpendicular/Orthagonal
--Positive 1 = Parallel.

--Does anyone know if there is a word for "Non-Integer" besides "Float"?

Another way:
This uses Cross Product to determine if two vectors are parallel.

V1 = [1,2,3]; ----------Vector #1
V2 = [-1,-2,-3]; -------Vector #2
dir = cross V1 V2 -------Cross of both.
print("cross==" + dir as string);

--If cross==[0,0,0] then you have
--parallel or anti-parallel vectors
--or one or more vectors has a length of zero
--Only vector with length of zero: [0,0,0];

No comments:

Post a Comment