Tait-Bryan (Nautical Angles) from Float degrees

Theres very little documentation on this. A bit in C++ on euler and quaternion rotators but I’m looking at using floats, vectors, and the odd rotator (such at lookAtTarget node) to create a Torpedo Data Computer which uses nautical or tait-bryan eulers which is basically the split pitch,yaw and roll AFAIK.

I’m finding that I get 0-360 degrees when I need 0-180 positive clockwise from north and -179.999 to -0.00 from south to north CW I beleive.

If anyone has any experiance dealing with these setups do you have any tips and am I wrong in any of my points here. Anytime the trig uses angles that are >= 180 degrees I get the wrong results.
Thanks.

Edit: I was able to find this which solves my current issue which is trying to get the angle from 0 fromt he forward vector of an actor +/-180degrees to a target. A few other issues I’ll have to deal with but it helps. Not much other documentatin around though

To simplify at the core I need to have 0 to 180d clockwise be one direction (starboard) and 180-360 need to be -0 to -180 aka another direction, port






Normalize Axis?

You can feed it any degree and it’ll normalize it -180 to 180

I will give that a try.

Heres what im trying to emulate

https://github.com/JanneKro/silence-from-the-deep/blob/master/src/tdc.cpp
https://github.com/JanneKro/silence-from-the-deep/blob/master/src/tdc.h

https://github.com/JanneKro/silence-from-the-deep/blob/master/src/angle.h

Normalize didnt work, I’ve tried equations and everycombination of vectors, rotators, functions etc. i can think of and cant get this one single angle out of dozens. Gonna try hardcoding from a std library C++ project i have.

Maybe I’m missing something but you could represent rotation as xy coordinate on the circle, from there it should be straight forward, sign of X is left or right, sign of Y is front or back. It’s easy to convert them into degrees or radiant to by doing reverse transformation. I have something like that for friction ellipse but other way around - provide X and Y and get directional vector.

Hey BE!

Yeah I thought about that, havnt tried it yet.