# 2d-polygon-self-intersections 中文文档

规范地址：https://npmcn.com/package/2d-polygon-self-intersections/

版本：1\.3\.1
npm 元数据更新时间：2022-06-12T14:06:53.560Z
中文译文更新时间：2026-11-05T22:55:40.688Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/2d-polygon-self-intersections
原文对照：https://npmcn.com/package/2d-polygon-self-intersections/?lang=original
项目主页：https://github.com/tmpvar/2d-polygon-self-intersections
源码仓库：https://github.com/tmpvar/2d-polygon-self-intersections

## 关键信息（来自 npm 元数据）

- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：2 个
- 首次发布：2015-05-19T04:16:04.399Z
- 最新版本发布：2015-05-28T00:20:58.804Z
- 近 30 天下载量：10327（2026-10-04 至 2026-11-02，npm 官方下载统计）
- 已发布版本数：9（近 12 个月 0 个）

## 中文简介

这个图书馆也许不快,但很坚固。 在它会找到多边形中的所有自相交集——当然减去共享的端点这一事实中很强.

## 安装

```sh
npm install 2d-polygon-self-intersections
```

也可以使用：`pnpm add 2d-polygon-self-intersections`、`yarn add 2d-polygon-self-intersections`、`bun add 2d-polygon-self-intersections`

## README

# 2d- polygon- 自我界面

在 2d 多边形中找到自接口

这个图书馆也许不快,但很坚固。 在它会找到多边形中的所有自相交集——当然减去共享的端点这一事实中很强.

您可以期待 O( n^2) 的时间复杂性

我们为什么不用 [宾利- 奥特曼](http://en.wikipedia.org/wiki/Bentley%E2%80%93Ottmann_algorithm)我们可能在未来, 但是这需要一些时间 并且有一个功能性机制 检测自我交互 远优于一个没有存在性。 亚庇不会为了这事而改变的.

## 安装

`npm install 2d-polygon-self-intersections`

## 使用情况

```javascript
var isects = require('2d-polygon-self-intersections');

var poly = [
  [0, 0],
  [10, 0],
  [0, 10],
  [10, 10]
];

var r = isects(poly);
console.log(r);
// outputs: [ [ 5, 5 ] ]
```

### api 密码

**昆虫**(单位:千美元)`polygon`\[, `filterFn`)

-   `polygon` - 2个组件阵列(即三角形) `[[0, 0], [10, 0], [10, 10]]`)或一系列对象: `[{x:0, y:0}, {x:10, y:0}, {x:10, y:10}]`
-   `filterFn` - 当发现相交点时调用过滤函数: `filterFn`(单位:千美元)`isect`, (中文(简体) ), `start0`, (中文(简体) ), `end0`, (中文(简体) ), `start1`, (中文(简体) ), `end1`, (中文(简体) ), `unique`(中文(简体) )
-   `isect` - 当前相交点(例如:. `[5, 5]`) - 此数组中的突变被收集
-   `index0` - 段索引(例如: `1`(中文(简体) )
-   `start0` - 第一段开始(例如 `[0, 5]`(中文(简体) )
-   `end0` - 第一段开始(例如 `[10, 5]`(中文(简体) )
-   `index0` - 段索引(例如: `3`(中文(简体) )
-   `start1` - 第一段开始(例如 `[5, 0]`(中文(简体) )
-   `end1` - 第一段开始(例如 `[5, 10]`(中文(简体) )
-   `unique` - 布尔表示这个交叉点是否在以前见过
-   **返回时** `true` 收集 `false` 丢弃

**返回时** 空数组,如果没有截面或包含代表相交点的2个组件数组.

_页:1_:这个库假设多边形是关闭的,所以手动添加起站点,因为起站点没有效果.

也注意到每个过境点有两个交叉点,这个库默认只报告一个——所有交叉点都将是独一无二的. 这种行为可以随着 `filterFn`。 。 。 .

## 许可证

[麻省理工学院](https://npmcn.com/package/2d-polygon-self-intersections/LICENSE.txt)

## 常见问题

### 2d-polygon-self-intersections 是什么？

这个图书馆也许不快,但很坚固。 在它会找到多边形中的所有自相交集——当然减去共享的端点这一事实中很强\.

### 如何安装 2d-polygon-self-intersections？

在项目目录运行 npm install 2d-polygon-self-intersections，或使用 pnpm add / yarn add / bun add。

### 2d-polygon-self-intersections 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/2d-polygon-self-intersections 是否存在。

### 2d-polygon-self-intersections 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### 2d-polygon-self-intersections 可以商用吗？

2d-polygon-self-intersections 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### 2d-polygon-self-intersections 的下载量有多少？

根据 npm 官方下载统计，2d-polygon-self-intersections 在 2026/10/04 – 2026/11/02 这 30 天内被下载 10,327 次，日均约 344 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### 2d-polygon-self-intersections 还在维护吗？

最新版本 1\.3\.1 发布于 2015/05/28（11 年前）；至今共发布 9 个版本，其中过去 12 个月发布了 0 个；首次发布于 2015/05/19。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

