计算CGPoint从一个地方到另一个地方的距离

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算CGPoint从一个地方到另一个地方的距离相关的知识,希望对你有一定的参考价值。

我有什么方法可以用来计算CGPoint从旧位置到新位置的距离?

var point: CGPoint = CGPointMake(x:50.0, y:50.0)

并且有一种用LMB拖动点的方法:

func mouseDragged(event: NSEvent) {

    var pointDragged = self.convertPoint(event.locationInWindow, fromView: nil)
}

enter image description here

答案

使用Pythagorean theoremmouseLocation = event.mouseLocation(),其中event在你的情况下是NSEvent类型。

let point1: CGPoint = CGPoint(x: 2.0, y: 9.0)
let point2: CGPoint = CGPoint(x: 4.0, y: 13.0)

let xDist = (point1.x - point2.x)
let yDist = (point1.y - point2.y)
let distance = sqrt((xDist * xDist) + (yDist * yDist))

print(distance)

point1将是你的起始位置,你可以获得用户点击的位置 - point2,来自NSEvent函数中的mouseDragged

mouseLocation = event.mouseLocation()
point2 = CGPointMake(mouseLocation.x, mouseLocation.y)

以上是关于计算CGPoint从一个地方到另一个地方的距离的主要内容,如果未能解决你的问题,请参考以下文章

怎么算经纬度和距离呢?

怎么查两个地方的距离?

如何在android应用程序中计算两点之间的距离

如何在android应用程序中计算两点之间的距离

使用Objective-c中的进度条将文件从一个地方复制到另一个地方[重复]

距离,Google Maps v2 上的 gps 不准确