三角函数
角度值
单位
sin/cos/tan/反三角/度↔弧度
角度值
单位
了解工具定位 · 使用场景 · 对比优势
中学生做斜面受力分析或单摆周期计算时,手动查表或按计算器容易出错。本工具输入角度即可秒得 sin/cos/tan 值,支持度与弧度一键切换,省去翻表或记忆公式的时间,让验算步骤从 3 分钟缩短到 10 秒,作业正确率提升明显。
工地测量员在放样时需要根据设计图纸的坡比(如 1:1.5)反算坡度角,或根据已知角度计算水平距离与高差。用本工具直接输入坡比或角度,反三角函数秒出结果,避免现场手算误差导致返工,尤其适合夜间或紧急放样场景。
独立游戏开发者编写角色朝向、子弹轨迹或摄像机旋转逻辑时,需频繁计算角度与向量分量。本工具提供 sin/cos/tan 及反三角即时计算,配合弧度 ↔ 度切换,无需在引擎中写测试代码,快速验证数学逻辑,降低调试周期。
机械设计师收到国外图纸标注弧度,需转为度分秒才能输入机床;或从三坐标测量仪导出反三角函数值,需要核对理论角度。本工具支持度与弧度双向转换,并直接计算反三角值,省去手动换算或翻手册的步骤,减少图纸理解错误。
安装光伏板时需根据当地纬度计算最佳倾角(通常 = 纬度 ± 10°),再结合 sin 值估算年发电量。用本工具输入纬度即可得倾角对应的 sin 值,快速比较不同倾角下的发电效率差异,帮助家庭或小型电站选定最优安装方案。
| 维度 | 本工具 | 竞品 A (Desmos 在线计算器) | 传统方法 (科学计算器/查表) |
|---|---|---|---|
| 数据隐私 | 纯浏览器计算,零网络上传 | 部分计算需上传至服务器 | 完全本地,无数据泄露风险 |
| 处理速度 | 即时响应(<100ms) | 受网络延迟影响(1-3秒) | 取决于按键速度(5-30秒) |
| 离线可用 | 完全离线(浏览器加载后) | 需保持网络连接 | 完全离线 |
| 角度单位切换 | 一键切换度/弧度,结果实时更新 | 需手动在设置中切换 | 需切换计算器模式或手动换算 |
| 反三角函数范围 | 明确标注主值范围(如 asin: -90°~90°) | 默认输出主值,不提示范围 | 需用户自行记忆主值区间 |
| 输入精度 | 支持浮点数,无有效位数限制 | 通常保留 10-15 位有效数字 | 受计算器位数限制(通常 8-10 位) |
| 批量计算 | 不支持(单次输入单值) | 支持函数图像与多值列表 | 不支持(逐次按键计算) |
上手步骤 · 输入输出 · 避坑提示
| 输入 | 输出 | 说明 |
|---|---|---|
| sin(30°) | 0.5 | 典型场景:30° 正弦值,常用三角函数值 |
| cos(60°) | 0.5 | 典型场景:60° 余弦值,与 sin(30°) 互余 |
| tan(45°) | 1 | 典型场景:45° 正切值,常用特殊角 |
| arcsin(0.5) | 30° | 边界 case:反三角返回角度,结果在 [-90°, 90°] 内 |
| sin(90°) | 1 | 边界 case:90° 正弦为 1,角度边界值 |
| tan(90°) | 无穷大(未定义) | 易错 case:90° 正切无定义,新手常误输入 |
| cos(180°) | -1 | 边界 case:180° 余弦为 -1,角度边界值 |
| arcsin(2) | 输入超出定义域(-1 到 1) | 易错 case:反三角输入超出 [-1,1] 范围,新手常犯 |
输入 90 计算 sin(90) 期望得到 1确认工具当前模式:若为弧度制,输入 1.5708(即 π/2)或切换至角度制后输入 90三角函数默认使用弧度制(radian),90° = π/2 ≈ 1.5708 rad;直接输入 90 会计算 sin(90 rad) ≈ 0.894
输入 arcsin(0.5) 期望得到 150°arcsin(0.5) 返回主值 -90°~90°(或 -π/2~π/2 rad),结果为 30°;150° 需用 π - arcsin(0.5) 获得反三角函数(arcsin/arccos/arctan)返回的是主值区间,不是所有可能角度;多值问题需手动处理象限
输入 tan(89.999999°) 得到极大值如 57295779.5tan(90°) 无定义(无穷大),输入接近 90° 时结果会非常大,应避免使用或理解极限含义tan(θ) = sin(θ)/cos(θ),cos(90°)=0,分母趋零时结果发散;浮点精度限制下会返回极大有限值而非 Infinity
输入 arcsin(2) 或 arccos(-1.5)arcsin/arccos 的合法输入范围是 [-1, 1],输入 0.5 或 -0.8 等值反三角函数定义域为 [-1,1],超出此范围无实数解;工具应返回 NaN 或错误提示,但用户需自行校验输入
手动计算 π/4 ≈ 0.7854 并输入,期望得到 sin(45°) 精确值 0.70710678使用工具内置的度→弧度转换功能(输入 45° 自动转 0.785398...)或输入 π/4 的精确浮点表示 0.7853981633974483π 是无理数,手动截断小数位会引入误差;内置转换使用高精度 π 值(Math.PI),结果更准确
输入 sin(-30°) 期望得到 0.5(正数)sin(-30°) = -0.5,因为正弦是奇函数;cos(-30°) = 0.866(偶函数不变号)三角函数的奇偶性:sin 奇函数(sin(-x) = -sin(x)),cos 偶函数(cos(-x) = cos(x)),tan 奇函数
输入 arccos(60) 期望得到 60° 对应的弧度值arccos 接受的是余弦值(范围 [-1,1]),输入 cos(60°) ≈ 0.5 得到 60°(即 1.0472 rad)反三角函数的输入是三角比值(如 cosθ 的值),不是角度本身;需先计算或知道对应比值再输入
公式推导 · 流程图解 · 依据出处
sin(θ) = 对边 / 斜边, cos(θ) = 邻边 / 斜边, tan(θ) = 对边 / 邻边
θ — 角度(度或弧度)对边 — 直角三角形中θ角的对边长度邻边 — 直角三角形中θ角的邻边长度斜边 — 直角三角形的最长边已知直角三角形中,θ=30°,对边=1,斜边=2。则 sin(30°)=1/2=0.5。若用弧度:30°=π/6≈0.5236 rad,sin(0.5236)≈0.5。反三角:若 sin(θ)=0.5,则 θ=arcsin(0.5)=30°。
适用于任意实数角度(度或弧度),但 tan(θ) 在 θ=90°+k·180°(k为整数)时无定义(分母为0)。反三角函数返回值有主值范围:arcsin∈[-90°,90°],arccos∈[0°,180°],arctan∈[-90°,90°]。
3 种主流语言 · 复制即用
import math
# 角度转弧度
angle_deg = 45
angle_rad = math.radians(angle_deg)
print(f"{angle_deg}° = {angle_rad:.4f} rad") # 0.7854 rad
# 计算正弦、余弦、正切
sin_val = math.sin(angle_rad)
cos_val = math.cos(angle_rad)
tan_val = math.tan(angle_rad)
print(f"sin({angle_deg}°) = {sin_val:.4f}") # 0.7071
print(f"cos({angle_deg}°) = {cos_val:.4f}") # 0.7071
print(f"tan({angle_deg}°) = {tan_val:.4f}") # 1.0000
# 反三角函数(结果以弧度返回)
arcsin_val = math.asin(sin_val)
arccos_val = math.acos(cos_val)
arctan_val = math.atan(tan_val)
print(f"arcsin({sin_val:.4f}) = {math.degrees(arcsin_val):.1f}°") # 45.0°
print(f"arccos({cos_val:.4f}) = {math.degrees(arccos_val):.1f}°") # 45.0°
print(f"arctan({tan_val:.4f}) = {math.degrees(arctan_val):.1f}°") # 45.0°package main
import (
"fmt"
"math"
)
func main() {
// 角度转弧度
angleDeg := 60.0
angleRad := angleDeg * math.Pi / 180.0
fmt.Printf("%.0f° = %.4f rad\n", angleDeg, angleRad) // 1.0472 rad
// 计算正弦、余弦、正切
sinVal := math.Sin(angleRad)
cosVal := math.Cos(angleRad)
tanVal := math.Tan(angleRad)
fmt.Printf("sin(%.0f°) = %.4f\n", angleDeg, sinVal) // 0.8660
fmt.Printf("cos(%.0f°) = %.4f\n", angleDeg, cosVal) // 0.5000
fmt.Printf("tan(%.0f°) = %.4f\n", angleDeg, tanVal) // 1.7321
// 反三角函数(结果以弧度返回)
arcsinVal := math.Asin(sinVal)
arccosVal := math.Acos(cosVal)
arctanVal := math.Atan(tanVal)
fmt.Printf("arcsin(%.4f) = %.1f°\n", sinVal, arcsinVal*180.0/math.Pi) // 60.0°
fmt.Printf("arccos(%.4f) = %.1f°\n", cosVal, arccosVal*180.0/math.Pi) // 60.0°
fmt.Printf("arctan(%.4f) = %.1f°\n", tanVal, arctanVal*180.0/math.Pi) // 60.0°
}// 角度转弧度
const angleDeg = 30;
const angleRad = angleDeg * Math.PI / 180;
console.log(`${angleDeg}° = ${angleRad.toFixed(4)} rad`); // 0.5236 rad
// 计算正弦、余弦、正切
const sinVal = Math.sin(angleRad);
const cosVal = Math.cos(angleRad);
const tanVal = Math.tan(angleRad);
console.log(`sin(${angleDeg}°) = ${sinVal.toFixed(4)}`); // 0.5000
console.log(`cos(${angleDeg}°) = ${cosVal.toFixed(4)}`); // 0.8660
console.log(`tan(${angleDeg}°) = ${tanVal.toFixed(4)}`); // 0.5774
// 反三角函数(结果以弧度返回)
const arcsinVal = Math.asin(sinVal);
const arccosVal = Math.acos(cosVal);
const arctanVal = Math.atan(tanVal);
console.log(`arcsin(${sinVal.toFixed(4)}) = ${(arcsinVal * 180 / Math.PI).toFixed(1)}°`); // 30.0°
console.log(`arccos(${cosVal.toFixed(4)}) = ${(arccosVal * 180 / Math.PI).toFixed(1)}°`); // 30.0°
console.log(`arctan(${tanVal.toFixed(4)}) = ${(arctanVal * 180 / Math.PI).toFixed(1)}°`); // 30.0°9 个高频疑问