三角函数计算器
输入角度或弧度,一键计算正弦 sin、余弦 cos、正切 tan,也支持反三角函数求角度。tan90° 等未定义点会明确提示,常用特殊角(30°、45°、60°)结果精确。
三角函数是几何与波动的通用语言,但手算时总有几个瞬间卡壳:tan 90° 为什么不存在、sin 30° 到底是 0.5 还是 0.4999、反三角算出来为什么少了半个圆。角度弧度随手切换,正弦余弦正切与反函数都接进来,特殊角给精确值,未定义点明确提示而不是硬算。
口径提醒:角度制与弧度制必须分清——sin(30°) = 0.5,但代码里 Math.sin(30) 算的是 30 弧度(≈ sin(1718.87°));反三角返回主值(asin ∈ [−90°, 90°],acos ∈ [0°, 180°]),第二象限角要手动 π − 结果。
这个工具解决你的问题了吗?
提交后会把工具名、你的输入与当前结果发送到服务器;请勿填写身份证号、手机号等隐私信息。
AI 助手 会结合你当前的输入与结果回答
追问会再次把当前输入与结果发送到服务器;请勿填写隐私信息。
使用步骤
- 输入角度(或切弧度制输入弧度值)。
- 看 sin、cos、tan 三行结果;特殊角给精确值。
- 反三角模式填函数值,求角度(返回主值)。
- tan 90° 等未定义点明确提示,不给近似垃圾值。
计算原理与示例
sin、cos、tan 怎么选
选函数:sin 求对边与斜边之比,cos 求邻边与斜边之比,tan 求对边与邻边之比。输入 30 得 sin30° = 0.5。
角度与弧度切换
单位可切换:度(°)是默认,弧度(rad)常用于高等数学。π/6 弧度 = 30°。
反三角求角度
反三角求角度:已知 sinθ = 0.5,选 asin 输入 0.5,得 θ = 30°。asin/acos 的输入必须在 -1 到 1 之间。
代码示例
JavaScript 角度制换算与特殊角
const rad = (deg) => deg * Math.PI / 180;
const sin = (deg) => Math.sin(rad(deg));
const cos = (deg) => Math.cos(rad(deg));
const tan = (deg) =>
Math.abs(deg % 180) === 90 ? NaN : Math.tan(rad(deg));
sin(30); // 0.49999999999999994(浮点,≈ 0.5)
tan(90); // NaN(未定义,明确提示)
Math.asin(0.5) * 180 / Math.PI; // 30(反三角返回弧度)
Python math 与 cmath
import math
math.sin(math.radians(30)) # 0.49999999999999994
math.tan(math.radians(90)) # 1.633e16(垃圾值!需自行拦截)
# 反三角返回弧度:
math.degrees(math.asin(0.5)) # 30.0
# Python 的 tan(90°) 不报错只给大数,
# 严谨代码必须先判断未定义点
常见问题
为什么 tan 90° 计算不出来?
90° 时余弦 cos90° = 0,正切 = sin÷cos 分母为零,数学上无定义。计算器会提示「超出定义域」而不是给一个错误的巨大数值。
sin 180° 为什么是 0 而不是一串小数?
计算机内部用弧度近似计算,180° 的弧度值本身有微小误差。本工具对绝对值小于 10⁻¹² 的结果直接归零,显示干净的 0。
度数带小数可以吗?
可以。例如 sin(12.5°) ≈ 0.2164,输入框支持任意小数,也可以用负角度(如 -30°)。
三角函数在直角三角形里怎么定义?
sin = 对边 ÷ 斜边,cos = 邻边 ÷ 斜边,tan = 对边 ÷ 邻边。由此可得 tan = sin ÷ cos,以及 sin²θ + cos²θ = 1。算出比值后配合已知一条边,就能求出其他边。
反三角函数的值域是什么?
arcsin 的值域为 [−90°, 90°],arccos 为 [0°, 180°],arctan 为 (−90°, 90°)。所以由比值反求角度时得到的是主值;若实际角度超出该范围,需要结合图形象限人工调整 ±180°。
特殊角的三角函数值是多少?
30°:sin = 0.5、cos = √3/2 ≈ 0.866、tan = √3/3 ≈ 0.577;45°:三者分别为 √2/2 ≈ 0.707、√2/2 ≈ 0.707、1;60°:√3/2 ≈ 0.866、0.5、√3 ≈ 1.732。记熟这三组,考试和工程估算都够用。
为什么 sin 30° 有时显示 0.4999 而不是 0.5?
因为角度要先换算成弧度(30° = π/6 ≈ 0.5236),而 π 是无限不循环小数,取近似值后结果就带极小误差。保留足够有效位时四舍五入即为 0.5,属正常现象而非计算错误。
延伸阅读
来自本站原创文章,讲清这个工具背后的算法与口径。