【iOS】Swiftでtransformから角度、ラジアン、ディグリー、スケールを求める
メモ Swift 4 でtransformから角度、ラジアン、ディグリー、スケールを求める 忘れがちなので・・・。 let transform = view.transform let radians = atan2(transform.b, transform.a) let degrees = radians * 180 / .pi let scale = sqrt(abs(transform.a * transform.d - transform.b * transform.c)) import CoreGraphics extension CGAffineTransform { var angle: CGFloat { return atan2(b, a) } var radians: CGFloat { return angle } var degrees: CGFloat { return angle * 180.0 / CGFloat.pi } var scale: CGPoint { return CGPoint(x: sqrt(a * a + c * c), y: sqrt(b * b + d * d)) } } // 例として、適当な CGAffineTransform を作成 let transform = CGAffineTransform(rotationAngle: CGFloat.pi/4).scaledBy(x: 2.0, y: 1.5) let angleInRadians = transform.radians let angleInDegrees = transform.degrees let scale = transform.scale print("Angle in radians: \(angleInRadians)") print("Angle in degrees: \(angleInDegrees)") print("Scale: \(sca
コメント
コメントを投稿