DLAngle 1.0.1

DLAngle 1.0.1

David Livadaru 维护。



DLAngle 1.0.1

  • 作者
  • David Livadaru

DLAngle Logo

Carthage compatible CocoaPods compatible Swift Package Manager Swift 4.0

提供对数学角度的抽象。因为角度是一种类型,以下错误不是可能的,或者会被在编译时捕获:

  • 将度数角度与弧度角度相加或相减
  • 将度数角度传递给标准库中的三角函数

支持方便的初始化器、运算符和函数,以实现自然、快速和高效的 workflow。

目录

用法

导入模块

您可以使用以下方式导入此模块

import DLAngle

创建

let degree = Degree(rawValue: 90.0)
let zeroDegrees = Degree()
let radian = Radian(rawValue: Double.pi / 2)
let zeroRadians = Radian()

角度与弧度之间的转换

从度数转换为弧度

let degree = Degree(rawValue: 90.0)
let radian = Radian(degree: degree)

从弧度转换为度数

let radian = Radian(rawValue: Double.pi)
let degree = Degree(radian: radian)

基本运算

加法

let radian = Radian(degrees: 90.0)
radian += Radian(degress: 45.0)
// radian.rawValue = 3 * Double.pi / 4

减法

var degrees = Degree(radians: Double.pi / 2)
degrees = degrees - Degree(radians: Double.pi / 6)
// degrees.rawValue = 60.0

乘法

let half = Radian(rawValue: Double.pi / 2)
let pi = one * 2 
// '2 * one' works as well

除法

let pi = Radian(rawValue: Double.pi)
let sixtyDegreesRadian = one / 3 
// '1 / pi' works as well

规范化

let degree = Degree(rawValue: 750.0)
degree.normalize()
// degree.rawValue = 30.0
let angle1 = Radian(rawvalue: 7 * Double.pi)
let angle2 = angle1.normalized()
// angle2.rawValue = Double.pi

等式

let angle1 = Radian(rawValue: Double.pi)
let angle2 = Radian(degrees: 180.0)
angle1 == angle2 // true

比较

let angle1 = Radian(rawValue: Double.pi)
let angle2 = Radian(degrees: 90.0)
angle1 < angle2 // false

基础测量转换

let angleMeasurement = Measurement<UnitAngle>(value: 45.0, unit: .degrees)
let radian = Radian(measurement: angleMeasurement)
radian.measurement // Measurement<UnitAngle>(value: Double.pi / 4, unit: .radians)
let degrees = Degrees(measurement: angleMeasurement)
degrees.measurement // Measurement<UnitAngle>(value: 45.0, unit: .degrees)

反正切三角函数

通过 Radian 类型的便捷构造函数提供逆函数。

do {
   let angle = try Radian(acos: -1.0)
} catch {
   // handle error
}

三角函数

let angle = Radian(degrees: 45.0)
if let sin: Double = try? angle.sin() {
   // use computed sine value
}

常数

常用的弧度角度都有相应的常数

let pi = Radian.pi
let half_quadrant_II = Radian.pi_2 + Radian.pi_4

安装

支持的操作系统

  • macOS 10.12 及以上版本
  • iOS 10.0 及以上版本
  • watchOS 3.0 及以上版本
  • tvOS 10.0 及以上版本
  • Ubuntu - 请查看 官方网站 以查找支持 Swift 4.0 的版本。

1. Carthage

github "davidlivadaru/DLAngle"

如果您只为单个操作系统需要框架,那么我建议在执行 carthage update 时使用 --platform [iOS|macOS|watchOS|tvOS] 指定器。

2. CocoaPods

在您的 Podfile 中添加依赖。

pod 'DLAngle'

3. Swift 包管理器

在您的 Package.swift 中添加以下依赖项:

dependencies: [
    .package(url: "https://github.com/davidlivadaru/DLAngle.git", .upToNextMajor(from: "1.0.0"))
]

并更新目标依赖项

targets: [
        .target(
            name: "YourTargetName",
            dependencies: ["DLAngle"])),
    ]

贡献

模块受到单元测试的覆盖,但是总是会有错误溜走。如果您在模块中找到一个错误,请创建一个 问题

如果您想修复错误或实现新功能,请创建一个 pull request(拉取请求)

许可证

DLAngle 根据 MIT 许可证发布。有关详细信息,请参阅 LICENSE