【问题标题】:How to convert a degrees calculation to radians? (Kawa to Java)如何将度数计算转换为弧度? (卡瓦到爪哇)
【发布时间】:2014-01-02 21:12:44
【问题描述】:

我试图将我使用 MIT AppInventor 制作的应用程序的计算转换为使用 Java 的 Android。我面临的问题是 Kawa 中计算的三角部分正在使用 degress。我的问题是如何我如何将此计算转换为 Java 并获得相同的输出?

我是这样计算的,Kawa,所有变量都是double类型:

 Tri 1=atan(Offset Depth/Offset Length)
 Mark 1=sqrt(Offset Length^2+Offset Depth^2)
 Tri 2=(180-Tri1)/2
 Mark 2=Duct Depth/(tan(Tri 2))

然后我尽力将它翻译成Java代码,变量也是双倍的,深度,长度和管道深度是用户输入的值。

 tri1 = Math.atan(offsetDepth / offsetLength);
 marking1 = Math.sqrt(Math.pow(offsetLength,2) + Math.pow(offsetDepth,2));  
 tri2 = (180 - tri1) / 2;
 marking2 = ductDepth / Math.tan(tri2);

输入和输出的截图:

【问题讨论】:

    标签: java android radians kawa


    【解决方案1】:

    您可以使用Math.toRadians() 将度数转换为弧度。

    【讨论】:

    • 那么当我将所有的计算从度数转换为弧度时,我是否在输出时转换回度数,否则计算与Kawa计算不一样?另外在使用toRadians时如何在计算中实现它?
    • 对于需要弧度的方法,您首先以与以前相同的方式计算参数,然后在将它们传递给方法之前对其进行转换。对于返回弧度的方法,是的,您必须将其转换回度数。您可以为此使用 Math#toDegrees()。
    【解决方案2】:

    您可以自己将角度转换为弧度。

    据我们所知:

    180 degrees = PI radians
    

    所以:

    1 degree = PI / 180 radians
    

    所以无论你有 X 度,
    它们等于 (X * PI / 180) 弧度。

    在Java中你有

    Math.PI
    

    它定义了 PI 编号的值。

    只需将您的 Java 代码更改为:

    tri11 = Math.atan(1.0 * offsetDepth / offsetLength); // tri11 is radians
    tri1 = tri11 * 180.0 / Math.PI; // tri1 is degrees
    marking1 = Math.sqrt(Math.pow(1.0 * offsetLength,2) + Math.pow(1.0 * offsetDepth,2));  
    tri2 = (180.0 - tri1) / 2.0; // tri2 is degrees
    tri22 = tri2 * Math.PI / 180.0; // tri22 is radians
    marking2 = 1.0 * ductDepth / Math.tan(tri22);
    // output whatever you like now
    

    【讨论】:

    • 我想知道如何转换整个计算以匹配 Kawa 计算的输出。这种转换为弧度是令人困惑的。所以180 * PI / 180 radians will fix tri2 那么我将如何更正其余的计算呢?这些问题对您来说可能听起来很容易,但我无法理解。
    • 我想我现在开始得到一个更清晰的画面。我的理解是你以弧度计算 tri11 然后转换为度数,所以这部分是正确的,然后是 tri22是弧度吗?所以marking2 是以弧度计算的。这意味着我仍然需要将marking2 的结果转换为度数,因为它是以弧度为单位的?感谢您到目前为止的帮助:)
    • @BrianJ 你的哪些变量代表角度?每个代表您应该转换的角度值的变量(就像我所做的那样)。在我看来,marking2 并不代表一个角度。我认为它代表了某个段的长度,而不是某个角度的大小。
    • 好的,第一个mark1是图中的斜边,mark2是距离,所以我猜你是对的?无论如何我都会对此进行测试并检查它是否有效。感谢您的帮助。
    • 我刚刚测试,标记 1 偏移了近 10 毫米,比原来更准确,但仍然与原来的计算不一样。你知道为什么会这样吗?
    猜你喜欢
    • 2015-11-28
    • 1970-01-01
    • 2015-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多