やってみたこと
円を描くこちらのサイトのアルゴリズムを読んでViewで円が作れないか試してみました。
コードは以下のようになっていて円のようなものはできているのですが、角度がバラバラだったりnanの値が出てきてしまったりと不具合が多い状態です。
class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() createRect(count: 20) } private func createRect(count: Int) { for i in 0...count { let x = CGFloat(100 * cos(360 / Double(i))) let y = CGFloat(100 * sin(360 / Double(i))) if x.isNaN || y.isNaN { continue } print("x:(x), y:(y)") let view = UIView(frame: CGRect(x: self.view.frame.width/2 + x, y: self.view.frame.height/2 + y, width: 10, height: 10)) view.backgroundColor = .orange self.view.addSubview(view) } } }
これをもっと均一な間隔で表示できるようにしたいのですがどうしたらよいでしょうか?
円の一周 360 度を 20 等分したいのであれば、360 / 20 = 18 度ずつずらしていけばいいと思いますけど…。
あと、sin や cos の引数は度ではなくラジアンに変換する必要があります。
あなたの回答
tips
プレビュー