# PointIn **Repository Path**: oi-contrib/PointIn ## Basic Information - **Project Name**: PointIn - **Description**: 计算点是否存在于几何体等中(纯粹的数值计算库) - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-05-25 - **Last Updated**: 2024-06-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # [PointIn](https://github.com/oi-contrib/PointIn) 计算点是否存在于几何体等中(纯粹的数值计算库)
## 如何使用?
首先需要进行安装:
```
npm install --save pointin
```
然后在项目中引入:
```js
import PointIn from 'pointin'
```
当然,你也可以使用CDN的方式:
```html
```
比如用户点击的点坐标是P(x,y),那么直接创建判断对象:
```js
// 参数x,y可选
var pointIn = new PointIn(x, y);
```
点坐标是P(x,y)可以通过下面方法修改(可以调用无数次此方法):
```js
pointIn.setPoint(x, y);
```
不同的图形提供了不同的判断方法,下面列出所有可以使用的API:
### 弧形 Arc
```js
/**
* 判断是否在弧形中
* @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
```js
/**
* 判断是否在圆中
* @param cx 圆心x坐标
* @param cy 圆心y坐标
* @param r 圆的半径
*/
var isIn = pointIn.circle(cx, cy, r);
```
### 多边形 Polygon
```js
/**
* 判断是否在多边形中
* @param points 参数格式:[[x1, y1], [x2, y2], ... ],至少三个点
*/
var isIn = pointIn.polygon(points);
```
### 矩形 Rect
```js
/**
* 判断是否在矩形中
* @param x 可选,区域左上角X坐标
* @param y 可选,区域左上角y坐标
* @param width 可选,区域的宽
* @param height 可选,区域的高
*/
var isIn = pointIn.rect(x, y, width, height);
```
## 版权
MIT License
Copyright (c) [zxl20070701](https://zxl20070701.github.io/notebook/home.html) 走一步,再走一步