【问题标题】:Objective-C TrigonometryObjective-C 三角函数
【发布时间】:2015-06-27 16:44:15
【问题描述】:

我现在感到三角痛。

double angle = tan(opposite/adjacent);
angle = (angle) * (180.0 / M_PI);

找到它们的角度,我们会说在这种情况下它等于从弧度转换后的 15.18º。

然后,找到与我做的角度相同的新斜边的相邻和对面..

double oppAngle = sin(angle);
double adjAngle = cos(angle);

double secondOpposite = newDistance * oppAngle;
double secondAdjacent = newDistance * adjAngle;

NSLog(@"opposite = %.2f * %.2f = %.2f", oppAngle, newDistance, secondOpposite);
NSLog(@"Adjacent = %.2f * %.2f = %.2f", adjAngle, newDistance, secondAdjacent);

那个日志,

2015-06-27 17:36:14.565 对面 = -0.51 * 183.27 = -92.94

2015-06-27 17:36:14.565 相邻 = -0.86 * 183.27 = -157.95

这显然是错误的,因为它们角度的正弦和余弦不正确。角度为 15.18º,所以我不太确定哪里出错了,除非......它们再次转换为弧度?但是,我不太确定我哪里出错了。这是错误的。

【问题讨论】:

    标签: objective-c math trigonometry angle


    【解决方案1】:

    三角公式是

    tan(angle) = opposite / adjacent
    

    因此,要从边长获得角度,您需要使用反正切,即atan2

    double angle = atan2(opposite, adjacent);
    

    只要您知道 atan2 以弧度返回一个角度(因此您的第二行是不必要的),您的其余代码就可以从那里开始工作。

    【讨论】:

    • 它现在可以完美运行,尽管我对这个过程仍然有些困惑。你给了我。
    猜你喜欢
    • 1970-01-01
    • 2015-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多