开发者

how to get objects degrees?

float mcount=0;
mcount += 0.3;
CGAffineTransform transform = CGAffineTransformMakeRotation(mcount);
Clock.transform = transform;

i want GET Degree! how to get rotation(degree) of this Object ? for exampke 90 degree.

i have Action Script 3 example :

myInt = clock_mc.rotation;

i need this metho开发者_StackOverflowd on Cocoa Touch


If I'm understanding your question correctly then a bit of mathematics can help here:

angleInRadians = angleInDegrees * M_PI / 180.0

To get the reverse, you reverse your equation. So first moving the division by 180 on the right to the left results in multiplying by 180.0

angleInRadians * 180.0 = angleInDegrees * M_PI

Now move the multiply by M_PI (the value of PI which is something like 3.1415962...) to the left, you reverse the operation:

(angleInRadians * 180.0) / M_PI = angleInDegrees

Now to make it nice for the program to use, we write it like so:

angleInDegrees = (angleInRadians * 180.0) / M_PI

So in your program, you could write your code like this:

var angleInDegrees = 0;

...    

angleInDegrees = mcount * 180.0 / M_PI;

If you want to use a function then:

-(float) getAngleInDegrees:(float) radians
{
    float angleInDegrees = 0;

    angleInDegrees = radians * 180.0 / M_PI;

    return angleInDegrees;
}


I think you want how to convert degrees into radians:-

for this you can use this formula:-

static inline double radians (double degrees) { return degrees * M_PI/180; }


UPDATED!

Do you want to get result rotation angle of Clock object?! If so, use this:

double rotationInRadians = atan2(Clock.transform.b, Clock.transform.a);
int rotationInDegrees = (int)round(rotationInRadians * 180 / M_PI);

Read this for details & explanation.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜