判断一个坐标点是否在封闭曲线内的方法(swift)
//用playground运行即可
import UIKit var str = "Hello, playground" let lTestPointsOne : [(Double, Double)] = [(,)]
let lTestPoints : [(Double, Double)] = [(,),(,),(,)]
let lPoints : [(Double, Double)] = [(,),(,),(,),(,),(,),(,)] func judgeIf(point:(Double,Double), isIn pointArr:[(Double, Double)])->Bool{
if == pointArr.count {
return false
}
let lPath = UIBezierPath.init()
let l1stPoint = pointArr.first
lPath.move(to: CGPoint.init(x: l1stPoint!., y: l1stPoint!.)) for i in ..<pointArr.count {
let lP = pointArr[i]
lPath.addLine(to: CGPoint.init(x: lP., y: lP.))
} lPath.close()
return lPath.contains(CGPoint.init(x: point., y: point.))
} print(lPoints)
judgeIf(point: (,), isIn: lPoints)
judgeIf(point: (,), isIn: lPoints)
judgeIf(point: (,-), isIn: lPoints)
judgeIf(point: (0.5,), isIn: lPoints)
judgeIf(point: (,), isIn: lPoints)
judgeIf(point: (,), isIn: lPoints)
judgeIf(point: (,0.5), isIn: lPoints)
judgeIf(point: (,1.5), isIn: lPoints)
judgeIf(point: (,), isIn: lPoints)
judgeIf(point: (3.3,8.1), isIn: lPoints) judgeIf(point: (,), isIn: lTestPoints)
judgeIf(point: (,), isIn: lTestPoints)
judgeIf(point: (0.5,0.5), isIn: lTestPoints)
judgeIf(point: (0.5,0.7), isIn: lTestPoints)
judgeIf(point: (0.5,0.1), isIn: lTestPoints)
judgeIf(point: (,), isIn: lTestPoints)
judgeIf(point: (,), isIn: lTestPoints) judgeIf(point: (,), isIn: lTestPointsOne)
judgeIf(point: (,), isIn: lTestPointsOne)
判断一个坐标点是否在封闭曲线内的方法(swift)的更多相关文章
- ORACLE里怎么能判断一个日期类型的字段是否为空,解决方法:is null
ORACLE里怎么能判断一个日期类型的字段是否为空,解决方法:is null,解决方法:判断什么null都可以用is null.
- 判断一个IP地址是否是本局域网内地址
// /// <summary> /// 判断一个IP地址是否是本局域网内地址,是返回true 否则返回false, /// </summa ...
- Spring Data MongDB空间索引(判断一个点Point是否在一个区域Polygon内)
这里要连接MongoDB数据库,在配置文件里:spring.data.mongodb.uri = mongodb://root:root@localhost:27017/happy 两个root分别是 ...
- new.target元属性 | 分别用es5、es6 判断一个函数是否使用new操作符
函数内部有两个方法 [[call]] 和 [[construct]] (箭头函数没有这个方法),当使用new 操作符时, 函数内部调用 [[construct]], 创建一个新实例,this指向这个实 ...
- O2O地图应用之判断用户订单地址是否在服务范围内
O2O地图应用之判断用户订单地址是否在服务范围内 需求分析 在o2o项目中,经常要用到在用户下单时判断用户所填地址的坐标点是否在服务范围内的情况,这里参考网上的实现方式,用C#来实现,经测试后有效,特 ...
- C# 计算地图上某个坐标点的是否在多边形内
这个方法引用自群友的博客 https://www.xiaofengyu.com/?p=143 使用百度地图的时候,常常会用到判断一个点是否在一个多边形的范围内,该方法用到的是射线法, 通过修改Java ...
- Android 判断一个 View 是否可见 getLocalVisibleRect(rect) 与 getGlobalVisibleRect(rect)
Android 判断一个 View 是否可见 getLocalVisibleRect(rect) 与 getGlobalVisibleRect(rect) [TOC] 这两个方法的区别 View.ge ...
- OpenGL判断一个点是否可见
关于OpenGL中判断一个点是否可见,可以分成两种情况讨论:点在2D空间中和3D空间中的时候.并且"在2D空间中"可以看作"在3D空间中"的特殊情况. 温馨提示 ...
- Mysql中判断一个点是否落在多边形内
关于地理空间数据,经常需要处理两个空间数据的关联关系.有很多种方法可以处理,通过编写程序算法,或者是调用数据库中对应的function.在mysql数据库中,https://dev.mysql.com ...
随机推荐
- Numpy 中的聚合操作
# 导包 import numpy as np sum np.random.seed(10) L = np.random.random(100) sum(L) np.sum(L) min np.min ...
- Pandas 分组聚合
# 导入相关库 import numpy as np import pandas as pd 创建数据 index = pd.Index(data=["Tom", "Bo ...
- [考试反思]1024csp-s模拟测试86:消耗
%%%两个没素质的和一个萌两小时AK 最近貌似总是可以比较快速的拿下T1,然后T2打到考试结束... T1是套路题没什么好说的. T2是一个比较蠢的博弈题,我花了很长时间干各种乱七八糟的事 什么打表啊 ...
- 【Java实践】Kettle从一次实验说起
一,安装Kettle 1,关于简易安装Kettle 第一次接触kettle(以前只是听过罢了),摸索了几天,在mac源码安装失败,转而快速安装.在mac上安装最新版kettle并成功启动代码如下: ☁ ...
- C++ 11新标准实现POJ No.1001-Exponentiation
Exponentiation(高精度幂计算)(标签:链表,字符串,快速幂计算) 题目描述 对数值很大.精度很高的数进行高精度计算是一类十分常见的问题.比如,对国债进行计算就是属于这类问题. 现在要你解 ...
- 数组去重(高效率,ES6才支持)
//数组去重 function distinct(arr) { let result = []; let obj = {}; for(let i of arr) { if(!obj[i]) { res ...
- java中的线程安全
在Java中,线程的安全实际上指的是内存的安全,这是由操作系统决定的. 目前主流的操作系统都是多任务的,即多个进程同时运行.为了保证安全,每个进程只能访问分配给自己的内存空间,而不能访问别的.分配给别 ...
- JavaScript闭包使用姿势指南
目录 JavaScript闭包使用姿势指南 引言 闭包的定义 来个有趣的例子吧 现在我们换个例子吧 我们再来个有趣的例子 内存泄露问题 用闭包解决递归调用问题 用闭包模拟私有方法 在循环中使用闭包 性 ...
- oracle基础(基本介绍)
数据库 磁盘上存储的数据的集合 在物理上表现为数据文件.日志文件和控制文件等 在逻辑上以表空间形式存在 必须首先创建数据库,然后才能使用Oracle 数据库实例 每个启动的数据库都对应一个数据库实例, ...
- [LC] 108题 将有序数组转换为二叉搜索树 (建树)
①题目 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1. 示例: 给定有序数组: [-10,- ...