Avatar
omochimetaru 4/24/2020 5:05 PM
public func transform<R: RectProtocol>(_ rect: R) -> [R.PointType] where R.Element: BinaryFloatingPoint { let points: [R.PointType] = [ rect.topLeft, rect.topRight, rect.bottomLeft, rect.bottomRight ] return points.map { (p) in transform(p.toGLKVector().to3(z: 0)).to2().toPoint().to(type: R.PointType.self) } }
5:05 PM
↑恩恵の一つがGLKMAtrix4.swift のこれで (edited)
5:06 PM
Rectを行列で変換すると(直角じゃない場合もあるので) 変換された4つの座標が返ってくるんですが
5:06 PM
CGRectを回転したらCGPointの配列が返ってくるし、 Rectを回転したらPointの配列が返ってくる って機能をひとまとめに実装できている。 (edited)