Swift 从一个圆的中心到另一个圆的边缘画一条线。

问题描述 投票:0回答:1

我试图在swift中绘制一个UIBezierPath,在那里我可以让它从一个圆的中心到另一个圆的中心,但我真正想要的是线在圆的边缘停止,但如果线继续到圆的中心,而不是在边缘停止,则线会与圆的边缘相交。

我需要以某种方式计算线和圆之间的交点。当圆是UIImageViews,宽度和高度为30(所以半径为15),我现在是两个圆的中心坐标,我如何能够做到这一点。

UIBezierPath (Line) going from center of one circle to edge of the other circle.

swift uiimageview uibezierpath
1个回答
0
投票

我已经找到了一个解决方案。

从x和y(圆心)的集合,从现在开始称为(x,y)和(x2,y2)一个矢量可以做(x2 - x,y2 - y),其中x2 - x我将称为a,y2 - y我将称为b,然后矢量的距离可以计算为sqrt(a^2 + b^2),其中i的结果将称为dist。

从这里可以得到一个单位向量是(adist, bdist),现在我需要做的就是得到我的新的箭头坐标是(x,y)作为起始坐标和(x2 + r)。adist,y2+rbdist)为端点坐标,其中r为圆的半径在(x2,y2)处。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.