繁体   English   中英

在两个CGPoint之间创建弧并沿其获取CGPoint

[英]Create arc between two CGPoints and get CGPoints along it

我想在两点之间的弧线上显示图像。 我有一个开始的CGPoint和一个结束的CGPoint。 我已经看到了使用SceneKit这样的东西的答案,以及其他产生整个拱门和图形的答案。 我只是在常规视图中工作。

我的最终目标是得到这样的结果(字母代表图像):

在此处输入图片说明

我需要知道在哪里设置B&C中心。

let firstLabel = UILabel(frame: CGRectMake(12, 200, 50, 50))
let lastLabel = UILabel(frame: CGRectMake(250, 360, 50, 50))

在这里,您可能需要椭圆形而不是圆形的参数方程式。 看起来像这样:

x = a * cos(t) y = b * sin(t) ,其中0 <= t <=2π

ab是椭圆的半径。 如果我们认为A是(x1,y1)而D是(x2,y2),n-您希望在A和D之间得到的点数(在本示例中为2-B和C),则点计算应如下所示:

let a = x2 - x1
let b = y2 - y1
let angleStep = M_PI_2 / Double(n + 1)
var angle = angleStep
var points: [CGPoint] = []
while angle < M_PI_2 {
    let x = a * CGFloat(cos(angle))
    let y = y2 - b * CGFloat(sin(angle))
    points.append(CGPointMake(x, y))
    angle += angleStep
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM