我试图转换计算来自我使用MIT AppInventor制作的应用程序,它使用Java使用Kawa到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);
输入和输出的截图:
答案 0 :(得分:12)
您可以使用Math.toRadians()将度数转换为弧度。
答案 1 :(得分:7)
您可以自己将角度转换为弧度。
我们知道:
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