我正在尝试编写一个代码,计算直角三角形中的角度值(只要提供它的 sin、cos 或 tan)。例如,在计算器中,如果您有 sin(x) 的值并且想要找到角度,则输入 sin^-1(x) 并得到该角度。我怎样才能用 JavaScript 编写这段代码?
我尝试使用此代码,但它不起作用,我不知道它是否对我的项目有帮助:
radianToDegree = r => r * 180 * Math.PI ** -1
console.log(radianToDegree(Math.asin(0.5)).toFixed(3) * 1)
要在 JavaScript 中给定正弦、余弦或正切值时计算直角三角形的角度,可以使用反三角函数(Math.asin()、Math.acos()、Math.atan())。这些函数返回以弧度为单位的角度,但您可以通过将结果乘以 (180 / Math.PI) 轻松将其转换为度数。
以下是如何执行此操作的示例:
function calculateAngle(value, ratioType) {
let angleInRadians;
// Determine which inverse trig function to use
if (ratioType === "sin") {
angleInRadians = Math.asin(value);
} else if (ratioType === "cos") {
angleInRadians = Math.acos(value);
} else if (ratioType === "tan") {
angleInRadians = Math.atan(value);
} else {
throw new Error("Invalid ratio type. Use 'sin', 'cos', or 'tan'.");
}
// Convert radians to degrees
const angleInDegrees = angleInRadians * (180 / Math.PI);
return angleInDegrees;
}
// Examples:
console.log(calculateAngle(0.5, "sin")); // Output: 30
console.log(calculateAngle(0.5, "cos")); // Output: 60
console.log(calculateAngle(1, "tan")); // Output: 45