@behaver/coordinate

A toolkit about coordinate.

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
40May 25, 2019Jun 25, 2018Minified + 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.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.