首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

三角函數求角度:根據坐標點計算夾角 (C#/通用數學)

     編輯:程式設計疑難解答

幾何模型

已知三角形三頂點坐標 (或兩向量),求某角度 θ。
設邊長 a(對邊)、b(鄰邊)、c(斜邊/向量模)。

公式

  • `sin θ = a / c`
  • `cos θ = b / c`
  • `tan θ = a / b`
  • `θ = arcsin(a/c)` 或 `arccos(b/c)` 或 `arctan(a/b)` (推薦 `atan2(a,b)` 自動處理象限)。

坐標計算邊長

兩點 `P1(x1,y1)`, `P2(x2,y2)` 距離 `d = sqrt((x2-x1)^2 + (y2-y1)^2)`。
向量夾角:`cos θ = (v1·v2) / (|v1||v2|)`。

C# 代碼示例

double angle = Math.Atan2(y, x); // 返回弧度 [-π, π]
double degree = angle * 180 / Math.PI; // 轉角度

注意

  • `Math.Atan2(y, x)` 參數順序:y 先、x 後。
  • 浮點精度問題,比較角度時允許微小誤差。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved