Sign in to follow this  
Mybowlcut

Unity Degrees-Radians conversion consistency

Recommended Posts

This thread is technically a maths subject, but its purpose relates more to code consistency so I thought I'd throw it in here.

Following on from this "retired" thread, I've found that adding 90.0f to any number in radians that has been converted to degrees will give me that number in this range of degrees:



I'm not sure why I prefer that ^ way of looking at degrees, but I've grown up with it and would like to stick to it as it's easier to visualise.

I figure I'll change my rad/deg conversion functions to look like this:
float Maths::rad_to_deg(float radians)
{
return (radians * (180.0f / PI)) + 90.0f;
}

float Maths::deg_to_rad(float degrees)
{
return (degrees - 90.0f) * (PI / 180.0f);
}






Providing that I use these conversion functions for every radians<->degrees conversion in my code, are there any issues with handling conversions this way?

Cheers.

Share this post


Link to post
Share on other sites
It will all work fine, but you'd be better off:
(1) Following the conventions that everyone else uses (0 is where x goes up, 90 where y goes up).
(2) Using radians everywhere.
(3) Not using angles at all if it can be avoided.

Share this post


Link to post
Share on other sites
I'm just going to echo alvaro: forget about 0-up, get used to the standard convention, and drop the conversions. It'll make things much easier in the long run.

Share this post


Link to post
Share on other sites
First of all, that 'conversion' won't work. Adding 90 to the range 0-360 makes the range 90 - 450 degrees. You need a wrap function to do that properly. Plus, if you want clockwise rotation (as shown in your image) rather than counterclockwise, you need to change the sign. 360 - (180/pi) would get the result in your image, save for starting at the y axis. To get that, add another 90, and subtract 360 if result>360, i.e.

d = 450 - r(180/pi);
if (d>=360)
d -= 360;




But I STRONGLY recommend dropping this scheme entirely, as others here have said. What possible good does this do you? Even "normal" degrees are pretty much useless pro grammatically. Do you just want this value to display to a user by chance?

Share this post


Link to post
Share on other sites
Thanks for the input guys. :)

No it's not to display to a user, it was just to aid me when debugging, etc. as I have trouble reading degrees the way they're meant to be. Plus I have a bunch of artwork that relies on the convention I'm currently using.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Partner Spotlight

  • Forum Statistics

    • Total Topics
      627657
    • Total Posts
      2978466
  • Similar Content

    • By STRATUM the Game
      Hey, everyone! This is my first post here.
      I would like to know what you think about my project called STRATUM. It's a 2D platformer that is heavily based on storytelling and boss fighting while trekking through the world.

      Everything in STRATUM takes place in the first century AD, in a world that wraps our own universe, called  The Stratum. A parallel Universe that is the home of the Christian deities . In this game you will play as a Dacian warrior, unfamiliar with everything in this world, you’ll get to know and understand The Stratum together with him.
      The main thing that I want with STRATUM is to reinvent the known lore and history of the Christian deities and realms. 
      The story is unconventional, it plays down a lot of the mysticism of Hell or Heaven and it gives it a more rational view while keeping the fantastic in it. What do I mean by that? Well, think about Hell. What do you know about it? It's a bad place where bad people go, right? Well, that's not the case in STRATUM. I don't want to describe such a world. In STRATUM, there is a reason for everything, especially for the way Hell is what it is in the game. "Hell" is called The Black Stratum in the game.
      This world is not very different from Earth, but it is governed by different natural laws.
      The story will also involve the reason why this world entered in touch with ours.

       
      What do you think about all that I said? Would you be interested in such a game? I have to say that everything is just a work of fiction made with my imagination. I do not want to offend anyone's beliefs.
      I want this to be a one man game. I have been working alone on it (this was my decision from the beginning) from art to effects to programming to music to sound effects to everything.
      I also have a youtube video HERE if you want to see the way the game moves and the way my music sounds.
      Please, any kind of feedback will be highly appreciated. If you have something bad to say, do it, don't keep it for yourself only. I want to hear anything that you don't like about my project.
       
    • By LimeJuice
      Hi, it's my first post on this forum and I would like to share the game I am working on at the moment.
      Graphics have been made with Blender3D using Cycle as a renderer and I am using Unity3D. It's a 2D game, one touch side-scrolling game for iOS and Android.
      Here some pictures, and you can have a look to the gameplay on this video :
      Feedbacks ?
      And if you want to try it, send me your email and I will add you to the beta tester list!
       
       








    • By Kirill Kot
      An adventure indie game with quests in a beautiful, bright world. Characters with unique traits, goals, and benefits. Active gameplay will appeal to players found of interactivity, especially lovers of quests and investigations.
      Available on:
      Gameroom (just open the web page and relax)
      AppStore
      GooglePlay
      WindowsPhone

    • By Kirill Kot
      Big Quest: Bequest. An adventure indie game with quests in a beautiful, bright world. Characters with unique traits, goals, and benefits.
      Mobile game, now available on Gameroom. Just open the web page and relax.
    • By Kirill Kot
      Big Quest: Bequest. An adventure indie game with quests in a beautiful, bright world. Characters with unique traits, goals, and benefits.
      Mobile game, now available on Gameroom. Just open the web page and relax.
  • Popular Now