AuthorTravis Kirton
Tags math, interaction
This example shows the effect of the atan2() function.
atan2()
let result = atan2(value)
To run this example you need to include the MathComparePaths.swift file in your project.
var shapes = [Shape]() override func setup() { let columns = 5 let rows = 5 let dx = canvas.width / Double(columns) let dy = canvas.height / Double(rows) let frame = Rect(0, 0, 50, 16) for x in 0..<columns { for y in 0..<rows { let shape = Rectangle(frame: frame) shape.anchorPoint = Point(0.0, 0.5) shape.interactionEnabled = false let newX = dx * (Double(x) + 0.5) let newY = dy * (Double(y) + 0.5) shape.center = Point(newX, newY) shapes.append(shape) canvas.add(shape) } } canvas.addPanGestureRecognizer { locations, center, translation, velocity, state in for shape in self.shapes { let angle = -1 * atan2(center.y-shape.center.y, center.x-shape.center.x) let transform = Transform.makeRotation(angle) shape.transform = transform } } }