天天看點

dotnet OpenXML 測量機關的角度和弧度值

在 OpenXML 中表示的角度和咱日常使用的角度不相同,而在 .NET 裡面的 Math 函數裡面使用的是弧度表示,此時就需要有一些轉換。本文來告訴大家一些概念,讓大家明白角度和弧度的差别

其實在英文語境裡面,可以采用 Angle 和 Radians 和 Degree 分開,不過在中文裡面,咱使用角度代表一切,同時也用角度代表 0-360 度的角度值。而弧度特别指的是 0-2 π 範圍的弧度的值

英文裡面的 Radians 表示的是中文的弧度,也就是 0-2 π 範圍的弧度的值

英文裡面的 Degree 表示的中文特指 0-360° 的角度值

在 OpenXML SDK 裡面,采用的基礎機關是 60000 倍的 Degree 角度值,也就是在擷取到 OpenXML 的 Int32Value 時,擷取數值,除以 60000 就拿到了角度值

将角度 Degree 轉換為弧度,可以采用如下公式

Radians = Degree / 180 * Math.PI;           

複制

在 .NET 裡面的 Math 系列函數,如 Sin 等函數,傳入的參數要求使用的是 Radians 弧度表示

是以在擷取到 OpenXML SDK 的角度值的時候,需要進行兩步轉換才能在 .NET 的 Math 進行轉換,第一步是除以 60000 就拿到了角度值,第二步是将角度轉換為弧度值

更多請看 Office Open XML 的測量機關

關于 OpenXML 的機關,我寫了一個庫用來做轉換,請看 dotnetCampus.OpenXMLUnitConverter

本文會經常更新,請閱讀原文: https://blog.lindexi.com/post/dotnet-OpenXML-%E6%B5%8B%E9%87%8F%E5%8D%95%E4%BD%8D%E7%9A%84%E8%A7%92%E5%BA%A6%E5%92%8C%E5%BC%A7%E5%BA%A6%E5%80%BC.html ,以避免陳舊錯誤知識的誤導,同時有更好的閱讀體驗。

本作品采用 知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協定 進行許可。歡迎轉載、使用、重新釋出,但務必保留文章署名林德熙(包含連結: https://blog.lindexi.com ),不得用于商業目的,基于本文修改後的作品務必以相同的許可釋出。