三角函数

sin/cos/tan/反三角/度↔弧度

426 次访问

三角函数

角度值

单位

关于本工具

了解工具定位 · 使用场景 · 对比优势

使用场景

🎓

物理题快速验算

中学生做斜面受力分析或单摆周期计算时,手动查表或按计算器容易出错。本工具输入角度即可秒得 sin/cos/tan 值,支持度与弧度一键切换,省去翻表或记忆公式的时间,让验算步骤从 3 分钟缩短到 10 秒,作业正确率提升明显。

🏗️

施工放样角度计算

工地测量员在放样时需要根据设计图纸的坡比(如 1:1.5)反算坡度角,或根据已知角度计算水平距离与高差。用本工具直接输入坡比或角度,反三角函数秒出结果,避免现场手算误差导致返工,尤其适合夜间或紧急放样场景。

🖥️

游戏开发向量运算

独立游戏开发者编写角色朝向、子弹轨迹或摄像机旋转逻辑时,需频繁计算角度与向量分量。本工具提供 sin/cos/tan 及反三角即时计算,配合弧度 ↔ 度切换,无需在引擎中写测试代码,快速验证数学逻辑,降低调试周期。

📐

CAD 图纸角度换算

机械设计师收到国外图纸标注弧度,需转为度分秒才能输入机床;或从三坐标测量仪导出反三角函数值,需要核对理论角度。本工具支持度与弧度双向转换,并直接计算反三角值,省去手动换算或翻手册的步骤,减少图纸理解错误。

🌞

太阳能板倾角优化

安装光伏板时需根据当地纬度计算最佳倾角(通常 = 纬度 ± 10°),再结合 sin 值估算年发电量。用本工具输入纬度即可得倾角对应的 sin 值,快速比较不同倾角下的发电效率差异,帮助家庭或小型电站选定最优安装方案。

对比矩阵本工具 vs 竞品 vs 传统方法

维度本工具竞品 A (Desmos 在线计算器)传统方法 (科学计算器/查表)
数据隐私纯浏览器计算,零网络上传部分计算需上传至服务器完全本地,无数据泄露风险
处理速度即时响应(<100ms)受网络延迟影响(1-3秒)取决于按键速度(5-30秒)
离线可用完全离线(浏览器加载后)需保持网络连接完全离线
角度单位切换一键切换度/弧度,结果实时更新需手动在设置中切换需切换计算器模式或手动换算
反三角函数范围明确标注主值范围(如 asin: -90°~90°)默认输出主值,不提示范围需用户自行记忆主值区间
输入精度支持浮点数,无有效位数限制通常保留 10-15 位有效数字受计算器位数限制(通常 8-10 位)
批量计算不支持(单次输入单值)支持函数图像与多值列表不支持(逐次按键计算)

使用指南

上手步骤 · 输入输出 · 避坑提示

输入输出示例8 个典型场景,覆盖常规、边界与易错

输入输出说明
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] 范围,新手常犯

常见错误对照7 个常踩的坑 · 错误 → 修复

1. 角度制与弧度制混淆

错误
输入 90 计算 sin(90) 期望得到 1
修复
确认工具当前模式:若为弧度制,输入 1.5708(即 π/2)或切换至角度制后输入 90

三角函数默认使用弧度制(radian),90° = π/2 ≈ 1.5708 rad;直接输入 90 会计算 sin(90 rad) ≈ 0.894

2. 反三角函数返回值范围理解错误

错误
输入 arcsin(0.5) 期望得到 150°
修复
arcsin(0.5) 返回主值 -90°~90°(或 -π/2~π/2 rad),结果为 30°;150° 需用 π - arcsin(0.5) 获得

反三角函数(arcsin/arccos/arctan)返回的是主值区间,不是所有可能角度;多值问题需手动处理象限

3. tan 在 90° 附近输入过大角度

错误
输入 tan(89.999999°) 得到极大值如 57295779.5
修复
tan(90°) 无定义(无穷大),输入接近 90° 时结果会非常大,应避免使用或理解极限含义

tan(θ) = sin(θ)/cos(θ),cos(90°)=0,分母趋零时结果发散;浮点精度限制下会返回极大有限值而非 Infinity

4. 反三角函数输入超出定义域

错误
输入 arcsin(2) 或 arccos(-1.5)
修复
arcsin/arccos 的合法输入范围是 [-1, 1],输入 0.5 或 -0.8 等值

反三角函数定义域为 [-1,1],超出此范围无实数解;工具应返回 NaN 或错误提示,但用户需自行校验输入

5. 度↔弧度转换时丢失精度

错误
手动计算 π/4 ≈ 0.7854 并输入,期望得到 sin(45°) 精确值 0.70710678
修复
使用工具内置的度→弧度转换功能(输入 45° 自动转 0.785398...)或输入 π/4 的精确浮点表示 0.7853981633974483

π 是无理数,手动截断小数位会引入误差;内置转换使用高精度 π 值(Math.PI),结果更准确

6. 对负角度符号处理不一致

错误
输入 sin(-30°) 期望得到 0.5(正数)
修复
sin(-30°) = -0.5,因为正弦是奇函数;cos(-30°) = 0.866(偶函数不变号)

三角函数的奇偶性:sin 奇函数(sin(-x) = -sin(x)),cos 偶函数(cos(-x) = cos(x)),tan 奇函数

7. 把角度值直接当弧度输入反三角函数

错误
输入 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°]。

原理图

选择函数sin / cos / tan / 反三角输入数值角度 / 弧度 / 比值浏览器内计算Math.sin / cos / tan / asin / acos / atan展示结果数值 / 单位标注度 ↔ 弧度 自动转换输入角度时自动转为弧度(× π / 180),输入弧度时自动转为角度(× 180 / π)支持反三角函数结果以度或弧度显示
用户输入 本地处理 输出结果

开发者集成

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 个高频疑问

这个三角函数计算器怎么用?我输入角度后点哪个按钮?
页面直接提供数值输入框和选择菜单。先输入角度或弧度数值(支持小数,如 30.5),然后在「函数」下拉列表中选择 sin / cos / tan / 反三角函数(如 asin、acos、atan),最后点击「计算」按钮。结果区会显示计算值。如果需要转换角度与弧度,切换下方的「度↔弧度」模式,输入数值后自动换算。整个过程无需刷新页面,即时出结果。
为什么我输入 90 度算 tan 显示无穷大?是不是算错了?
没有算错。tan(90°) 在数学上定义为 sin(90°)/cos(90°),而 cos(90°)=0,除数不能为零,所以结果趋向无穷大。本工具遵循标准数学定义,当分母为零时显示「Infinity」或「∞」。实际应用中,工程计算通常避开 90° 奇数倍(如 90°、270°)取近似值。如果需要计算接近 90° 的值,可以输入 89.9999° 得到极大但有限的数值。
算出来的 sin 值后面好多位小数,怎么只保留几位?
当前版本结果默认显示完整双精度浮点数(约 15-16 位有效数字)。如果需要保留特定位数,可以手动复制结果到外部工具四舍五入。如果常用固定精度(如保留 4 位小数),建议在输入框手动将数值四舍五入后再计算——例如 sin(30°) 精确值为 0.5,直接显示 0.5;sin(45°) ≈ 0.70710678,可以自行取 0.7071。后续版本可能加入精度选项。
这个工具能算反三角函数吗?比如已知 sin 值求角度。
可以。在函数下拉列表中选择 asin(反正弦)、acos(反余弦)或 atan(反正切),在输入框里输入 -1 到 1 之间的数值(asin/acos 的合法输入范围),点击计算即可得到弧度值。如果需要角度值,先算完后再用「度↔弧度」转换功能换算。注意反三角函数返回值有主值范围限制:asin/atan 返回 [-π/2, π/2],acos 返回 [0, π]。
我输入 30 度算 sin 是 0.5,但书上写的是 0.4999…,哪个对?
两种都对,取决于计算精度和角度单位。本工具默认使用弧度制,如果输入 30 但未切换成「度」模式,实际计算的是 sin(30 弧度) ≈ -0.988,不是 0.5。请确认输入框旁边的单位选择是否为「度」。如果已选「度」且输入 30,结果 0.5 是精确值(sin30°=1/2)。书中出现 0.4999… 可能是早期计算器用有限位小数近似或四舍五入所致。
这个工具计算三角函数的速度好快,数据是实时算的还是查表的?
实时计算,不查表。所有三角函数运算直接在浏览器内通过 JavaScript 的 Math 库完成,使用 IEEE 754 双精度浮点数标准,精度约 15-16 位有效数字。因为不依赖网络请求,也没有服务端处理,所以点击即出结果。如果断网或关闭页面,所有数据立即清除,不留下任何缓存记录。
我可以用它算 sinh、cosh 双曲函数吗?页面没看到选项。
当前版本仅支持基本三角函数(sin/cos/tan)及其反函数(asin/acos/atan),以及度与弧度之间的换算。双曲函数(sinh/cosh/tanh)不在功能范围内。如果需要双曲函数,建议使用科学计算器类工具。本工具定位为轻量级三角函数专用计算器,未来是否扩展取决于用户反馈。
输入负数角度或大于 360° 的角度能算吗?会不会报错?
可以算,不会报错。三角函数具有周期性,例如 sin(390°) = sin(30°) = 0.5,cos(-60°) = cos(300°) = 0.5。本工具自动处理周期归约:任何实数角度(包括负数、大于 360° 的角)都会被转换为 [0, 2π) 或 [-π, π] 范围内的等价角度后再计算。输入值没有上下限限制,但过大的数值(如 1e15)可能因浮点数精度损失导致结果偏差。
为什么我按计算器上的 sin 键和这个工具算出来不一样?
最常见的原因是角度单位设置不同。计算器通常有 DEG(度)、RAD(弧度)、GRAD(百分度)三种模式,默认可能是 DEG。本工具默认使用弧度制,需要手动切换到「度」模式才能与计算器的 DEG 模式结果一致。另一个可能原因:某些计算器在输入 30 后直接按 sin 等价于 sin(30°),而本工具需要先选函数再点计算。请检查单位选择和操作顺序。
选择 打开 +新窗口 esc关闭