Question

I have tried to convert a calculation from an app I made using MIT AppInventor which uses Kawa to Android using Java.The problem I'm facing is that the trigonometric parts of the calculation in Kawa are using degress.My question is how do I translate this calculation to Java and get the same output?

This is how I do the calculation is Kawa,all variables are of type 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))

Then I did my best to translate it to Java code,the variables are double also as above,depth,length and duct depth are user input values.

 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);

Screenshot of what the inputs and outputs look like:

enter image description here

Was it helpful?

Solution 2

You can convert the angles to radians yourself.

As we know:

180 degrees = PI radians

So:

1 degree = PI / 180 radians

So wherever you have X degrees,
they are equal to (X * PI / 180) radians.

In Java you have

Math.PI

which defines the value of the PI number.

Just change your Java code to this:

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

OTHER TIPS

You can use Math.toRadians() to convert degrees to radians.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top