normalize-path-scale

WebJar for normalize-path-scale

License

License

MIT
Categories

Categories

ORM Data
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

normalize-path-scale
Last Version

Last Version

2.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

normalize-path-scale
WebJar for normalize-path-scale
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/mattdesl/normalize-path-scale

Download normalize-path-scale

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/normalize-path-scale/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>normalize-path-scale</artifactId>
    <version>2.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/normalize-path-scale/
implementation 'org.webjars.npm:normalize-path-scale:2.0.0'
// https://jarcasting.com/artifacts/org.webjars.npm/normalize-path-scale/
implementation ("org.webjars.npm:normalize-path-scale:2.0.0")
'org.webjars.npm:normalize-path-scale:jar:2.0.0'
<dependency org="org.webjars.npm" name="normalize-path-scale" rev="2.0.0">
  <artifact name="normalize-path-scale" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='normalize-path-scale', version='2.0.0')
)
libraryDependencies += "org.webjars.npm" % "normalize-path-scale" % "2.0.0"
[org.webjars.npm/normalize-path-scale "2.0.0"]

Dependencies

compile (2)

Group / Artifact Type Version
org.webjars.npm : bound-points jar [1.0.0,2)
org.webjars.npm : unlerp jar [1.0.1,2)

Project Modules

There are no modules declared in this project.

normalize-path-scale

stable

Normalizes a 2D path to its bounding box, producing positions that are in the -1.0 ... 1.0 range with correct aspect ratio. For example; to render arbitrary SVG paths in 3D, centred in world units.

This does not produce a copy of the path, but instead mutates it in place.

var path = [ [x1, y1], [x2, y2], ... ]

//normalize path to -1.0 .. 1.0
normalize(path)

//render with webgl / canvas / etc
//...

Usage

NPM

normalize(path[, bounds])

Normalizes the 2D path in place, scaling the points to -1.0 .. 1.0 range. Maintains aspect ratio of the path.

You can specify bounds for a custom bounding box:

[ [minX, minY], [maxX, maxY] ]

Otherwise calculates the bounding box with bound-points.

Returns the specified path.

If the width or height of the bounding box is zero, this function returns early.

Changes

  • 2.0 changes the array in place, uses bound-points, returns early on zero size
  • 1.0 a simple version that does not mutate the input

License

MIT, see LICENSE.md for details.

Versions

Version
2.0.0