Calculate angle from vector.

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

THREAD CLOSED
 
Thread Tools Search this Thread Display Modes
Old 05 May 2013   #1
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.
 
Old 05 May 2013   #2
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.
 
Old 06 June 2013   #3
Hi, if using Maya might want to checkout the built-in angleBetween Node or MEL/Python command. Hope this is helpful.

Cheers!
-Nate
 
Old 06 June 2013   #4
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!
 
Old 06 June 2013   #5
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.
 
Thread Closed share thread



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 vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 09:36 PM.


Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.