Skip to content

计算点是否存在于几何体等中(纯粹的数值计算库)

License

Notifications You must be signed in to change notification settings

oi-contrib/PointIn

Repository files navigation

计算点是否存在于几何体等中(纯粹的数值计算库)

downloads Version GitHub repo stars

NPM

如何使用?

首先需要进行安装:

npm install --save pointin

然后在项目中引入:

import PointIn from 'pointin'

当然,你也可以使用CDN的方式:

<script src="https://unpkg.com/pointin"></script>

比如用户点击的点坐标是P(x,y),那么直接创建判断对象:

// 参数x,y可选
var pointIn = new PointIn(x, y);

点坐标是P(x,y)可以通过下面方法修改(可以调用无数次此方法):

pointIn.setPoint(x, y);

不同的图形提供了不同的判断方法,下面列出所有可以使用的API:

弧形 Arc

/**
 * 判断是否在弧形中
 * @param cx 圆弧的圆心x坐标
 * @param cy 圆弧的圆心y坐标
 * @param r1 圆弧的内半径
 * @param r2 圆弧的外半径
 * @param beginDeg 开始弧度
 * @param deg 跨越弧度
 */
var isIn = pointIn.arc(cx, cy, r1, r2, beginDeg, deg);

圆 Circle

/**
 * 判断是否在圆中
 * @param cx 圆心x坐标
 * @param cy 圆心y坐标
 * @param r 圆的半径
 */
var isIn = pointIn.circle(cx, cy, r);

多边形 Polygon

/**
 * 判断是否在多边形中
 * @param points 参数格式:[[x1, y1], [x2, y2], ... ],至少三个点
 */
var isIn = pointIn.polygon(points);

矩形 Rect

/**
 * 判断是否在矩形中
 * @param x 可选,区域左上角X坐标
 * @param y 可选,区域左上角y坐标
 * @param width 可选,区域的宽
 * @param height 可选,区域的高
 */
var isIn = pointIn.rect(x, y, width, height);

版权

MIT License

Copyright (c) zxl20070701 走一步,再走一步

About

计算点是否存在于几何体等中(纯粹的数值计算库)

Resources

License

Stars

Watchers

Forks