@behaver/coordinate

A toolkit about coordinate.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@behaver/coordinate
433.4.05 years ago6 years agoMinified + gzip package size for @behaver/coordinate in KB

Readme

Coordinate
GitHub license npm version PRs Welcome

简介

Coordinate 组件库可被用于 坐标的变换 和 坐标系统的转换 等。
组件库又分成了两个子库:2D 和 3D,其中 2D 库用于平面坐标的处理,3D 库用于空间坐标的处理。
Coordinate 组件库目前主要支持以下坐标变换操作:
  • 平移
  • 缩放
  • 旋转
  • 手性翻转
  • 系统切换

其中 2d 组件库目前支持以下坐标系统:
  • 直角坐标系(RC)
  • 极坐标系(PC)

3d 组件库目前支持以下坐标系统:
  • 直角坐标系(RC)
  • 柱面坐标系(CC)
  • 球坐标系(SC)

组件

Coordinate 2D 库组件:


Coordinate2D

Coordinate 3D 库组件:


Coordinate3D

用例

使用 npm 安装组件库,在项目目录下执行:
npm install @behaver/coordinate
Coordinate 组件调用:
const { SphericalCoordinate3D, PolarCoordinate2D } = require('@behaver/coordinate');

// 实例化一个球坐标 (10, π / 3, π)
let sc = new SphericalCoordinate3D(10, Math.PI / 3, Math.PI);

当只使用 3D 库中涉及的组件时(2D 库同理),可以使用如下方式调用:
// 3d 库组件调用
const { SphericalCoordinate3D, RectangularCoordinate3D } = require('@behaver/coordinate/3d');

// 2d 库组件调用
const { PolarCoordinate2D, RectangularCoordinate2D } = require('@behaver/coordinate/2d');

使用 SphericalCoordinate3D 组件处理空间球坐标:
let sc = new SphericalCoordinate3D(10, Math.PI / 3, Math.PI);

// 将坐标围绕 x 轴旋转 60°
sc.rotateX(Math.PI / 3);

// 输出球坐标
console.log(sc.r, sc.theta, sc.phi);

// 转换为直角坐标
let rc = sc.toRC();

\用于处理空间直角坐标的 RectangularCoordinate3D 组件 和 用于处理空间柱面坐标的 CylindricalCoordinate3D 组件 的使用方法相同

许可证书

The MIT license.