Angle between 2 vectors

About advanced scenes, and the Thyme scripting language used in Algodoo.

Angle between 2 vectors

Postby Kilinich » Sun Jul 25, 2010 1:40 pm

In many cases I need to calculate signed angle between 2 vecs.
I do some maths and it can be handy for you:

Code: Select all
// Scalar multiplication
Scene.my.vpr2 := (v1, v2)=>{v1(0) * v2(0) + v1(1) * v2(1)};
// Length
Scene.my.vmod2 := (v)=>{(v(0) ^ 2 + v(1) ^ 2) ^ 0.5};
// Determinant
Scene.my.opm2 := (m)=>{m(0)(0) * m(1)(1) - m(1)(0) * m(0)(1)};

// Angle
Scene.my.va := (v1, v2)=>{(scene.my.opm2([v1, v2]) >= 0 ? 1 : -1) * math.acos(scene.my.vpr2(v1, v2) / scene.my.vmod2(v1) / scene.my.vmod2(v2))};

//Example
Scene.my.va([1,1],[0,10])
//gives 0.7853982 (pi/4)
Dream of Algodoo as game development engine...
User avatar
Kilinich
[Best bug reporter 2010]
 
Posts: 2098
Joined: Mon Aug 31, 2009 8:27 pm
Location: South Russia

Re: Angle between 2 vectors

Postby Rideg » Sun Jul 25, 2010 3:36 pm

NIce theese could be very useful. I think I use pythagora's method. I can't really remember the name :P
Image
make sure to check out my work.
User avatar
Rideg
 
Posts: 948
Joined: Tue Dec 15, 2009 5:17 pm
Location: Östersund, Sweden

Re: Angle between 2 vectors

Postby Mystery » Mon Jul 26, 2010 9:15 am

Do you mean Pythagoras theorem? Part of his code use that anyway.
Anyways it's actually a quite useful piece of code :thumbup:
User avatar
Mystery
 
Posts: 2802
Joined: Thu Sep 03, 2009 1:16 pm
Location: Southern Australia


Return to Thyme scripting

Who is online

Users browsing this forum: No registered users and 3 guests