Создание пути 90 градусов ar c в SceneKit не заполняет все 90 градусов - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь создать клин, который будет занимать выбранный участок круга так, чтобы он представлял собой диаграмму, похожую на ie, до сих пор я приблизился, и хотя из моего кода это выглядело так, как будто создаст 90-градусный клин, он будет немного короче, и я не могу понять, почему . Заранее спасибо!

Мой код ( a - это числитель дроби, а b - знаменатель, n - текущий индекс a для l oop, интегрируемый через b ):

let π = CGFloat.pi
let increment = (2 * π) / CGFloat(b!)
let path = UIBezierPath()
path.flatness = 0
path.move(to: CGPoint.zero)
let start = CGFloat(n) * increment
let end = start + increment
path.addArc(withCenter: CGPoint.zero, radius: currentImageAnchor.referenceImage.physicalSize.width / 2, startAngle: start, endAngle: end, clockwise: true)
path.close()
let wedge = SCNShape(path: path, extrusionDepth: 0.02)
let wedgeMaterial = SCNMaterial()
wedgeMaterial.diffuse.contents = UIColor.red
wedge.materials = [wedgeMaterial]
let wedgeNode = SCNNode(geometry: wedge)
wedgeNode.eulerAngles = SCNVector3(degToRad(deg: 90), 0, 0)
container.addChildNode(wedgeNode)

Фотографии результата:

что должно быть 2/3

что должно быть 1/2

...