diff options
author | Karl Berry <karl@freefriends.org> | 2010-06-08 13:46:05 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-06-08 13:46:05 +0000 |
commit | a960e44eb527236f39aec81babc0474911a86078 (patch) | |
tree | 9950eca71791d90820a80a521a7cc252c0955db5 /Build/source/utils/asymptote/quaternion.cc | |
parent | 6443467452320c296faa1f43f0606a9457bd4463 (diff) |
asy 1.96
git-svn-id: svn://tug.org/texlive/trunk@18817 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/asymptote/quaternion.cc')
-rw-r--r-- | Build/source/utils/asymptote/quaternion.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/Build/source/utils/asymptote/quaternion.cc b/Build/source/utils/asymptote/quaternion.cc index f492137c267..7f3eaf5f65b 100644 --- a/Build/source/utils/asymptote/quaternion.cc +++ b/Build/source/utils/asymptote/quaternion.cc @@ -200,9 +200,12 @@ void quat::set_angle(float f) { vec3 axis = get_axis(); - s = (float) cos( DEG2RAD( f ) / 2.0 ); + static const double halfradians=acos(-1.0)/360.0; + f *= halfradians; + + s = (float) cos( f ); - v = axis * (float) sin(DEG2RAD(f) / 2.0); + v = axis * (float) sin( f ); } /********************************************** scale_angle() ************/ @@ -218,7 +221,8 @@ void quat::scale_angle(float f) float quat::get_angle() const { - return (float) RAD2DEG( 2.0 * acos( s ) ); + static const double degrees2=360.0/acos(-1.0); + return (float) (acos( s ) * degrees2); } /********************************************* get_axis() **************/ |