【问题标题】:how can i get the sinf MATH functions answer in DEGREE?我怎样才能在 DEGREE 中获得 sinf MATH 函数的答案?
【发布时间】:2011-03-18 07:07:03
【问题描述】:

例如,

  • sin 33.35 = 0.5523 度
  • sin 33.35 = 0.9347 弧度

因为 Xcode 默认以弧度给出答案。 那么有什么办法可以得到学位的答案???

【问题讨论】:

  • 您可以随时轻松地将弧度转换为度...

标签: iphone objective-c cocoa-touch ios4


【解决方案1】:

是的,您将弧度乘以一个常数 180/pi 以获得度数。那是因为在一个完整的 360 度圆中有2 * pi 弧度(所以半圆是pi 弧度和 180 度)。

请记住,您必须将转换应用于正弦函数的输入(角度),而不是输出(长度)。

pi 常量可以通过包含 math.h 并使用 M_PI 符号来使用。

【讨论】:

    【解决方案2】:

    一个以度为单位的圆存在 360 度,一个以弧度为单位的圆是 2*pi。因此,要将弧度转换为度数,需要除以 pi 并乘以 180。

    radians * 180 / M_PI
    

    如果您要将度数转换为弧度,例如为动画提供度数,请使用:

    degrees * M_PI / 180
    

    我自己为此使用#DEFINE:

    #define DEGREES(radians)((radians)*180/M_PI)
    #define RADIANS(degree)((degree)*M_PI/180)
    

    只需在代码的任何部分中说 RADIANS(degree)DEGREES(radians) 即可替换 degree弧度 按您的度数或弧度值。如果您不习惯弧度,我认为这也使其更具可读性。

    【讨论】:

    • 您的 描述 是正确的,divide by pi and multiply by 180,但您的 公式 与此不匹配:radians / 180 * M_PI。应该是radians * 180 / M_PI。同样,反向操作应该是degrees * M_PI / 180
    • 哎呀!确实是错字。感谢您通知我!
    【解决方案3】:

    获取弧度值,然后执行:

    CGFloat degrees = (radians * 180) / M_PI;
    

    M_PI 是位于 math.h 中的#define。

    【讨论】:

    • 我认为你的意思是获取弧度值
    【解决方案4】:

    幸运的是,Objective-C 语言是 C 的适当超集,其中包括乘法和除法运算符。

    【讨论】:

      猜你喜欢
      • 2021-10-10
      • 2018-09-28
      • 1970-01-01
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 2011-06-04
      • 2017-05-25
      • 1970-01-01
      相关资源
      最近更新 更多