# Calculate angle from vector.

 05 May 2013 Tawashi New Member portfolio Masanori Tsutsumi Tokyo, Japan Calculate angle from vector. Hi,I'm trying to calculate angle from vector. It seems simple. my test code is here: `````` proc test(){ vector \$a = <<0, 1, 0>>; vector \$b = <<0.5, 0.5, 0>>; float \$c = \$a * \$b; float \$mag_a = mag(\$a); float \$mag_b = mag(\$b); float \$theta = (\$a*\$b)/(\$mag_a * \$mag_b); \$theta = \$theta * 180 / 3.14; print ("theta = " + \$theta + "\n"); }test;`````` [result] theta = 40.53478363 I think it`s 45.0 in mathematically,but The result ange is uncorrect. It`s nearly 45.0 . Is there are any items missing? or formula is uncorrect? Please give me advice. Sorry for my poor English. share quote
 05 May 2013 hazmondo Expert   portfolio Harry Rigging TD Axis Animation Glasgow, United Kingdom Hello, It seems like your saying that θ = (a*b)/(|a|*|b|) but that equation is incorrect, the correct equation is cosθ = (a*b)/(|a|*|b|) --> θ = arccos((a*b)/(|a|*|b|)). Hope this helps, -Harry Last edited by hazmondo : 05 May 2013 at 07:00 PM. share quote
 06 June 2013 ogbonna Veteran portfolio Nathaniel Anozie Baltimore, USA Hi, if using Maya might want to checkout the built-in angleBetween Node or MEL/Python command. Hope this is helpful. Cheers! -Nate share quote
 06 June 2013 DangerAhead Rigger Lover   portfolio Geordie Martinez Character TD - Rigger - Massive TD Industrial Light & Magic San Francisco, USA PyMEL could really clear this up in a quick way. here is what you were doing. it was indeed 45 degrees: `````` import pymel.core as pm # make vectors vec1= pm.dt.Vector(0,1,0) vec2= pm.dt.Vector(0.5,0.5,0.0) # get angle between in radians radians = vec1.angle(vec2) #get degrees degrees = pm.dt.degrees(radians)`````` __________________ animrig.com Check out my "Intro to PyMEL Training Video" at cgcircuit.com -- maya python the OOP way! share quote
 06 June 2013 CGTalk Moderation Expert Thread automatically closed This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum. __________________ CGTalk Policy/Legalities Note that as CGTalk Members, you agree to the terms and conditions of using this website. share quote

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts vB code is On Smilies are On [IMG] code is On HTML code is Off CGSociety Society of Digital Artists www.cgsociety.org Powered by vBulletinCopyright ©2000 - 2006, Jelsoft Enterprises Ltd.