Finding 3D position between two 3D nodes

Started by
3 comments, last by jscalo 6 years, 7 months ago

This is a pretty basic math question but I'm having trouble with it. Say I have two 3D nodes, n1 and n2, represented by 3D position vectors. How can I find a new position n3 that's between n1 and n2, specified as some distance m from n1?

In 2D space I think this would be

Θ = tan(n2.y - n1.y / n2.x - n1.x)
n3 = [m cos Θ, m sin Θ]

In 3D space I believe we need two of the euler angles but I'm not sure which ones or what to do with them.

(If it makes a difference I'm working with iOS SceneKit.)

Thanks!

Advertisement

n3 = n1+(n2-n1)*m;  (where m is between 0-1)

alternativly if you have a set distance that isn't in 0-1 range.


dis = n2-n1;

alpha = dis/m;

n3 = n1+dis*alpha;

 

 

Check out https://www.facebook.com/LiquidGames for some great games made by me on the Playstation Mobile market.

n3 = n1 + specified_distance * (n2 - n1) / length(n2 - n1)

 

Alvaro, your formula works great. Thanks!

This topic is closed to new replies.

Advertisement