考虑到矩形的边长(高度宽度),我想计算从一个角到另一个角的斜边的度数,以及它的长度(毕达哥拉斯定理)。如何在没有“手动实现算法”的情况下在java中编写这个,无法找到我正在寻找的方法?
答案 0 :(得分:2)
给定宽度w
和高度h
,对角线的长度由
Math.sqrt(w*w+h*h) // pythagoras
或者您可以使用Math.hypot(w,h)
为您执行此操作。
对角线的角度可以通过
计算Math.atan(h/w) // arc tan in radians
您也可以使用替代弧棕色函数atan2
,但这仅在您需要在特定范围内返回结果时才重要。
要将弧度转换为度数,您可以使用Math.toDegrees
。
答案 1 :(得分:1)
您应该使用:
org.apache.commons.math3.analysis.function.Atan atan = org.apache.commons.math3.analysis.function.Atan();
double angle = atan.value(height/width);
org.apache.commons.math3.analysis.function.Sqrt sqrt = org.apache.commons.math3.analysis.function.Sqrt();
double length = sqrt.value(height*height+width*width);