From 6b0e636abf92fa940211f14f4f2013524c5c023d Mon Sep 17 00:00:00 2001 From: Randy Mackay Date: Sat, 22 Nov 2014 14:09:16 +0900 Subject: [PATCH] AP_Math: add yaw 293, pitch 68, roll 180 rotation --- libraries/AP_Math/rotations.h | 3 ++- libraries/AP_Math/vector3.cpp | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/libraries/AP_Math/rotations.h b/libraries/AP_Math/rotations.h index 152e8e68c2..226b9d1419 100644 --- a/libraries/AP_Math/rotations.h +++ b/libraries/AP_Math/rotations.h @@ -64,11 +64,12 @@ enum Rotation { ROTATION_ROLL_270_PITCH_270 = 35, ROTATION_ROLL_90_PITCH_180_YAW_90 = 36, ROTATION_ROLL_90_YAW_270 = 37, + ROTATION_YAW_293_PITCH_68_ROLL_180 = 38, ROTATION_MAX }; /* Here are the same values in a form sutable for a @Values attribute in auto documentation: -@Values: 0:None,1:Yaw45,2:Yaw90,3:Yaw135,4:Yaw180,5:Yaw225,6:Yaw270,7:Yaw315,8:Roll180,9:Roll180Yaw45,10:Roll180Yaw90,11:Roll180Yaw135,12:Pitch180,13:Roll180Yaw225,14:Roll180Yaw270,15:Roll180Yaw315,16:Roll90,17:Roll90Yaw45,18:Roll90Yaw90,19:Roll90Yaw135,20:Roll270,21:Roll270Yaw45,22:Roll270Yaw90,23:Roll270Yaw136,24:Pitch90,25:Pitch270,26:Pitch180Yaw90,27:Pitch180Yaw270,28:Roll90Pitch90,29:Roll180Pitch90,30:Roll270Pitch90,31:Roll90Pitch180,32:Roll270Pitch180,33:Roll90Pitch270,34:Roll180Pitch270,35:Roll270Pitch270,36:Roll90Pitch180Yaw90,37:Roll90Yaw270 +@Values: 0:None,1:Yaw45,2:Yaw90,3:Yaw135,4:Yaw180,5:Yaw225,6:Yaw270,7:Yaw315,8:Roll180,9:Roll180Yaw45,10:Roll180Yaw90,11:Roll180Yaw135,12:Pitch180,13:Roll180Yaw225,14:Roll180Yaw270,15:Roll180Yaw315,16:Roll90,17:Roll90Yaw45,18:Roll90Yaw90,19:Roll90Yaw135,20:Roll270,21:Roll270Yaw45,22:Roll270Yaw90,23:Roll270Yaw136,24:Pitch90,25:Pitch270,26:Pitch180Yaw90,27:Pitch180Yaw270,28:Roll90Pitch90,29:Roll180Pitch90,30:Roll270Pitch90,31:Roll90Pitch180,32:Roll270Pitch180,33:Roll90Pitch270,34:Roll180Pitch270,35:Roll270Pitch270,36:Roll90Pitch180Yaw90,37:Roll90Yaw270,38:Yaw293Pitch68Roll180 */ diff --git a/libraries/AP_Math/vector3.cpp b/libraries/AP_Math/vector3.cpp index b08a03dd30..28fe757982 100644 --- a/libraries/AP_Math/vector3.cpp +++ b/libraries/AP_Math/vector3.cpp @@ -221,6 +221,15 @@ void Vector3::rotate(enum Rotation rotation) tmp = x; x = y; y = -tmp; return; } + case ROTATION_YAW_293_PITCH_68_ROLL_180: { + float tmp = x; + float tmpy = y; + float tmpz = z; + x = 0.1430389f * tmp -0.9184465f * tmpy -0.3687762f * tmpz; + y = -0.3321327f * tmp -0.3955452f * tmpy +0.8562895f * tmpz; + z = -0.9323238f * tmp -0.00000003f * tmpy -0.3616245f * tmpz; + return; + } } }