Calculate the catenary between two points
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
test
.babelrc
.gitignore
.npmrc
LICENSE
README.md
package.json

README.md

Catenary Curve - Calculate the ideal catenary between two points

Given two points and a length, this library will calculate and draw the catenary between two points, the "correct" way, so that it behaves natural (technically).

How to use

import { Catenary, Point } from 'catenary-curve'

// This is optional, you can also use a simple { x: 200, y: 300 } object.
let p1 = new Point(200, 300)
let p2 = new Point(250, 400)

let chain = new Catenary({
  segments: 50,
  iterationLimit: 100
})

const context = canvas.getContext('2d')

// The drawToCanvas function will only call the actual draw function (moveTo,
// lineTo, quadraticCurveTo), so you have to call beginPath() and stroke()
// yourself.
context.beginPath()
context.lineWidth = 1
context.strokeStyle = 'black'
chain.drawToCanvas(context, p1, p2, 500)
context.stroke()

Acknowledgement

The basis of this library is an ActionScript by poiasd, originally released on wonderfl.net, archived and preserved at http://wa.zozuar.org/code.php?c=8Bnl.

Unfortunately I wasn't able to find out who the original author was and ask them if and how they want to be mentioned/linked.